AI

sklearnで交差検証を行うときのライブラリのインポート

教材が少し古いのですが積み残していたので久しぶりにやってみると、コードがそのままでは動かないということに気づきましたので簡単に記録を残しておきます。

この内容は、実践データサイエンス&機械学習 with Python -統計学の基礎からビッグデータまで-49. [アクティビティー] K分割交差​​検定における過剰適合の回避に沿っています

環境

Python3.10.2
Pip Package Version
————- ——-
joblib 1.1.0
numpy 1.23.2
pip 22.2.2
scikit-learn 1.1.2
scipy 1.9.0
setuptools 58.1.0
threadpoolctl 3.1.0

cross_validationが使えなくなった

(新)
import numpy as np
from sklearn import datasets
from sklearn import svm
from sklearn.model_selection import train_test_split
from sklearn.model_selection import cross_val_score

(旧)
import numpy as np
from sklearn import datasets
from sklearn import svm
from sklearn import cross_validation

そのため、以降のコード内容も修正する必要があります。例えば、

# Split the iris data into train/test data sets with 40% reserved for testing
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.4, random_state=0)

Python2.xの記法なのでPython3.xの場合は自分で修正する

Python2で実行すればよいのですが、最近はPython3しか使いませんので、自分でエラーが発生していたら書き換えていったほうが良いかもしれません。

Python2: print “The answer is”, 2*2
Python3: print(“The answer is”, 2*2)

https://docs.python.org/ja/3/whatsnew/3.0.html

参考

https://stackoverflow.com/questions/53978901/importerror-cannot-import-name-cross-validation-from-sklearn

翻訳 »