20代会社員のつぶやき

会社員(26歳)です。いろいろモチベーション保つために記事を書きたいと思います。

Python独学記録(3) リストの計算速度について

Pythonの独学を進めています。

Datacampは機械学習領域に少し踏み込み始めました。

Scikit-learnを少しやり始めているくらいですが、、、。

 

Datacampは独学者には良いのですが、わからない状態でもなんとなく次に進んでしまうのが難しいところ、、、。

こればかりはコードが書ける友人に聞いたり添削してもらうのが良いのでしょうが、

なかなかそういった友人もおらず、本当に独学になってしまっています。

 

最近機械学習に入る前に、データ処理や計算もしてみようと思い、自分の仕事に関係のある計算を行っています。

そこで気づきましたが、「関数を作ってfor文→appendで計算結果をリストに追加する」

という一般的な方法は非常に計算が遅い!

 

ネットで調べると、どうやらnumpyの行列を使ってしまうのが速いらしく。

書いてみましたが、意外と一律で行列(一次元なのでリストと同じように使用)に値を掛けたりせず、

一部を掛けたりするのにかける数字も行列表記すると良いことがわかりました。

 

例えば、かける数字も

indexes_e = np.ones(N) * -0.25

書けるものをこのように行列表記したり。ちなみに-0.25を掛けているのは割り算より計算が速いそうなのでこの表記です。

 

まだまだ先は長いですが、numpy、matplotlibと戯れる日々を過ごしてみます。

 

中小企業診断士二次試験まだやってませんが、一体間に合うのか…?

 

二足のわらじですが、頑張ります。