Используйте обучающие данные, чтобы предсказать тест, где у них разное количество выборок с наивными байесами с использованием Python - PullRequest
0 голосов
/ 12 апреля 2019

У меня есть набор данных с запасом яблок за 4-летний период (2012-2016 гг. Я хочу использовать первые четыре года в качестве данных обучения, а затем использовать 2016 год в качестве тестовых данных. У меня есть данные о возврате яблок каждый день неделя в разных столбцах. Кроме того, у меня есть столбец для объема и движения (погода, акции росли или падали). Я хочу предсказать направление, используя другие переменные. Я пытаюсь выяснить, как это отфильтровать, чтобы тестирование проводилось только в 2016 году.

Я пробовал несколько вещей, но просто не понимаю код и где его применять.

import pandas as pd
from sklearn.naive_bayes import GaussianNB
from sklearn.model_selection  import train_test_split
from sklearn import metrics

apple_training = apple[apple['Year'] != 2016]
apple_test = apple[apple['Year'] == 2016]

Я пробовал две разные вещи для следующего:

X_train, X_test, y_train, y_test = \
train_test_split(apple_training.iloc[:,0:6], \
apple_training['Movement'], test_size=0.33,random_state=200)

и

X_train, X_test, y_train, y_test = train_test_split(apple_test, \
apple_training, \
test_size = 0.33, random_state = 200)

наконец я пытаюсь сделать матрицу.

gnb = GaussianNB()
gnb.fit(X_train, y_train)
y_pred = gnb.predict(X_test)
print(metrics.confusion_matrix(y_test, y_pred))

Это дает мне результат, но я не думаю, что он делает то, что я на самом деле хочу, когда дело доходит до обучения и тестирования данных. Любая помощь будет принята с благодарностью.

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...