使用 csv 数据集训练 NaiveBayesClassifier 时出错
Getting error while training NaiveBayesClassifier with csv dataset
我收到 ValueError: too many values to unpack 错误。这是代码示例
import numpy as np
import pandas as pd
from textblob.classifiers import NaiveBayesClassifier
sms_raw = pd.read_csv('text.csv')
# training dataset 70%
# test dataset 30 %
sms_raw['split'] = np.random.randn(sms_raw.shape[0], 1)
fltr = np.random.rand(len(sms_raw)) <= 0.7
train = sms_raw[fltr]
test = sms_raw[~fltr]
cl = NaiveBayesClassifier(sms_raw)
NaiveBayesClassifier 无法使用 pandas 数据框作为输入。另外,在你的最后一行中,你将 sms_raw 数据作为输入,我猜你的意思是:
cl = NaiveBayesClassifier(train)
您需要直接读取 csv 文件或将 pandas 数据帧转换为列表。
尝试使用
train.to_dict(orient='records')
cl = NaiveBayesClassifier(train)
如果您想直接读取 csv 文件,请看这个例子:
https://github.com/sloria/TextBlob/issues/142
我收到 ValueError: too many values to unpack 错误。这是代码示例
import numpy as np
import pandas as pd
from textblob.classifiers import NaiveBayesClassifier
sms_raw = pd.read_csv('text.csv')
# training dataset 70%
# test dataset 30 %
sms_raw['split'] = np.random.randn(sms_raw.shape[0], 1)
fltr = np.random.rand(len(sms_raw)) <= 0.7
train = sms_raw[fltr]
test = sms_raw[~fltr]
cl = NaiveBayesClassifier(sms_raw)
NaiveBayesClassifier 无法使用 pandas 数据框作为输入。另外,在你的最后一行中,你将 sms_raw 数据作为输入,我猜你的意思是:
cl = NaiveBayesClassifier(train)
您需要直接读取 csv 文件或将 pandas 数据帧转换为列表。
尝试使用
train.to_dict(orient='records')
cl = NaiveBayesClassifier(train)
如果您想直接读取 csv 文件,请看这个例子: https://github.com/sloria/TextBlob/issues/142