plant-raspberrypi3のブログ

ラズベリーパイ3とPythonに挑戦して、植物を愛でたり画像を加工したりします。最近はscikit-imageの勉強してます。

scikit-learnの仕様変更について

公式ドキュメントのAPIを眺めていて気づいたのですが、前回の記事で使用していたsklearn.cross_validation.train_test_splitは scikit-learn 0.20から廃止になるそうです。

前回の記事。

plant-raspberrypi3.hatenablog.com

該当部分のコード。

from sklearn import svm
from sklearn.cross_validation import train_test_split
from sklearn.metrics import classification_report, confusion_matrix

# 訓練データとテストデータに分割
X_train2, X_test2, y_train2, y_test2 = train_test_split(data2, labels2, test_size=0.2, random_state=0)

#svmによるモデルの作成
clf2 = svm.SVC(C=1, cache_size=200, 
  decision_function_shape='ovr', degree=3, gamma=0.00001, kernel='rbf')

#モデルを訓練データで学習
clf2.fit(X_train2, y_train2)

scikit-learnの仕様変更については以下参照です。

API Reference — scikit-learn 0.19.1 documentation

sklearn.cross_validation.train_test_split — scikit-learn 0.19.1 documentation

代わりにsklearn.model_selection.train_test_splitを使うようにとのこと。

sklearn.model_selection.train_test_split — scikit-learn 0.19.1 documentation

ちなみにsklearn.grid_searchも廃止になりますが、cross_validationなどと共にmodel_selectionにまとめられています。

今後、このあたりを熟読したい。