模試の点数:82.5点
scikit-learn以外のところはほぼ間違えなくなった(pandasのグルーピングがちょっと弱いけれど)
今日でMatplotlibが終わり、いよいよscikit-learnに突入しました。
この章を読むの1年ぶりです。ぐえーー
今日は欠損値の処理やるかな(^ω^)と思って勉強していたのですが・・
久々にはまりました。
scikit-learnのVerを書籍(Pythonによるあたらしいデータ分析の教科書)の指定に
合わせていない人は多分引っかかると思います。
v0.20以降のscikit-learnをインストールしている環境の場合
P215の「from sklearn.preprocessing import Imputer」実行結果が
「そんな名前の関数ないからね」になります。
ぐぐると・・・↓
Python - Imputer をimport できない|teratail
リンク先の「SimpleImputer」のリファレンスを読むと
>New in version 0.20: SimpleImputer
replaces the
>previous sklearn.preprocessing.Imputer
estimator which is now removed.
(Ver0.20で「sklearn.preprocessing.Imputer」は「SimpleImputer」に置き換えられたよ(^0^))
とのこと・・・さいですか・・
というわけで、P215の例題をv0.20以降のscikit-learnを使用して実行する場合
「from sklearn.impute import SimpleImputer」
「imp = SimpleImputer() ※もしくはSimpleImputer(strategy='mean')」
と置き換えれば、書籍の出力結果通りになります。
私の英語力がカスいので自信ないですが、SimpleImputerは
axis指定をすることができないみたいですね、、間違えてたらすみません。
何故私は書籍指定のVerのライブラリじゃないVerを使っていたかというと
Win10でscikit-learnの0.19.1を入れようとすると
「error: Microsoft Visual C++ 14.0 is required. Get it with "Build Tools for Visual Studio": https://visualstudio.microsoft.com/downloads/」というエラーが出てインストールできなかったりします。
Pythonのpipインストールエラーでハマった話[Windows] - Qiita
WindowsのC++ビルド環境を作る~Build Tools for Visual Studio 2017の導入 - Qiita
おそらくこの辺りの話にはまっています。
現在時が流れVS2019がリリースされており、古いVerのリンクを漁っても
Build Tools for Visual Studio 2017にたどり着けなかったところで1時になったので寝ます。もうだみだ
結論:明日はMacで復習しよう
この「書籍の内容が古い」にはまるのは
Pythonエンジニア認定試験の教材「Pythonチュートリアル第3版」でもありました。
仮想環境構築の「pyvenv」がPython3.6以降で使われていなくて超ぐぐったような・・
きっと一連の流れはぐぐり力を試されているに違いない。ねますやあああ