我正在尝试使用 sklearn 中的 Python MultinomialNB 对一些数据进行分类,但它 returns 是一个值错误

I am attempting to use Python MultinomialNB from sklearn to classify some data but it returns a Value Error

我正在尝试使用 sklearn 中的 MultinomialNB 对一些数据进行分类。我用一些标记的训练数据制作了一个样本 csv,我想用它来训练模型,但我收到以下错误消息:

ValueError: Expected 2D array, got 1D array instead: array=[0 1 2 2].

我知道这是一个非常小的数据集,但我最终会在代码运行后添加更多数据。

这是我的数据:

这是我的代码:

import numpy as np
import pandas as pd
import array as array
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
data_file = pd.read_csv("CSV_Labels.csv", engine='python')
data_file.tail()
vectorizer = CountVectorizer(stop_words='english')
all_features = vectorizer.fit_transform(data_file.Word)
all_features.shape
x_train = data_file.label
y_train = data_file.Word
x_train.values.reshape(1, -1)
y_train.values.reshape(1, -1)
classifer = MultinomialNB()
classifer.fit(x_train, y_train)

试试这个:

x_train = x_train.values.reshape(-1, 1)
y_train = y_train.values.reshape(-1, 1)

numpy 整形操作不正确。所以你传递给分类器的数组实际上是旧的形状。