2017-02-13 98 views
0

我试图运行MultinomiaL Naive bayes并收到以下错误。给出样本训练数据。测试数据完全相似。ValueError:发现具有不一致样本数的输入变量:[1,14048]

def main(): 
    text_train, targets_train = read_data('train') 
    text_test, targets_test = read_data('test') 
    classifier1 = MultinomialNB() 
    classifier1.fit(text_train, targets_train) 
    prediction1 = classifier1.predict(text_test) 

样本数据:

Train: 
category, text 
Family, I love you Mom 
University, I hate this course 
+0

你的'text_train'和'targets_train'的形状是什么?另外我不认为MultinomialNB会默认处理文本数据。你需要预处理它。 –

回答

0

有时我面对这个问题,并发现大多数从错误的原因是输入数据应该是2-d阵列,例如,如果你想建立一个回归为模型。你写这个代码,然后你将面临这个错误!

例如:

a = np.array([1,2,3]).T 
b = np.array([4,5,6]).T 

regr = linear_model.LinearRegression() 
regr.fit(a, b) 

,那么你应该添加的东西!

a = np.array([[1,2,3]]).T 
b = np.array([[4,5,6]]).T 

最后你会正常运行! 所以它只是我的经验! 这只是一个参考,而不是一个标准答案! 我是中国学生,学习英语和python!

+0

a = np.array([[1,2,3]])。T b = np.array([4,5,6])。T输入应该是2-D –