我的代码是:
import pandas as pd
data = pd.read_table('train.tsv')
X=data.Phrase
Y=data.Sentiment
from sklearn import cross_validation
X_train,X_test,Y_train,Y_test=cross_validation.train_test_split(X,Y,test_size=0.2,random_state=0)
from sklearn.naive_bayes import MultinomialNB
clf = MultinomialNB()
clf.fit(X,Y)
我收到错误:ValueError: could not convert string to float:
我可以对代码进行哪些更改?
答案 0 :(得分:1)
您无法将文本数据传入scikit-MultiomialNB,如documentation所述。
scikit-learn中的所有算法都不直接与文本数据一起使用。您需要进行一些预处理才能获得所需的输出。您需要首先使用装袋或标记等技术从文本数据中提取功能。为了更好地理解,请查看此link。
您也可能希望将NLTK用于此类用例。
答案 1 :(得分:0)
ValueError when using Multinomial Naive Bayes classifier
您可能需要预处理数据,如上面的答案所示。