1
初心者からPythonまで私は理解していない次のコードに "型エラー"が表示されます。誰も助けることができますか?metrics.f1_score - サイズ変更されていないオブジェクトの長さ
vectorizer = CountVectorizer()
X = vectorizer.fit_transform(train_data)
Y = vectorizer.transform(dev_data)
print Y.shape
print dev_labels.shape
parameters = {'n_neighbors':[1,300] }
grid_search = GridSearchCV(KNeighborsClassifier(), parameters, scoring=metrics.f1_score(Y, dev_labels))
grid_search.fit(X, train_labels)
print "the score is", grid_search.score(Y, dev_labels)
print "The best value is achieved when k = ", grid_search.best_params_
train_data、dev_dataは、モデルのトレーニングに使用される基本データです。 dev.labels.shapeが(676、)
の場合、Y.shapeは(676,26887)です。エラーメッセージはGridSearchCV行の "Type_error"です。それは言います:TypeError:unsizeされたオブジェクトのlen()
どのようなオブジェクトがサイズされていますか?
私は単に 'scoring = 'f1''を与えるべきだと思います。それはうまくいくはずです。 'f1_score'メソッドも間違って使用しています。最初のパラメータはトレーニングデータです。代わりにあなたはそれが正しいではない変換された特徴ベクトルを渡しています。 –
ありがとうございます。スコアリング= 'f1'修正が働いた。 –
私はこれを答えにします。コミュニティに役立つように、それを受け入れられた回答としてマークすることができます。 –