ValueError:无法在熊猫中将字符串转换为浮点数
Posted
技术标签:
【中文标题】ValueError:无法在熊猫中将字符串转换为浮点数【英文标题】:ValueError: could not convert string to float in panda 【发布时间】:2017-10-25 21:29:56 【问题描述】:我的代码是:
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:
我可以进行哪些更改以使我的代码正常工作?
【问题讨论】:
data.info()
是什么?所有数据都是数字?
不,它也由字符串组成。 X.phrase 有字符串数据。 Y.Sentiment 有数值数据。
【参考方案1】:
ValueError when using Multinomial Naive Bayes classifier
您可能应该按照上面的答案对数据进行预处理。
【讨论】:
【参考方案2】:您不能将文本数据传递到 scikit-learn 的 MultinomialNB 中,如其 documentation 中所述。
scikit-learn 中的所有算法都不能直接处理文本数据。您需要进行一些预处理以获得所需的输出。您需要首先使用 bagging 或 tokenizing 等技术从文本数据中提取特征。看看这个link 以获得更好的理解。
您可能还想将NLTK 用于您的此类用例。
【讨论】:
以上是关于ValueError:无法在熊猫中将字符串转换为浮点数的主要内容,如果未能解决你的问题,请参考以下文章
ValueError:无法将字符串转换为浮点数:'GIAC'
Python:ValueError:无法将字符串转换为浮点数:'0'