私はSVM(scikit)を使用したデータのトレーニングとテストに取り組んでいます。私はSVMを訓練しており、そこからピクルスを準備しています。次に、私はそのピクルを使って自分のシステムをテストしています。まず、変数train_data
とtest_data
のトレーニングデータとテストデータをそれぞれ読んでいます。Python-Scikit。 SVMを使用したトレーニングとテスト
はその後、私は訓練のために使用していたコードは次のとおりです。
はvectorizer = TfidfVectorizer(max_df = 0.8,
sublinear_tf=True,
use_idf=True)
train_vectors = vectorizer.fit_transform(train_data)
test_vectors = vectorizer.transform(test_data)
classifier_rbf = svm.SVC()
classifier_rbf.fit(train_vectors, train_labels)
from sklearn.externals import joblib
joblib.dump(classifier_rbf, 'pickl/train_rbf_SVM.pkl',1)
再度テストしながら、私はそれぞれの変数train_data
とtest_data
でトレーニングデータとテストデータを読んでいます。テスト用に使用しているコードは次のとおりです。
vectorizer = TfidfVectorizer(max_df = 0.8,
sublinear_tf=True,
use_idf=True)
train_vectors = vectorizer.fit_transform(train_data)
test_vectors = vectorizer.transform(test_data)
from sklearn.externals import joblib
classifier_rbf = joblib.load('pickl/train_rbf_SVM.pkl')
prediction_rbf = classifier_rbf.predict(test_vectors)
このコードは正常に動作しており、正しい出力が得られます。私の質問は、テストをしたいときはいつでもトレーニングデータを読むことが義務ですか?
ありがとうございます。
私は「train_vector」と「train_labels」をピックアップしました。それでも、私が 'fit_transform'の呼び出しでlineを削除した場合、それは私にはボキャブラリが当てはまらないというエラーを与えます。 – Himadri
Trainvectorとtrainlabelsは問題ありません。あなたがうまくいかなければならないのは、vectorizerとclassifier_rbfです –
これは私の質問に示されたコードで行ったことです。あなたは私の答えにコードを書くことができますか?ありがとうございました。 – Himadri