Я строю нейронную сеть, чтобы предсказать результаты футбольного матча. Я застрял, потому что не знаю, как сделать так, чтобы нейронная сеть считывала метку «Доблесть» в документе Excel, и как предварительно обрабатывать данные, в документе Excel есть все данные. Значение, имеющее метрики совпадения, - это значение, помеченное как «Доблесть» на оси X, все остальные метки на оси X и оси Y не являются необходимыми для задачи прогнозирования. Я не знаю, как подготовить данные и как определить обучающую модель, более того, я не знаю, что мне нужно поместить во входное измерение и в пакет.
Данные представлены в формате Excel и имеют следующую форму: в них 1269 вертикальных ячеек для каждого совпадения, и у меня записано 1000 совпадений, поэтому в Excel имеется 1269000 ячеек. Важными значениями являются те, которые помечены на оси X как «Доблесть».
Мой код для предварительной обработки данных следующий:
def PreprocessDataset():
from sklearn import preprocessing
data = pd.read_csv('',index_col=False,low_memory=False)
data = data.reindex(np.random.permutation(data.index))
cols = data.columns
x_columns = cols.drop("match_result")
x = data[x_columns]
y = data['match_result']
train_max_row = int(data.shape[0]*0.9)
x_train = x.iloc[:train_max_row]
x_test = x.iloc[train_max_row:]
y_train = y.iloc[:train_max_row]
y_test = y.iloc[train_max_row:]
y_train = np_utils.to_categorical(y_train)
y_test = np_utils.to_categorical(y_test)
################Pre-processing###########
x_train = preprocessing.scale(x_train)
x_test = preprocessing.scale(x_test)
return x_train, x_test, y_train, y_test
x_train, x_test, y_train, y_test = PreprocessDataset()
Код модели обучения и переменная пакета:
def TrainModel(data=None, epochs=400):
batch=128
start_time = time.time()
model = DefineModel()
if data is None:
print("Must provide data.")
return
x_train, x_test, y_train, y_test = data
print('Start training.')
## The first samples to train, last samples to validate.
history = model.fit(x_train[:800], y_train[:200], nb_epoch=epochs, batch_size=batch,
validation_data=(x_train[800:], y_train[200:]))
print("Training took {0} seconds.".format(time.time() - start_time))
return model, history
Форма ввода в следующем слое в первом слое, и я определил как 1269, потому что каждое совпадение имеет 1269 метрик, но я не знаю, какое значение я должен поставить:
model.add(Dense(1269, input_shape=1269, W_regularizer=weight_regularizer))
model.add(Activation(activation_func))
model.add(Dropout(0.5))
Данные представлены в формате Excel и имеют следующую форму: в них 1269 вертикальных ячеек для каждого совпадения, и у меня записано 1000 совпадений, поэтому в Excel 1269000 ячеек. Важными значениями являются те, которые помечены на оси X как «Доблесть».
Спасибо