【发布时间】:2021-09-16 14:35:08
【问题描述】:
我的问题是一个有 50 个类的多类分类问题。我正在尝试找到 SVM 和 NB 算法的 top-k 分类准确度。
X_train, X_test, y_train, y_test = train_test_split(sentences, labels, test_size=0.3, random_state = 42)
nb = Pipeline([('vect', CountVectorizer(min_df=1, dtype=np.int32, vocabulary= vocab_data, ngram_range=(1, 2))),
('tfidf', TfidfTransformer(use_idf=False)),
('chi', SelectKBest(chi2, k='all')),
('clf', OneVsRestClassifier(MultinomialNB(alpha=0.001))),
])
y_pred = nb.predict(X_test)
print('accuracy %s' % accuracy_score(y_pred, y_test))
我能够找到准确率精度和召回值。有没有办法找到 top k 准确率?
【问题讨论】:
-
你试过
sklearn.metrics.top_k_accuracy_score吗?
标签: python scikit-learn svm naivebayes