Я могу делать одиночные прогнозы в коде.Тем не менее, как я могу получить новые прогнозы из набора данных файла CSV, где есть несколько строк для прогнозирования.И затем, как я могу экспортировать результаты в CSV с выровненными прогнозами.
Предварительная обработка данных в том же методе, что и исходный набор данных, не будет работать так же, как мои категориальные данные обрабатываются по-разному вновые данные прогнозов.
#------------------------ Data Setup ------------------------#
# Importing the libraries
import numpy as np
import pandas as pd
# Importing the dataset
dataset = pd.read_csv('RBDResults.csv')
X = dataset.iloc[:, 1:11].values
y = dataset.iloc[:, 11].values
#Encoding Catagorical Data
from sklearn.preprocessing import OneHotEncoder
from sklearn.compose import ColumnTransformer
#Country Var + Convert Catagories Into Integers
ct = ColumnTransformer(
[('one_hot_encoder', OneHotEncoder(), [0])], # Column To Be Transformed
remainder='passthrough'
)
X = np.array(ct.fit_transform(X), dtype=np.float)
#Fix Dummy Variable Trap
X = X[:, 1:]
#------------------------ New Data ------------------------#
#Import Check File
new_data = pd.read_csv('RBDResults_New.csv')
X_New = new_data.iloc[:, 1:10]
#Country Var + Convert Catagories Into Integers
ct = ColumnTransformer(
[('one_hot_encoder', OneHotEncoder(), [0])], # Column To Be Transformed
remainder='passthrough'
)
X_New = np.array(ct.fit_transform(X_New), dtype=np.float)
#Fix Dummy Variable Trap
X_New = X[:, 1:]
#------------------------ End New Data ------------------------#
# Splitting the dataset into the Training set and Test set
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)
# Feature Scaling
from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
X_train = sc.fit_transform(X_train)
X_test = sc.transform(X_test)
#CREATE NEURAL NETWORK
#Import Keras Libary and Packages
import keras
from keras.models import Sequential
from keras.layers import Dense
from keras.layers import Dropout
#------------------------ Create Neural Network ------------------------#
classifier = Sequential()
classifier.add(Dense(units = 12, kernel_initializer = 'uniform', activation = 'relu', input_dim = 24))
classifier.add(Dropout(rate = 0.1))
classifier.add(Dense(units = 12, kernel_initializer = 'uniform', activation = 'relu'))
classifier.add(Dropout(rate = 0.1))
classifier.add(Dense(units = 1, kernel_initializer = 'uniform', activation = 'sigmoid'))
classifier.compile(optimizer = 'rmsprop', loss = 'binary_crossentropy', metrics = ['accuracy'])
classifier.fit(X_train, y_train, batch_size = 32, epochs = 100)
y_pred = classifier.predict(X_test)
y_pred = (y_pred > 0.5)
#Make The Confusion Matrix
from sklearn.metrics import confusion_matrix
cm = confusion_matrix(y_test, y_pred)```