numpyのver1.20以降で、データ型の表記方法が変わってたって知ってました?
こんにちは。
ある日、久々にscikit-learnを動かそうと思ったらこんな警告が。
警告文のひとつめを意訳すると、
「"np.float"は非推奨だから"float"って書いてくれる?scikit-learnのところで出てるからさぁ」
え、そうなの?np.floatって書き方非推奨なん?って思ってしまいました。
警告文にリンクがあるので飛んでみるとこんなことが書いてありました。
ってか私はいつのまにnumpyを1.20以上にバージョンアップしてたのでしょう・・。
Anacondaで仮想環境作ってると、baseが大体いろんなライブラリの最新バージョン詰め合わせで、その他が限定的なバージョンの組み合わせになるのあるあるですよね・・。
ちなみに警告が出たscikit-learnのバージョンは"0.21.0"ですね。
アップグレードしたら直るのかな。scikit-learnはnumpy必須だからほぼ確実に対応してそうですが。
これで、バージョンを"1.0.1"にアップグレードしました。
これで再度scikit-learnを実行すると、
OK!警告文出ませんね。やはりscikit-learnは対応してました。
numpyの表記も短くなって、より可読性が上がりましたね。
少し注意が必要なのが、データサイズをきちんと明記した方が良いかもしれません。
例えばlong型は、intで統一されるようです。
long型って実際はほとんど使うことなくて大体int32とかint64って明記してました。
明示的にlong型であることを示す場合、numpy.int_とかnumpy.longlongと書くみたいです。
確かに今まで「np.」っていちいち表記しなくてよくね?とは少し思ってたので、これは地味助かる変更ですね。
という豆知識的な展開でした。
日々オープンソースは変化するので、新しい情報をキャッチしていきたいですね!