教材が少し古いのですが積み残していたので久しぶりにやってみると、コードがそのままでは動かないということに気づきましたので簡単に記録を残しておきます。
この内容は、実践データサイエンス&機械学習 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