コミュ障だから明日が僕らをよんだって返事もろくにしなかった

何かを創る人に憧れたからブログをはじめたんだと思うよ

とつじょムラムラしてМашинное обучениеやりたくなった

そういうのあると思います

はい、どうも僕です。夏ですね、暑いですね。こうもあついとやってられないですね。ムラムラしてきます(?)。そんなわけで、本日は突如としてタイトルにあることをやりたくなってしまったので以下のやつに手を出していこうと思います。

【連載】Pythonで学ぶ 基礎からの機械学習入門 | マイナビニュース
ざっくり読んだ感じだと「scikit-learn(sklearn)」使った事例あるので、ちょっとこれ消化してみようと思う。

参考:scikit-learn
scikit-learn: machine learning in Python — scikit-learn 0.21.3 documentation


その昔、月末やっているアクセス報告とかいうやつに応用させたいなって思いでちょっとかじってたんだけど、あれ現状単変量のデータしかないからこういうのできなくてずっと放置してんですよね。はてなスターとの関係とかそういうのやればまた変わるのかもしれんけど見るからに相関ないしね……。面白くない。んで、そう考えていた時にこれ見つけて軽く触るのにちょうどよさげな資料だったんでいじってみる。

きかいがくしゅうをかじってみた

自分とこの環境
Python 3.7.3
・Anaconda3 2019.03

ぶっちゃけインストールしなくてもこれで良い気がしなくもない……
秒ではじまる機械学習環境構築 - コミュ障だから明日が僕らをよんだって返事もろくにしなかった


■ とりあえずの詰みポイント
元の情報が古いのでバージョンを無理やりあげて確認すると何かしら修正点でますね……。

#model1.predict(4000)
model1.predict([[4000]])

array([5688.61054834])

ここがうまくいかなかったんですけど、predict仕様変わったんですかね?

あともう一個、ロジスティック回帰のモデル作るときに警告でますね……。

from sklearn.linear_model import LogisticRegression

# logisticModel = LogisticRegression()
logisticModel = LogisticRegression(solver='liblinear')

FutureWarning: Default solver will be changed to 'lbfgs' in 0.22. Specify a solver to silence this warning.
FutureWarning)

ちゃんとやるにはソルバ指定してやらないといけなくなったっぽい。というかデフォルトが変更になったらしい。

参考
sklearn.linear_model.LogisticRegression — scikit-learn 0.21.3 documentation
とりあえず、LogisticRegression(solver='liblinear')にしてエラー出さないようにする。本当はちゃんとやるのが正解だと思うけども、レッスン内容だとロジスティック回帰分析できれば何使ってもいいみたいな雰囲気がするからこれで……。

そんで、なんとなく理解した(漠然)。
元のデータがちゃんとしてれば、sklearnインポートしておけば勝手にやってくれるのでなにか成し遂げたって感触はないですね……。やっぱちゃんと統計の方を目を通さないとダメだな………。


そういえば最近知ったんですけどGitHubってJupyter Notebookの形式で表示できるんですね。ipynb拡張子にすると勝手に認識してくれる。たまに表示できませんとかでるけど……。
GitHub - Andou666/basicml_from_mynv
第一回は「なぜ機械学習なのか?」みたいな話なんですが、それは僕的にはいいかなってことで実行環境載せることにしました。これ機械学習用のツールとしてだけでなくPythonメモ置場として使ってもいいでね?ipynbの生ファイルはjsonみたいなやつだけど……。なんかGitHubがだんだんソースコードストレージになってきたなあ……。


完走した感想

肝心の統計分析部分すっ飛ばしすぎな気がしなくもない……。その辺り潰せるいいネタないかね……。