Сделал модель. Проверено на данных. Нравится. Теперь я хочу использовать его на фактическом прогнозе - PullRequest
0 голосов
/ 01 марта 2020

Я прошел курс ML AZ по UDEMY. Я наконец-то добрался до части ANN и последовал за ней, пока мы создавали AAN. Очень основы c, я уверен, но я следовал и понял - я думаю. Затем я приступаю к тестированию и фактически использую модель для прогнозирования. Оказывается, это достаточно точно.

Проблема, с которой я столкнулся, состоит в том, что он тренировался на 8000 строк и был протестирован на 2000, который уже существовал в файле CSV. Это все круто, но я хочу поставить строку 10001 и посмотреть, сможет ли она предсказать совершенно новый результат. Я хочу, чтобы он использовал его обучение (что было доказано довольно хорошо на тестовых данных), и я хочу развернуть его на ряду данных, которые я составляю.

У меня была эта проблема с несколькими учебными ресурсами. Мол, круто, что он может прогнозировать цены на акции от 2 лет go и быть достаточно точным, проверенным на динамике цен от месяца go, но как мне использовать его, чтобы угадать будущую цену?

Я очень новичок во всем этом. Если кто-то может указать мне на ресурс, я был бы очень благодарен.

Спасибо,

Зак

Кроме того, вот код из учебника:

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd


dataset = pd.read_csv('Churn_Modelling.csv')
X = dataset.iloc[:, 3:-1].values
y = dataset.iloc[:, -1].values

# encoding categorical data
from sklearn.preprocessing import OneHotEncoder
from sklearn.compose import ColumnTransformer
ct = ColumnTransformer([('encoder', OneHotEncoder(), [1,2])], remainder="passthrough")
ct_country_gender = np.array(ct.fit_transform(X)[:, [1,2,3]], dtype=np.float)
X = np.hstack((ct_country_gender[:, :2], dataset.iloc[:, 3:4].values, ct_country_gender[:, [2]], dataset.iloc[:, 6:-1].values))

# Fun stuff
# Actual AAN

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 0)

from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
X_train = sc.fit_transform(X_train)
X_test = sc.transform(X_test)

import keras
from keras.models import Sequential
from keras.layers import Dense

classifier = Sequential()

# First Hidden Layer
classifier.add(Dense(activation="relu", input_dim=11, units=6, kernel_initializer="uniform"))

# Second Hidden Layer
classifier.add(Dense(activation="relu", units=6, kernel_initializer="uniform"))

# Output layer
classifier.add(Dense(activation="sigmoid", units=1, kernel_initializer="uniform"))

# Compiler
classifier.compile(optimizer = 'adam', loss = 'binary_crossentropy', metrics = ['accuracy'])

# Fitting to the Training Set
classifier.fit(X_train, y_train, batch_size = 10, nb_epoch = 25)

# Predicting the Test set results
y_pred = classifier.predict(X_test)
y_pred = (y_pred > 0.5)

from sklearn.metrics import confusion_matrix
cm = confusion_matrix(y_test, y_pred)
...