ITの隊長のブログ

ITの隊長のブログです。Pythonを使って仕事しています。最近は機械学習をさわりはじめたお(^ω^ = ^ω^)

初心に返りましょう

仕事ミスりました。

技術系は失敗しても取り戻せることが多いですが、いかんせん営業系は中々難しい。人の初見って大事だと思ってて、自分も一度ついたイメージは中々取ることができない。

そんな感じでやってしまった。一緒のメンバーにも迷惑をかけてしまったと思う。いや、かけた。。。つらい

相方に励ましてもらいなんとか復帰できているが、一生恥ずかしい思い出としてついてまわるんだろうな。

失敗したという経験は得たので、ジャンプの主人公ほどではないですが、切り替えて前向きに分析していこうと思った。

  • 話盛るならちゃんと準備してきな
  • アドリブが苦手な人間とわかっているのでやっぱり準備しましょう
  • 話は落ち着いて話しましょう
  • 相手への質問も用意してきましょう

とりあえずはこの4点ですね。はい。頑張ります。

Sphinxでインラインコードサンプル(?)

なんてよぶかわからんが、こんなやつ => text

Sphinxのドキュメント読むとバッククオート2つで囲めばいいらしい.

ほげほげ``text``ですね。

こう書いたら、表示もされないしワーニングも発生.

WARNING: Inline interpreted text or phrase reference start-string without end-string.

ほげほげ ``text`` ですね。

隙間を空けてあげるとwarningがなくなった.これでよし.

モジュール`google-cloud`をインストールしたらエラー

googlecloudplatform.github.io

$ pip install google-cloud
# ...
      File "/Users/user/.pyenv/versions/3.6.1/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2120, in _rebuild_mod_path
        orig_path.sort(key=position_in_sys_path)
    AttributeError: '_NamespacePath' object has no attribute 'sort'

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/rg/wlw0421d37l58kw3740k_t080000gn/T/pip-build-4u4zcodk/googleapis-common-protos/

(´・ω・`)

ぐぐったら答えが

github.com

$ pip install --upgrade pip setuptools

これでおkでした。ε- (´ー`*)

手を動かすべき【マンガでわかる線形代数】読書ログ2日目

読んでる。

マンガでわかる線形代数

マンガでわかる線形代数

図にするの面倒なのでnumpyでやる。(numpyだったらわかるんだけどな…)

>>> import numpy as np
>>> a = np.array([[1, 2], [3,4]])
>>> a
array([[1, 2],
       [3, 4]])
>>> b = np.array([[4, 5], [7, 5]])
>>> b
array([[4, 5],
       [7, 5]])

行列の行数と列数が等しい行列はn次正方行列と呼ばれる

>>> a = np.ones([5, 5])
>>> a.shape
(5, 5)
>>> a
array([[ 1.,  1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.,  1.],
       [ 1.,  1.,  1.,  1.,  1.]])

行列の和は成分通しの足し算

>>> a + b
array([[ 5,  7],
       [10,  9]])

行列の差は成分通しの引き算

>>> a - b
array([[-3, -3],
       [-4, -1]])

スカラー倍は成分に掛け算すればいい

>>> a * 10
array([[10, 20],
       [30, 40]])

正直面倒。これは計算がパッと浮かぶようになるまで手を動かしたほうが良い(プログラムじゃなくて紙とペンで計算の流れを書くってこと)

>>> np.dot(a, b)
array([[18, 15],
       [40, 35]])

通常の掛け算とは違い、左右の値を入れ替えると答えは一致しない

>>> np.dot(b, a)
array([[19, 28],
       [22, 34]])

また、積はmxn行列はnxp行列のように左側の行列の列数と右側の行列の行数が等しくなければ計算できない

>>> a.shape
(2, 2)   # 行数2 列数2
>>> c = np.array([1, 2, 3])
>>> c.shape
(3,)  # 行数3 列数1
>>> np.dot(a, c)  # 計算できないのでエラー
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: shapes (2,2) and (3,) not aligned: 2 (dim 1) != 3 (dim 0)

漫画は楽しい(違うそうじゃない)【マンガでわかる線形代数】読書ログ1日目

線形代数ってなんでしょうか? 数学赤点マンには一生わからない・出会わないジャンルだと思っていましたが、さすがに仕事で使うものでわからないはまずいかなと思って、勉強しようと思いました。

で、オススメされた本がこちら。

マンガでわかる線形代数

マンガでわかる線形代数

まだ読んでいる途中ですが、ログ残し。

  • 女の子がかわいい(違
  • まだ線形代数ってなんの話なのかよくわかっていない
  • 全射単射全単射がよくわからん
    • 図みたらわかりそうだけど、わからん
    • これは要復習
  • 写像という意味はわかった。「集合Xの元であるxに集合Yの元である2x-1を対応させる」という規則のこと
  • 行列ななんとなく理解。逆行列の4次正方行列は一生出会いたくない
  • ベクトルで無事死亡(中)

今理解が止まっている点は、手を動かしながら再確認したほうがいいんだろうなって思っているのでそうする。めんどくさ。。。いけど、わからないほうが辛いのでやります。

実はこの本の前に下の本も読んでいました。

プログラミングのための線形代数

プログラミングのための線形代数

こっちは眠くて眠くて仕方がない。いい本だとは思いますが、数字苦手マンにはまだちょっとキツイ….(すみません

でも、この本の序盤がんばっていた内容を今読んでいるマンガでちょっとずつ紐付いている感じです。

最近いっぱい本購入したのでこのままモチベ高くして引き続き読む。