私は機械学習には比較的新しいので、次の点で助けて欲しいです:sklearnで10倍交差検証を実行した後にSVCクラシファイアを実行するにはどうすればよいですか?
私は10倍のクロスバリデーションでサポートベクターマシンクラシファイア(SVC)を実行し、精度スコアを計算しました約89%)。私はPythonを使っていて、タスクを実行するためにscikit-learnを使っています。ここでは、コードスニペットです:
今def get_scores(features,target,classifier):
X_train, X_test, y_train, y_test =train_test_split(features, target ,
test_size=0.3)
scores = cross_val_score(
classifier,
X_train,
y_train,
cv=10,
scoring='accuracy',
n_jobs=-1)
return(scores)
get_scores(features_from_df,target_from_df,svm.SVC())
、どのように私はX_test上でそれをテストしてy_testすると予測結果を比較するために(10-折るCVを実行した後に)私の分類器を使用することができますか?気づいたことがあるかもしれませんが、私はX_trainとy_trainを相互検証プロセスで使用しました。
私はsklearnがcross_val_predictを持っていることに気づきました: http://scikit-learn.org/stable/modules/generated/sklearn.model_selection.cross_val_predict.html私はcross_val_scoreをcross_val_predictで置き換えるべきですか?ちょうどFYI:私のターゲットデータ列は2進化されています(値は0と1です)。
私のアプローチが間違っている場合は、進めていく最善の方法を教えてください。
ありがとうございます!
ありがとうございました。ただし、これはクロスバリデーションを考慮しません。任意の代替提案は素晴らしいでしょう。 –
@ M_13クロス検証を考慮に入れたモデルはありません。 CVは、データのモデルのパフォーマンスをチェックするだけです。 [cross-validation](http://scikit-learn.org/stable/modules/cross_validation.html)をお読みください。 –