ホールドアウト法
教師データを「学習用」と「評価用」とに分割して学習済みモデルの精度を測定する方法
データを二つに分割しているだけ
scikit learnでの実装
sklearn.model_selection.train_test_split(*arrays, **options)
引数
– X_train: 学習用の特徴行列
– X_test: テスト用の特徴行列
– y_train: 学習用の目的変数
– y_test: テスト用の目的変数
– test_size=: テスト用のデータを何割の大きさにするか test_size=0.2 で、2割をテスト用のデータとして置いておけます
– random_state=: データを分割する際の乱数のシード値
code:python
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.20, random_state=93)
from sklearn import linear_model
clf = linear_model.LogisticRegression()
model = clf.fit(X_train, y_train)
print(f"スコア: {model.score(X_test, y_test)}")