2021-04-24 21:18:57 +02:00
|
|
|
import pandas as pd
|
2021-04-24 22:23:04 +02:00
|
|
|
import numpy as np
|
|
|
|
|
|
|
|
from tensorflow import keras
|
2021-04-24 21:18:57 +02:00
|
|
|
|
|
|
|
device = 'cpu'
|
|
|
|
|
2021-04-24 22:23:04 +02:00
|
|
|
data = pd.read_csv("data_train", sep=',', error_bad_lines=False).dropna()
|
|
|
|
X = data.loc[:,data.columns == "2805317"].astype(int)
|
|
|
|
y = data.loc[:,data.columns == "198909"].astype(int)
|
|
|
|
|
|
|
|
|
|
|
|
def NormalizeData(data):
|
|
|
|
return (data - np.min(data)) / (np.max(data) - np.min(data))
|
|
|
|
|
|
|
|
|
|
|
|
X = NormalizeData(X)
|
|
|
|
y = NormalizeData(y)
|
|
|
|
|
|
|
|
|
|
|
|
model = keras.Sequential([
|
|
|
|
keras.layers.Dense(512,input_dim = X.shape[1],kernel_initializer='normal', activation='relu'),
|
|
|
|
keras.layers.Dense(512,kernel_initializer='normal', activation='relu'),
|
|
|
|
keras.layers.Dense(256,kernel_initializer='normal', activation='relu'),
|
|
|
|
keras.layers.Dense(256,kernel_initializer='normal', activation='relu'),
|
|
|
|
keras.layers.Dense(128,kernel_initializer='normal', activation='relu'),
|
|
|
|
keras.layers.Dense(1,kernel_initializer='normal', activation='linear'),
|
|
|
|
])
|
|
|
|
|
|
|
|
model.compile(loss='mean_absolute_error', optimizer='adam', metrics=['mean_absolute_error'])
|
|
|
|
|
|
|
|
model.fit(X, y, epochs=30, validation_split = 0.3)
|
|
|
|
|
|
|
|
data = pd.read_csv("data_test", sep=',', error_bad_lines=False).dropna()
|
|
|
|
X_test = data.loc[:,data.columns == "2805317"].astype(int)
|
|
|
|
y_test = data.loc[:,data.columns == "198909"].astype(int)
|
|
|
|
|
|
|
|
X_test = NormalizeData(X_test)
|
|
|
|
y_test = NormalizeData(y_test)
|
|
|
|
|
|
|
|
prediction = model.predict(X_test)
|
|
|
|
|
|
|
|
f = open("predictions.txt", "w")
|
|
|
|
for (pred, test) in zip(prediction, y_test.values):
|
|
|
|
f.write("predicted: %s expected: %s\n" % (str(pred), str(test)))
|