ValueError:无法将字符串转换为panda中的float

时间:2017-05-25 09:28:51

标签: python-3.x pandas numpy machine-learning sklearn-pandas

我的代码是:

 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:

我可以对代码进行哪些更改?

2 个答案:

答案 0 :(得分:1)

您无法将文本数据传入scikit-MultiomialNB,如documentation所述。

scikit-learn中的所有算法都不直接与文本数据一起使用。您需要进行一些预处理才能获得所需的输出。您需要首先使用装袋或标记等技术从文本数据中提取功能。为了更好地理解,请查看此link

您也可能希望将NLTK用于此类用例。

答案 1 :(得分:0)

ValueError when using Multinomial Naive Bayes classifier

您可能需要预处理数据,如上面的答案所示。