ValueError: could not convert string to float in panda
ValueError: could not convert string to float in panda
我的代码是:
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:
我可以做哪些更改使我的代码有效?
您可能应该按照上面的答案对数据进行预处理。
您不能将文本数据传递到 scikit-learn 的 MultinomialNB 中,如其 documentation 所述。
None scikit-learn 中的算法直接处理文本数据。您需要进行一些预处理以获得所需的输出。您需要先使用装袋或标记化等技术从文本数据中提取特征。看看这个 link 以便更好地理解。
您可能还想看看如何使用 NLTK 来处理像您这样的用例。
我的代码是:
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:
我可以做哪些更改使我的代码有效?
您可能应该按照上面的答案对数据进行预处理。
您不能将文本数据传递到 scikit-learn 的 MultinomialNB 中,如其 documentation 所述。
None scikit-learn 中的算法直接处理文本数据。您需要进行一些预处理以获得所需的输出。您需要先使用装袋或标记化等技术从文本数据中提取特征。看看这个 link 以便更好地理解。
您可能还想看看如何使用 NLTK 来处理像您这样的用例。