import sys import pandas as pd import numpy as np from sklearn import preprocessing from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_squared_error import tensorflow as tf from tensorflow import keras from tensorflow.keras.layers import Input, Dense, Activation,Dropout from tensorflow.keras.models import Model from tensorflow.keras.callbacks import EarlyStopping from tensorflow.keras.models import Sequential # odczytanie danych z plików vgsales_train = pd.read_csv('train.csv') vgsales_test = pd.read_csv('test.csv') vgsales_dev = pd.read_csv('dev.csv') vgsales_train['Nintendo'] = vgsales_train['Publisher'].apply(lambda x: 1 if x=='Nintendo' else 0) vgsales_test['Nintendo'] = vgsales_test['Publisher'].apply(lambda x: 1 if x=='Nintendo' else 0) vgsales_dev['Nintendo'] = vgsales_dev['Publisher'].apply(lambda x: 1 if x=='Nintendo' else 0) # podzial na X i y X_train = vgsales_train.drop(['Rank','Name','Platform','Year','Genre','Publisher'],axis = 1) y_train = vgsales_train[['Nintendo']] X_test = vgsales_test.drop(['Rank','Name','Platform','Year','Genre','Publisher'],axis = 1) y_test = vgsales_test[['Nintendo']] print(X_train.shape[1]) # keras model model = Sequential() model.add(Dense(9, input_dim = X_train.shape[1], kernel_initializer='normal', activation='relu')) model.add(Dense(1,kernel_initializer='normal', activation='sigmoid')) early_stop = EarlyStopping(monitor="val_loss", mode="min", verbose=1, patience=10) # kompilacja model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) # model fit epochs = int(sys.argv[1]) batch_size = int(sys.argv[2]) # trenowanie modelu model.fit(X_train, y_train, epochs=epochs, batch_size=batch_size, validation_data=(X_test, y_test)) # zapisanie modelu model.save('vgsales_model.h5')