gpt4 book ai didi

python - SciKit-learn 的 'predict' 函数输出格式错误

转载 作者:太空宇宙 更新时间:2023-11-04 10:21:37 24 4
gpt4 key购买 nike

我是 scikit 的新手,所以开始使用它。

问题背景:我正在尝试在 hackerRank 上玩“Byte the correct apple”竞赛。其中给我们两个文件,一个包含 apple the company 的文本,另一个包含 apple the fruit。现在我们必须从中学习,然后对新文本进行预测。

虽然代码可以运行,但我的问题是:- 由于“行”(在下面的代码中)是单个输入,我应该得到单个数字输出为零或一。但是我得到一个数组作为输出。- 我什至接近使用下面的代码学习任何东西吗?

import numpy as np

from sklearn.feature_extraction.text import TfidfTransformer
from sklearn.feature_extraction.text import CountVectorizer


from sklearn.naive_bayes import MultinomialNB
from sklearn.linear_model import SGDClassifier
from sklearn import svm
from sklearn.svm import LinearSVC

from sklearn.pipeline import Pipeline

appleComputers = [];
appleFruits = [];
labels = [];

with open('apple-computers.txt','r') as f:
for line in f:
appleComputers.append(line)
labels.append(1);

with open('apple-fruit.txt','r') as f:
for line in f:
appleFruits.append(line)
labels.append(0);

text = appleComputers + appleFruits;
labels = np.asarray(labels)

#text_clf = Pipeline([('vect', CountVectorizer()),('tfidf', TfidfTransformer()),('clf', MultinomialNB()),])
text_clf = Pipeline([('vect', CountVectorizer()),('tfidf', TfidfTransformer()),('clf', LinearSVC(loss='hinge', penalty='l2')),])

text_clf = text_clf.fit(text, labels)


line = 'I am talking about apple the fruit we eat.'
line = 'I am talking about the product apple computer by Steve Jobs'
predicted = text_clf.predict(line);
print predicted

最佳答案

我自己找到了答案。

为了

predicted = text_clf.predict(line);

'line' 应该是一个列表而不是字符串,因为它用于 'fit' 函数。

即替换

line = 'I am talking about the product apple computer by Steve Jobs'

通过

line = [];    
line.append('I am talking about apple the fruit we eat.');

或@jme建议我们可以使用

text_clf.predict([line]) 

关于python - SciKit-learn 的 'predict' 函数输出格式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31923773/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com