У меня есть набор данных с запасом яблок за 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))
Это дает мне результат, но я не думаю, что он делает то, что я на самом деле хочу, когда дело доходит до обучения и тестирования данных.
Любая помощь будет принята с благодарностью.
Спасибо.