- "message": "Μην έγκυρο μυστικό λογα\npython\n\nimport pandas as pd\n\nimport numpy as np\n\nimport tensorflow as tf\n\nfrom keras. models import Sequential\n\nfrom keras. layers import Dense, Dropout\n\nfrom keras. optimizers import Adam\n\nfrom sklearn. preprocessing import StandardScaler\n\nfrom sklearn. model_selection import train_test_split\n\nfrom sklearn. metrics import accuracy_score, f1_score, roc_auc_score\n\nfrom pandas. plotting import register_matplotlib_converters\n\nregister_matplotlib_converters()\n\n\n\ndef preprocessing(data):\n\n # drop any missing values\n\n data = data. dropna()\n\n\n\n # drop any unnecessary columns\n\n data = data. drop(columns=['date', 'time', 'open', 'high', 'low', 'close', 'volume'])\n\n\n\n # standardize the data\n\n scaler = StandardScaler()\n\n data = pd. DataFrame(scaler. fit_transform(data))\n\n\n\n # split the data into training and testing sets\n\n X_train, X_test, Y_train, Y_test = train_test_split(\n\n data. iloc[:,:-1], data. iloc[:, -1], test_size=0.3, random_state=42)\n\n\n\n return X_train, X_test, Y_train, Y_test\n\n\n\ndef create_model(input_shape):\n\n model = Sequential()\n\n\n\n model. add(Dense(64, input_shape=input_shape, activation='relu'))\n\n model. add(Dropout(0.2))\n\n\n\n model. add(Dense(32, activation='relu'))\n\n model. add(Dropout(0.1))\n\n\n\n model. add(Dense(1, activation='sigmoid'))\n\n model. compile(loss='binary_crossentropy', optimizer=Adam(lr=0.0001), metrics=['accuracy'])\n\n\n\n return model\n\n\n\ndef train_model(X_train, X_test, Y_train, Y_test):\n\n input_shape = (X_train. shape[1],)\n\n model = create_model(input_shape)\n\n\n\n model. fit(X_train, Y_train, epochs=100, batch_size=32, validation_data=(X_test, Y_test), verbose=0)\n\n\n\n Y_pred_test = model. predict(X_test)\n\n Y_pred_test = np. round(Y_pred_test)\n\n\n\n accuracy = accuracy_score(Y_test, Y_pred_test)\n\n f1 = f1_score(Y_test, Y_pred_test)\n\n auc = roc_auc_score(Y_test, Y_pred_test)\n\n\n\n return model, accuracy, f1, auc\n\n\n\ndef evaluate_model(model, X_test, Y_test):\n\n Y_pred_test = model. predict(X_test)\n\n Y_pred_test = np. round(Y_pred_test)\n\n\n\n accuracy = accuracy_score(Y_test, Y_pred_test)\n\n f1 = f1_score(Y_test, Y_pred_test)\n\n auc = roc_auc_score(Y_test, Y_pred_test)\n\n\n\n return accuracy, f1, auc\n\n\n\ndef predict(model, data):\n\n # preprocess the data\n\n data = pd. DataFrame(data, columns=['close', 'returns', 'stdev'])\n\n\n\n data = pd. DataFrame(StandardScaler(). fit_transform(data))\n\n data = data. iloc[-1,:]. values. reshape(1, -1)\n\n\n\n # predict the next day's direction\n\n prediction = model. predict(data)\n\n prediction = np. round(prediction)\n\n\n\n return prediction\n\n\n\nif __name__ == '__main__':\n\n # load and preprocess the data\n\n data = pd. read_csv('data. csv')\n\n X_train, X_test, Y_train, Y_test = preprocessing(data)\n\n\n\n # train the model\n\n model, accuracy, f1, auc = train_model(X_train, X_test, Y_train, Y_test)\n\n\n\n # evaluate the model\n\n accuracy, f1, auc = evaluate_model(model, X_test, Y_test)\n\n\n\n # make a prediction\n\n data = pd. read_csv('today. csv')\n\n prediction = predict(model, data)\n\n\n\n if prediction == 1:\n\n print('Buy')\n\n else:\n\n print('Sell') ριασμού",
0 commit comments