Scikit learn 基于scikit学习的多标签预测
我有一个scikit学习管道的多标签预测。它在内部测试和获取每个标签预测的指标方面工作正常。但是,我很难获得正确的数据输出结构。当我对看不见的/外部数据运行代码时,它显然会运行每个标签的预测,但会替换同一列中的值。所以我只得到一列预测 该数据集涉及20多个标签(类别),是NLP模型的一部分。每个标签都是二进制的(0或1)。我是新来的,非常感谢你的帮助。谢谢大家! 代码包括三个部分:(1)管道,(2)使用拟合/预测对测试/验证数据进行循环,以及(3)尝试对外部数据的预测函数进行编码 1) 管道:Scikit learn 基于scikit学习的多标签预测,scikit-learn,pipeline,multilabel-classification,Scikit Learn,Pipeline,Multilabel Classification,我有一个scikit学习管道的多标签预测。它在内部测试和获取每个标签预测的指标方面工作正常。但是,我很难获得正确的数据输出结构。当我对看不见的/外部数据运行代码时,它显然会运行每个标签的预测,但会替换同一列中的值。所以我只得到一列预测 该数据集涉及20多个标签(类别),是NLP模型的一部分。每个标签都是二进制的(0或1)。我是新来的,非常感谢你的帮助。谢谢大家! 代码包括三个部分:(1)管道,(2)使用拟合/预测对测试/验证数据进行循环,以及(3)尝试对外部数据的预测函数进行编码 1) 管道:
SVC_pipeline = Pipeline([
('tfidf',
TfidfVectorizer(tokenizer=LemmaTokenizer(), min_df=8)),
('clf', OneVsRestClassifier(LinearSVC(), n_jobs=6)),
])
2) For循环:
for category in categories:
print('processing {}'.format(category))
# train
SVC_pipeline.fit(X_train, train[category])
# test
prediction = SVC_pipeline.predict(X_test)
print('Test accuracy is
{}'.format(accuracy_score(test[category], prediction)))
3) 预测外部数据:
doctext = sampdf['doc_text']
pred = SVC_pipeline.predict(doctext)
我也试过:
for category in categories:
print('... Processing {}'.format(category))
svcpredict = SVC_pipeline.predict(testthis)
np.savetxt("/Users/.../Dropbox/.../svcpredicts.csv", svcpredict)
我还尝试了其他一些变体,但它们都有相同的结果。这些指标贯穿了所有标签,并为每个类别提供了不同的指标。但结果只给了我一列预测
谢谢 退房,谢谢。在我的例子中,我已经标记了类别。我正在培训大约20个已知的标签,希望预测符合这些标签。大多数观察都有多个标签。请查看,谢谢。在我的例子中,我已经标记了类别。我正在培训大约20个已知的标签,希望预测符合这些标签。大多数观测都有多个标签。