< th>сообщение
пальцы
хвост
виды
pluvia arbor aquos
4нет
Водолеи
cosmix xeno nebuz odbitaz< /td>
5
да
Зорблакс
solarix glixx novum galaxum quasar
5
да
Зорблакс
arbor насекомое pesros ekos dootix nimbus
2
да
Флориан
Мой код:
Код: Выделить всё
import warnings
warnings.simplefilter("ignore")
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.preprocessing import LabelEncoder
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
df = pd.read_csv("data.csv")
X = np.asarray(df[["message", "fingers", "tail"]])
X = [str (item) for item in X]
y = df["species"]
le = LabelEncoder()
y = le.fit_transform(y)
cv = CountVectorizer()
X = cv.fit_transform(X).toarray()
model = MultinomialNB()
model.fit(X, y)
test_data = pd.read_csv('test.csv')
test_data_array = np.asarray(df[["message", "fingers", "tail"]])
test_data_array = [str (item) for item in test_data_array]
test_data_array = cv.fit_transform(test_data_array).toarray()
y_prediction = model.predict(test_data_array)
y_prediction = le.inverse_transform(y_prediction)
print(y_prediction)
Проблема в том, что когда я пытался его запустить, он просто выводит столбец видов исходного обучения. данные дословные, за исключением нескольких различий (имеется 493 результата, тогда как тестовые данные состояли из 299 записей, а обучающие данные состояли из 500 записей). На самом деле он ничего не предсказывает для тестовых данных. Я не понимаю, почему код не работает. Может ли кто-нибудь помочь?
Подробнее здесь: https://stackoverflow.com/questions/790 ... -as-result