{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"import tensorflow as tf\nfrom tensorflow import keras\nfrom tensorflow.keras import layers","metadata":{"id":"6LZ2DvQCJ8iJ"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"import numpy as np\nimport pandas as pd\nimport matplotlib.pyplot as plt\nfrom sklearn.model_selection import train_test_split","metadata":{"id":"FXm34jiuKvYe"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"data = pd.read_csv('creditcard_train.csv')\ndata.head()","metadata":{"id":"1ZWcoV2tK5N0","outputId":"96a58f56-8d14-4e0b-b31c-87734fdc7e6b"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"data_test = pd.read_csv('creditcard_test.csv')\ndata_test.head()","metadata":{"id":"h0FbB3NkK8V7","outputId":"727c9aa3-35e4-4a46-e2bf-b2283acba2f8","scrolled":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"data['Class'].value_counts()","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"X = data.loc[:, data.columns != 'Class']\ny = data.loc[:, data.columns == 'Class']\n\n# X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)","metadata":{"id":"FMcFl19CNWsL"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"X_train = X\ny_train = y","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"inputs = keras.Input(shape=(data.shape[1] - 1,), name=\"data\")\nx = layers.Dense(64, activation=\"relu\", name=\"dense_1\")(inputs)\nx = layers.Dense(64, activation=\"relu\", name=\"dense_2\")(x)\noutputs = layers.Dense(2, activation=\"softmax\", name=\"predictions\")(x)\n\nmodel = keras.Model(inputs=inputs, outputs=outputs)","metadata":{"id":"l00UMiojTZox"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"model.compile(optimizer=keras.optimizers.RMSprop(), \n              loss=keras.losses.SparseCategoricalCrossentropy(),\n              metrics=[keras.metrics.SparseCategoricalAccuracy()])","metadata":{"id":"G0g5sduOS_6w"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"model.fit(X_train, y_train, epochs=20, batch_size=64, validation_data=(X_test, y_test))","metadata":{"id":"HhRKWzEBTF6E","outputId":"fdd0348e-5044-46a2-8c3f-14c218ed2aa5"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"model.evaluate(X_test,  y_test, verbose=2)","metadata":{"id":"mHH9jqq-TRCh","outputId":"9067b8b8-d58f-407d-f728-ec83d5e9a381"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"y_pred = model.predict(data_test)","metadata":{"id":"5zymEmlcX04k"},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"pd.Series(y_pred[:, 1]).value_counts()","metadata":{},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"pd.DataFrame({'Predicted': y_pred[:, 1]}).to_csv('solution.csv', index_label='Id')","metadata":{"id":"Nzqnp8oKX0sc"},"execution_count":null,"outputs":[]}]}