Skip to content

Instantly share code, notes, and snippets.

@syamdev
Last active March 26, 2020 12:36
Show Gist options
  • Save syamdev/04a391b90f69480f7f49d355692480a0 to your computer and use it in GitHub Desktop.
Save syamdev/04a391b90f69480f7f49d355692480a0 to your computer and use it in GitHub Desktop.
Intro to Python for Data Science 11 & 12
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "Intro to Python for Data Science 11 & 12",
"provenance": [],
"collapsed_sections": [],
"authorship_tag": "ABX9TyNMFI/gW22lYDRzxN2uwqYm",
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/syamdev/04a391b90f69480f7f49d355692480a0/intro-to-python-for-data-science-11-12.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "PrBASBDDxHOe",
"colab_type": "text"
},
"source": [
"## Feature Selection"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "eJFEFiyluowF",
"colab_type": "text"
},
"source": [
"### Recursive Feature Elimination"
]
},
{
"cell_type": "code",
"metadata": {
"id": "xH8Uvv_Pufbd",
"colab_type": "code",
"colab": {}
},
"source": [
"import pandas as pd\n",
"import seaborn as sns\n",
"import matplotlib.pyplot as plt\n",
"\n",
"# Mengambil model Decision Tree dari scikit-learn\n",
"from sklearn.tree import DecisionTreeClassifier, export, export_graphviz, plot_tree\n",
"\n",
"# Mengambil fungsi train_test_split dari scikit-learn\n",
"from sklearn.model_selection import train_test_split\n",
"\n",
"# Mengambil model Linear Regression dari scikit-learn\n",
"from sklearn.linear_model import LogisticRegression\n",
"\n",
"# Mengambil fungsi untuk menghitung error\n",
"from sklearn import metrics\n",
"\n",
"# Fungsi normalisasi\n",
"from sklearn.preprocessing import StandardScaler\n",
"\n",
"from sklearn.feature_selection import RFE\n",
"\n",
"from sklearn.cluster import KMeans\n",
"\n",
"import warnings\n",
"warnings.filterwarnings('ignore')"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "aYw5LOvOvSyW",
"colab_type": "code",
"outputId": "3b515e0b-0caf-4461-a8f6-759887f06d9c",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
}
},
"source": [
"# Import data\n",
"university = pd.read_csv('http://bit.ly/dwp-data-university')\n",
"\n",
"# Separate the independent variables (x) and dependent variables (y)\n",
"x = university.drop(columns={'University Class'})\n",
"y = university['University Class']\n",
"\n",
"# Encode the Research column using One Hot Encoding\n",
"x = pd.get_dummies(x, columns=['Research'])\n",
"\n",
"# Add RFE to select the features\n",
"estimator = LogisticRegression()\n",
"scaler = StandardScaler()\n",
"\n",
"# important\n",
"# estimator: model\n",
"# n_features_to_select = fitur yg dipilih setiap iterasi\n",
"# step = jumlah fitur yg di take out bila memiliki nilai coef yg tidak berpengaruh\n",
"selector = RFE(estimator, n_features_to_select=2, step=1)\n",
"selector = selector.fit(scaler.fit_transform(x), y)\n",
"\n",
"selected_features = x.columns[selector.support_]\n",
"\n",
"#x = x[selected_features]\n",
"\n",
"# Split the data into training data and testing data\n",
"x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=1)\n",
"\n",
"# Scale the data\n",
"scaler = StandardScaler()\n",
"x_train = scaler.fit_transform(x_train)\n",
"x_test = scaler.fit_transform(x_test)\n",
"\n",
"# Initiate the model and train it\n",
"model = LogisticRegression()\n",
"model.fit(x_train, y_train)\n",
"\n",
"# Evalutaion metrics\n",
"y_pred = model.predict(x_test)\n",
"accuracy = metrics.accuracy_score(y_test, y_pred)\n",
"print('Accuracy Score: {}'.format(accuracy))"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"Accuracy Score: 0.8636363636363636\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "ez6wfU531Yog",
"colab_type": "code",
"outputId": "72be0f33-d86e-4c7d-b409-8de88dcc5548",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
}
},
"source": [
"# setelah add RFE coef yg sebelumnya 5, jadi 2\n",
"model.coef_"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([[1.38577653, 1.91345414]])"
]
},
"metadata": {
"tags": []
},
"execution_count": 16
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "UbbnlxOb1aFM",
"colab_type": "text"
},
"source": [
"### Stepwise Feature Selection"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "fbsKA7nR3IOb",
"colab_type": "text"
},
"source": [
"Step yg dilakukan:\n",
"- list semua kombinasi feature\n",
"- untuk semua kombinasi, hitung accuration\n",
"- pilih model dgn akurasi paling tinggi"
]
},
{
"cell_type": "code",
"metadata": {
"id": "MZn25jrj1Y05",
"colab_type": "code",
"outputId": "b53a1645-2432-4ba2-826a-a60b438eed1b",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
}
},
"source": [
"x.columns"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"Index(['GRE', 'TOEFL', 'GPA', 'Research_N', 'Research_Y'], dtype='object')"
]
},
"metadata": {
"tags": []
},
"execution_count": 24
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "FELqTYFN3Hpl",
"colab_type": "code",
"colab": {}
},
"source": [
"import itertools"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "2MrTqUTs1ZAf",
"colab_type": "code",
"outputId": "985b9fe7-c56a-4c10-af07-6b23611ea0b7",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 187
}
},
"source": [
"list(itertools.combinations(x.columns, 2))"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[('GRE', 'TOEFL'),\n",
" ('GRE', 'GPA'),\n",
" ('GRE', 'Research_N'),\n",
" ('GRE', 'Research_Y'),\n",
" ('TOEFL', 'GPA'),\n",
" ('TOEFL', 'Research_N'),\n",
" ('TOEFL', 'Research_Y'),\n",
" ('GPA', 'Research_N'),\n",
" ('GPA', 'Research_Y'),\n",
" ('Research_N', 'Research_Y')]"
]
},
"metadata": {
"tags": []
},
"execution_count": 28
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "BacxHNP_6PQ4",
"colab_type": "code",
"outputId": "662fec1d-2089-40af-be48-efdb5fb12dd4",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 544
}
},
"source": [
"total_columns = len(x.columns)\n",
"total_combinations = []\n",
"\n",
"for i in range(5):\n",
" total_combinations = total_combinations + list(itertools.combinations(x.columns, i+1))\n",
"\n",
"total_combinations"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[('GRE',),\n",
" ('TOEFL',),\n",
" ('GPA',),\n",
" ('Research_N',),\n",
" ('Research_Y',),\n",
" ('GRE', 'TOEFL'),\n",
" ('GRE', 'GPA'),\n",
" ('GRE', 'Research_N'),\n",
" ('GRE', 'Research_Y'),\n",
" ('TOEFL', 'GPA'),\n",
" ('TOEFL', 'Research_N'),\n",
" ('TOEFL', 'Research_Y'),\n",
" ('GPA', 'Research_N'),\n",
" ('GPA', 'Research_Y'),\n",
" ('Research_N', 'Research_Y'),\n",
" ('GRE', 'TOEFL', 'GPA'),\n",
" ('GRE', 'TOEFL', 'Research_N'),\n",
" ('GRE', 'TOEFL', 'Research_Y'),\n",
" ('GRE', 'GPA', 'Research_N'),\n",
" ('GRE', 'GPA', 'Research_Y'),\n",
" ('GRE', 'Research_N', 'Research_Y'),\n",
" ('TOEFL', 'GPA', 'Research_N'),\n",
" ('TOEFL', 'GPA', 'Research_Y'),\n",
" ('TOEFL', 'Research_N', 'Research_Y'),\n",
" ('GPA', 'Research_N', 'Research_Y'),\n",
" ('GRE', 'TOEFL', 'GPA', 'Research_N'),\n",
" ('GRE', 'TOEFL', 'GPA', 'Research_Y'),\n",
" ('GRE', 'TOEFL', 'Research_N', 'Research_Y'),\n",
" ('GRE', 'GPA', 'Research_N', 'Research_Y'),\n",
" ('TOEFL', 'GPA', 'Research_N', 'Research_Y'),\n",
" ('GRE', 'TOEFL', 'GPA', 'Research_N', 'Research_Y')]"
]
},
"metadata": {
"tags": []
},
"execution_count": 40
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "QtMZSo0U8R6u",
"colab_type": "code",
"outputId": "05150e45-7162-4fcb-96e9-6a278c3e6c51",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
}
},
"source": [
"# Import data\n",
"university = pd.read_csv('http://bit.ly/dwp-data-university')\n",
"\n",
"# Separate the independent variables (x) and dependent variables (y)\n",
"x = university.drop(columns={'University Class'})\n",
"y = university['University Class']\n",
"\n",
"# Encode the Research column using One Hot Encoding\n",
"x = pd.get_dummies(x, columns=['Research'])\n",
"\n",
"# seleksi kombinasi kolom dimulai disini dgn looping\n",
"total_columns = len(x.columns)\n",
"total_combinations = []\n",
"\n",
"for i in range(5):\n",
" total_combinations = total_combinations + list(itertools.combinations(x.columns, i+1))\n",
" \n",
"number = []\n",
"acc = []\n",
"features = []\n",
"\n",
"iterasi = 0\n",
"for combination in total_combinations:\n",
"\n",
" iterasi += 1\n",
" x_ = x[list(combination)]\n",
"\n",
" # Split the data into training data and testing data\n",
" x_train, x_test, y_train, y_test = train_test_split(x_, y, test_size=0.2, random_state=1)\n",
"\n",
" # Scale the data\n",
" scaler = StandardScaler()\n",
" x_train = scaler.fit_transform(x_train)\n",
" x_test = scaler.fit_transform(x_test)\n",
"\n",
" # Initiate the model and train it\n",
" model = LogisticRegression()\n",
" model.fit(x_train, y_train)\n",
"\n",
" # Evalutaion metrics\n",
" y_pred = model.predict(x_test)\n",
" accuracy = metrics.accuracy_score(y_test, y_pred)\n",
" print('Iteration: {}'.format(iterasi))\n",
" print('Features: {}'.format(list(combination)))\n",
" print('Accuracy Score: {}'.format(accuracy))\n",
" print('\\n')\n",
"\n",
" # Fill the lists\n",
" number.append(iterasi)\n",
" features.append(list(combination))\n",
" acc.append(accuracy)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"Iteration: 1\n",
"Features: ['GRE']\n",
"Accuracy Score: 0.9090909090909091\n",
"\n",
"\n",
"Iteration: 2\n",
"Features: ['TOEFL']\n",
"Accuracy Score: 0.8636363636363636\n",
"\n",
"\n",
"Iteration: 3\n",
"Features: ['GPA']\n",
"Accuracy Score: 0.9545454545454546\n",
"\n",
"\n",
"Iteration: 4\n",
"Features: ['Research_N']\n",
"Accuracy Score: 0.8636363636363636\n",
"\n",
"\n",
"Iteration: 5\n",
"Features: ['Research_Y']\n",
"Accuracy Score: 0.8636363636363636\n",
"\n",
"\n",
"Iteration: 6\n",
"Features: ['GRE', 'TOEFL']\n",
"Accuracy Score: 0.8636363636363636\n",
"\n",
"\n",
"Iteration: 7\n",
"Features: ['GRE', 'GPA']\n",
"Accuracy Score: 0.9545454545454546\n",
"\n",
"\n",
"Iteration: 8\n",
"Features: ['GRE', 'Research_N']\n",
"Accuracy Score: 0.9090909090909091\n",
"\n",
"\n",
"Iteration: 9\n",
"Features: ['GRE', 'Research_Y']\n",
"Accuracy Score: 0.9090909090909091\n",
"\n",
"\n",
"Iteration: 10\n",
"Features: ['TOEFL', 'GPA']\n",
"Accuracy Score: 0.8636363636363636\n",
"\n",
"\n",
"Iteration: 11\n",
"Features: ['TOEFL', 'Research_N']\n",
"Accuracy Score: 0.8636363636363636\n",
"\n",
"\n",
"Iteration: 12\n",
"Features: ['TOEFL', 'Research_Y']\n",
"Accuracy Score: 0.8636363636363636\n",
"\n",
"\n",
"Iteration: 13\n",
"Features: ['GPA', 'Research_N']\n",
"Accuracy Score: 0.9545454545454546\n",
"\n",
"\n",
"Iteration: 14\n",
"Features: ['GPA', 'Research_Y']\n",
"Accuracy Score: 0.9545454545454546\n",
"\n",
"\n",
"Iteration: 15\n",
"Features: ['Research_N', 'Research_Y']\n",
"Accuracy Score: 0.8636363636363636\n",
"\n",
"\n",
"Iteration: 16\n",
"Features: ['GRE', 'TOEFL', 'GPA']\n",
"Accuracy Score: 0.8636363636363636\n",
"\n",
"\n",
"Iteration: 17\n",
"Features: ['GRE', 'TOEFL', 'Research_N']\n",
"Accuracy Score: 0.8636363636363636\n",
"\n",
"\n",
"Iteration: 18\n",
"Features: ['GRE', 'TOEFL', 'Research_Y']\n",
"Accuracy Score: 0.8636363636363636\n",
"\n",
"\n",
"Iteration: 19\n",
"Features: ['GRE', 'GPA', 'Research_N']\n",
"Accuracy Score: 0.9545454545454546\n",
"\n",
"\n",
"Iteration: 20\n",
"Features: ['GRE', 'GPA', 'Research_Y']\n",
"Accuracy Score: 0.9545454545454546\n",
"\n",
"\n",
"Iteration: 21\n",
"Features: ['GRE', 'Research_N', 'Research_Y']\n",
"Accuracy Score: 0.9090909090909091\n",
"\n",
"\n",
"Iteration: 22\n",
"Features: ['TOEFL', 'GPA', 'Research_N']\n",
"Accuracy Score: 0.8636363636363636\n",
"\n",
"\n",
"Iteration: 23\n",
"Features: ['TOEFL', 'GPA', 'Research_Y']\n",
"Accuracy Score: 0.8636363636363636\n",
"\n",
"\n",
"Iteration: 24\n",
"Features: ['TOEFL', 'Research_N', 'Research_Y']\n",
"Accuracy Score: 0.8636363636363636\n",
"\n",
"\n",
"Iteration: 25\n",
"Features: ['GPA', 'Research_N', 'Research_Y']\n",
"Accuracy Score: 0.9545454545454546\n",
"\n",
"\n",
"Iteration: 26\n",
"Features: ['GRE', 'TOEFL', 'GPA', 'Research_N']\n",
"Accuracy Score: 0.8636363636363636\n",
"\n",
"\n",
"Iteration: 27\n",
"Features: ['GRE', 'TOEFL', 'GPA', 'Research_Y']\n",
"Accuracy Score: 0.8636363636363636\n",
"\n",
"\n",
"Iteration: 28\n",
"Features: ['GRE', 'TOEFL', 'Research_N', 'Research_Y']\n",
"Accuracy Score: 0.8636363636363636\n",
"\n",
"\n",
"Iteration: 29\n",
"Features: ['GRE', 'GPA', 'Research_N', 'Research_Y']\n",
"Accuracy Score: 0.9545454545454546\n",
"\n",
"\n",
"Iteration: 30\n",
"Features: ['TOEFL', 'GPA', 'Research_N', 'Research_Y']\n",
"Accuracy Score: 0.8636363636363636\n",
"\n",
"\n",
"Iteration: 31\n",
"Features: ['GRE', 'TOEFL', 'GPA', 'Research_N', 'Research_Y']\n",
"Accuracy Score: 0.8636363636363636\n",
"\n",
"\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "qAajHRaR_TlN",
"colab_type": "code",
"outputId": "35fcb4d8-9c36-45b2-b9aa-373c470a40e8",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
}
},
"source": [
"pd.DataFrame({'iterasi': number,\n",
" 'features': features,\n",
" 'accuracy': acc})"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>iterasi</th>\n",
" <th>features</th>\n",
" <th>accuracy</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" <td>[GRE]</td>\n",
" <td>0.909091</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2</td>\n",
" <td>[TOEFL]</td>\n",
" <td>0.863636</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>3</td>\n",
" <td>[GPA]</td>\n",
" <td>0.954545</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>4</td>\n",
" <td>[Research_N]</td>\n",
" <td>0.863636</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>5</td>\n",
" <td>[Research_Y]</td>\n",
" <td>0.863636</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>6</td>\n",
" <td>[GRE, TOEFL]</td>\n",
" <td>0.863636</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>7</td>\n",
" <td>[GRE, GPA]</td>\n",
" <td>0.954545</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>8</td>\n",
" <td>[GRE, Research_N]</td>\n",
" <td>0.909091</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>9</td>\n",
" <td>[GRE, Research_Y]</td>\n",
" <td>0.909091</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>10</td>\n",
" <td>[TOEFL, GPA]</td>\n",
" <td>0.863636</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>11</td>\n",
" <td>[TOEFL, Research_N]</td>\n",
" <td>0.863636</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>12</td>\n",
" <td>[TOEFL, Research_Y]</td>\n",
" <td>0.863636</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>13</td>\n",
" <td>[GPA, Research_N]</td>\n",
" <td>0.954545</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>14</td>\n",
" <td>[GPA, Research_Y]</td>\n",
" <td>0.954545</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>15</td>\n",
" <td>[Research_N, Research_Y]</td>\n",
" <td>0.863636</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>16</td>\n",
" <td>[GRE, TOEFL, GPA]</td>\n",
" <td>0.863636</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>17</td>\n",
" <td>[GRE, TOEFL, Research_N]</td>\n",
" <td>0.863636</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>18</td>\n",
" <td>[GRE, TOEFL, Research_Y]</td>\n",
" <td>0.863636</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>19</td>\n",
" <td>[GRE, GPA, Research_N]</td>\n",
" <td>0.954545</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>20</td>\n",
" <td>[GRE, GPA, Research_Y]</td>\n",
" <td>0.954545</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>21</td>\n",
" <td>[GRE, Research_N, Research_Y]</td>\n",
" <td>0.909091</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>22</td>\n",
" <td>[TOEFL, GPA, Research_N]</td>\n",
" <td>0.863636</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>23</td>\n",
" <td>[TOEFL, GPA, Research_Y]</td>\n",
" <td>0.863636</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>24</td>\n",
" <td>[TOEFL, Research_N, Research_Y]</td>\n",
" <td>0.863636</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>25</td>\n",
" <td>[GPA, Research_N, Research_Y]</td>\n",
" <td>0.954545</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>26</td>\n",
" <td>[GRE, TOEFL, GPA, Research_N]</td>\n",
" <td>0.863636</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>27</td>\n",
" <td>[GRE, TOEFL, GPA, Research_Y]</td>\n",
" <td>0.863636</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>28</td>\n",
" <td>[GRE, TOEFL, Research_N, Research_Y]</td>\n",
" <td>0.863636</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>29</td>\n",
" <td>[GRE, GPA, Research_N, Research_Y]</td>\n",
" <td>0.954545</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>30</td>\n",
" <td>[TOEFL, GPA, Research_N, Research_Y]</td>\n",
" <td>0.863636</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>31</td>\n",
" <td>[GRE, TOEFL, GPA, Research_N, Research_Y]</td>\n",
" <td>0.863636</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" iterasi features accuracy\n",
"0 1 [GRE] 0.909091\n",
"1 2 [TOEFL] 0.863636\n",
"2 3 [GPA] 0.954545\n",
"3 4 [Research_N] 0.863636\n",
"4 5 [Research_Y] 0.863636\n",
"5 6 [GRE, TOEFL] 0.863636\n",
"6 7 [GRE, GPA] 0.954545\n",
"7 8 [GRE, Research_N] 0.909091\n",
"8 9 [GRE, Research_Y] 0.909091\n",
"9 10 [TOEFL, GPA] 0.863636\n",
"10 11 [TOEFL, Research_N] 0.863636\n",
"11 12 [TOEFL, Research_Y] 0.863636\n",
"12 13 [GPA, Research_N] 0.954545\n",
"13 14 [GPA, Research_Y] 0.954545\n",
"14 15 [Research_N, Research_Y] 0.863636\n",
"15 16 [GRE, TOEFL, GPA] 0.863636\n",
"16 17 [GRE, TOEFL, Research_N] 0.863636\n",
"17 18 [GRE, TOEFL, Research_Y] 0.863636\n",
"18 19 [GRE, GPA, Research_N] 0.954545\n",
"19 20 [GRE, GPA, Research_Y] 0.954545\n",
"20 21 [GRE, Research_N, Research_Y] 0.909091\n",
"21 22 [TOEFL, GPA, Research_N] 0.863636\n",
"22 23 [TOEFL, GPA, Research_Y] 0.863636\n",
"23 24 [TOEFL, Research_N, Research_Y] 0.863636\n",
"24 25 [GPA, Research_N, Research_Y] 0.954545\n",
"25 26 [GRE, TOEFL, GPA, Research_N] 0.863636\n",
"26 27 [GRE, TOEFL, GPA, Research_Y] 0.863636\n",
"27 28 [GRE, TOEFL, Research_N, Research_Y] 0.863636\n",
"28 29 [GRE, GPA, Research_N, Research_Y] 0.954545\n",
"29 30 [TOEFL, GPA, Research_N, Research_Y] 0.863636\n",
"30 31 [GRE, TOEFL, GPA, Research_N, Research_Y] 0.863636"
]
},
"metadata": {
"tags": []
},
"execution_count": 50
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "5xUY9NlEG9j6",
"colab_type": "text"
},
"source": [
"## Supervised Learning (Decision Tree)"
]
},
{
"cell_type": "code",
"metadata": {
"id": "FHXFxNm9HEHb",
"colab_type": "code",
"colab": {}
},
"source": [
"university = pd.read_csv('http://bit.ly/dwp-data-university')"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "g8e1yyqmHjXv",
"colab_type": "code",
"outputId": "de3b036e-6b74-410f-b35d-68dcb7bee321",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 204
}
},
"source": [
"university.head()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>GRE</th>\n",
" <th>TOEFL</th>\n",
" <th>GPA</th>\n",
" <th>Research</th>\n",
" <th>University Class</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>330</td>\n",
" <td>115</td>\n",
" <td>9.34</td>\n",
" <td>Y</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>302</td>\n",
" <td>102</td>\n",
" <td>8.00</td>\n",
" <td>N</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>328</td>\n",
" <td>116</td>\n",
" <td>9.50</td>\n",
" <td>Y</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>334</td>\n",
" <td>119</td>\n",
" <td>9.70</td>\n",
" <td>Y</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>336</td>\n",
" <td>119</td>\n",
" <td>9.80</td>\n",
" <td>Y</td>\n",
" <td>1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" GRE TOEFL GPA Research University Class\n",
"0 330 115 9.34 Y 1\n",
"1 302 102 8.00 N 0\n",
"2 328 116 9.50 Y 1\n",
"3 334 119 9.70 Y 1\n",
"4 336 119 9.80 Y 1"
]
},
"metadata": {
"tags": []
},
"execution_count": 69
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "h2sFPNd4IZLh",
"colab_type": "code",
"outputId": "a1bd6975-fef0-4b11-f5af-fd95dd388d41",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
}
},
"source": [
"# Import data\n",
"university = pd.read_csv('http://bit.ly/dwp-data-university')\n",
"\n",
"# Separate the independent variables (x) and dependent variables (y)\n",
"x = university.drop(columns={'University Class'})\n",
"y = university['University Class']\n",
"\n",
"# Convert research column\n",
"def convert_research(value):\n",
" if value == 'Y':\n",
" return 1\n",
" return 0\n",
"\n",
"x['Research'] = x['Research'].apply(convert_research)\n",
"\n",
"# Split the data into training data and testing data\n",
"x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=1)\n",
"\n",
"# Scale the data\n",
"scaler = StandardScaler()\n",
"x_train = scaler.fit_transform(x_train)\n",
"x_test = scaler.fit_transform(x_test)\n",
"\n",
"# Initiate the model and train it\n",
"model = DecisionTreeClassifier()\n",
"model.fit(x_train, y_train)\n",
"\n",
"# Evalutaion metrics\n",
"y_pred = model.predict(x_test)\n",
"accuracy = metrics.accuracy_score(y_test, y_pred)\n",
"print('Accuracy Score: {}'.format(accuracy))"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"Accuracy Score: 0.9090909090909091\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "xGf3uBWCJ-gb",
"colab_type": "code",
"outputId": "cd84d744-ca33-406b-df8a-747d1d6edcb9",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
}
},
"source": [
"model.feature_importances_"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([0.04106978, 0.02282996, 0.93610026, 0. ])"
]
},
"metadata": {
"tags": []
},
"execution_count": 66
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "F7GIgmnTMPgo",
"colab_type": "code",
"outputId": "18b52761-4bf7-4ea3-8e1b-e055659d4fbd",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
}
},
"source": [
"x.columns"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"Index(['GRE', 'TOEFL', 'GPA', 'Research'], dtype='object')"
]
},
"metadata": {
"tags": []
},
"execution_count": 63
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "n75mU_yaOCjr",
"colab_type": "code",
"outputId": "49422901-2da4-4c1b-cb9d-df181b2a6245",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 282
}
},
"source": [
"coef = pd.DataFrame({'columns': x.columns.tolist(),\n",
" 'coefficient': model.feature_importances_.tolist()})\n",
"\n",
"coef = coef.sort_values('coefficient')\n",
"\n",
"coef.plot(x='columns', y='coefficient', kind='barh')"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f0bef890390>"
]
},
"metadata": {
"tags": []
},
"execution_count": 70
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n+znE29QwVAAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "qJW4kwgkMX7i",
"colab_type": "code",
"outputId": "217dba21-5db7-4002-c3b7-916dc8f2b852",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 296
}
},
"source": [
"sns.scatterplot(data=university, x='GRE', y='University Class', hue='University Class')"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f0bf26ba4a8>"
]
},
"metadata": {
"tags": []
},
"execution_count": 64
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "DjQjWFLaNb8y",
"colab_type": "code",
"outputId": "da6dba6e-a509-40a1-8b61-465a0e8fade7",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 408
}
},
"source": [
"result = export.export_text(model, feature_names=list(x.columns))\n",
"\n",
"print(result)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"|--- GPA <= -0.23\n",
"| |--- TOEFL <= -0.81\n",
"| | |--- class: 0\n",
"| |--- TOEFL > -0.81\n",
"| | |--- GPA <= -1.09\n",
"| | | |--- class: 0\n",
"| | |--- GPA > -1.09\n",
"| | | |--- class: 1\n",
"|--- GPA > -0.23\n",
"| |--- GRE <= -0.05\n",
"| | |--- TOEFL <= -0.24\n",
"| | | |--- class: 1\n",
"| | |--- TOEFL > -0.24\n",
"| | | |--- class: 0\n",
"| |--- GRE > -0.05\n",
"| | |--- GPA <= -0.09\n",
"| | | |--- TOEFL <= 0.07\n",
"| | | | |--- class: 1\n",
"| | | |--- TOEFL > 0.07\n",
"| | | | |--- class: 0\n",
"| | |--- GPA > -0.09\n",
"| | | |--- class: 1\n",
"\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "dyFKOEGdOaYh",
"colab_type": "code",
"colab": {}
},
"source": [
"export_graphviz(model, feature_names=list(x.columns), out_file='tree.txt')"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "CQhfv-xwkdBw",
"colab_type": "text"
},
"source": [
"## Unsupervised Learning (K-Means Clustering)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "355B8VnnmbNx",
"colab_type": "text"
},
"source": [
"K-Means: digunakan untuk mengelompokkan data (clustering)"
]
},
{
"cell_type": "code",
"metadata": {
"id": "-wc8mMUBkjqp",
"colab_type": "code",
"colab": {}
},
"source": [
"# Import data\n",
"university = pd.read_csv('http://bit.ly/dwp-data-university')\n",
"university = university[['GRE', 'GPA']]"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "l9As02m1lXw6",
"colab_type": "code",
"outputId": "ea0cbf16-e90b-4c7b-8732-164620f7e6a9",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 204
}
},
"source": [
"university.head()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>GRE</th>\n",
" <th>GPA</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>330</td>\n",
" <td>9.34</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>302</td>\n",
" <td>8.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>328</td>\n",
" <td>9.50</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>334</td>\n",
" <td>9.70</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>336</td>\n",
" <td>9.80</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" GRE GPA\n",
"0 330 9.34\n",
"1 302 8.00\n",
"2 328 9.50\n",
"3 334 9.70\n",
"4 336 9.80"
]
},
"metadata": {
"tags": []
},
"execution_count": 77
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "zBURZnEdlZ2M",
"colab_type": "code",
"outputId": "e067d84e-247d-4651-a396-a971f7592a35",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 279
}
},
"source": [
"viz = sns.scatterplot(data=university, x='GRE', y='GPA')"
],
"execution_count": 0,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\nYnNCzlgInDEAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "6J480iEEllyd",
"colab_type": "code",
"outputId": "fc2fd349-4a95-4f63-89df-b024b410d529",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 279
}
},
"source": [
"# Scale the data\n",
"scaler = StandardScaler()\n",
"university = scaler.fit_transform(university)\n",
"\n",
"# Initiate the model and train it\n",
"model = KMeans(n_clusters=2, random_state=1)\n",
"model.fit(university)\n",
"\n",
"# Combine the result and visualize it\n",
"x = pd.DataFrame(university, columns=['GRE', 'GPA'])\n",
"y = pd.DataFrame(model.labels_, columns=['class'])\n",
"full_data = pd.concat([x, y], axis=1)\n",
"viz = sns.scatterplot(data=full_data, x='GRE', y='GPA', hue='class')"
],
"execution_count": 0,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\nAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"colab_type": "code",
"outputId": "0a9a0413-265a-40a6-fd24-5afab29337fb",
"id": "yOCozjUeqIyw",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 102
}
},
"source": [
"model.labels_"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"array([0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0,\n",
" 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,\n",
" 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0,\n",
" 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0,\n",
" 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0], dtype=int32)"
]
},
"metadata": {
"tags": []
},
"execution_count": 87
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "6zGlFbvJoCzU",
"colab_type": "code",
"outputId": "10357666-65da-4f5e-c068-97f3b9c4dd12",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 34
}
},
"source": [
"model.inertia_"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"45.87798871012893"
]
},
"metadata": {
"tags": []
},
"execution_count": 88
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "DljsHRbAqSuB",
"colab_type": "code",
"outputId": "96db8d98-89c8-4522-db55-0567c78a333a",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 282
}
},
"source": [
"# Elbow Method: untuk mendapatkan jml cluster yg optimal\n",
"# x=cluster & y=model.inertia_\n",
"sns.lineplot(x=[1, 2, 3, 4, 5, 6], y=[212, 45, 30, 21, 17, 13])\n",
"# case diatas cluster optimal adalah 2"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f0bee14abe0>"
]
},
"metadata": {
"tags": []
},
"execution_count": 91
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "53QV_Vt6ux9B",
"colab_type": "text"
},
"source": [
"## Neural Network"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "pDPw4eilwgKb",
"colab_type": "text"
},
"source": [
"- Arsitekturnya terdiri dari: input layer, hidden layer, output layer\n",
"- Normalnya punya 1 hidden layer, bila lebih dari 1 disebut deep layer (deep learning)\n",
"\n",
"- Proccess\n",
" - **Feedforward**: input ke output\n",
" - **Backpropagation**: output ke input, untuk mencari error dan minimalisir error dgn men-tuning **weight & bias**\n",
"\n",
"- Bisa digunakan untuk case regression & classification\n",
"- Cocok untuk jml data yg jutaan"
]
},
{
"cell_type": "code",
"metadata": {
"id": "7BFKVJjcuwpG",
"colab_type": "code",
"colab": {}
},
"source": [
"import pandas as pd\n",
"import tensorflow as tf\n",
"import matplotlib.pyplot as plt\n",
"\n",
"from tensorflow.keras import Sequential\n",
"from tensorflow.keras.layers import Dense\n",
"from tensorflow.keras.optimizers import Adam\n",
"\n",
"from sklearn.preprocessing import StandardScaler\n",
"from sklearn.model_selection import train_test_split"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "lTvqeinHvm7i",
"colab_type": "code",
"colab": {}
},
"source": [
"data = pd.read_csv('http://bit.ly/dwp-data-car')"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "8asJbF8Kvm3J",
"colab_type": "code",
"outputId": "0b923be6-43d7-49de-d11f-15fb5eb7437f",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 204
}
},
"source": [
"data.head()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Cylinders</th>\n",
" <th>Displacement</th>\n",
" <th>Horsepower</th>\n",
" <th>Weight</th>\n",
" <th>Acceleration</th>\n",
" <th>Model Year</th>\n",
" <th>Origin</th>\n",
" <th>MPG</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>8</td>\n",
" <td>307</td>\n",
" <td>130</td>\n",
" <td>3504</td>\n",
" <td>12</td>\n",
" <td>70</td>\n",
" <td>1</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>8</td>\n",
" <td>350</td>\n",
" <td>165</td>\n",
" <td>3693</td>\n",
" <td>11</td>\n",
" <td>70</td>\n",
" <td>1</td>\n",
" <td>15</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>8</td>\n",
" <td>318</td>\n",
" <td>150</td>\n",
" <td>3436</td>\n",
" <td>11</td>\n",
" <td>70</td>\n",
" <td>1</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>8</td>\n",
" <td>304</td>\n",
" <td>150</td>\n",
" <td>3433</td>\n",
" <td>12</td>\n",
" <td>70</td>\n",
" <td>1</td>\n",
" <td>16</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>8</td>\n",
" <td>302</td>\n",
" <td>140</td>\n",
" <td>3449</td>\n",
" <td>10</td>\n",
" <td>70</td>\n",
" <td>1</td>\n",
" <td>17</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Cylinders Displacement Horsepower ... Model Year Origin MPG\n",
"0 8 307 130 ... 70 1 18\n",
"1 8 350 165 ... 70 1 15\n",
"2 8 318 150 ... 70 1 18\n",
"3 8 304 150 ... 70 1 16\n",
"4 8 302 140 ... 70 1 17\n",
"\n",
"[5 rows x 8 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 95
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "KCuVzspo1gtM",
"colab_type": "text"
},
"source": [
"### Neural Network for Regression"
]
},
{
"cell_type": "code",
"metadata": {
"id": "OF4ppxQOvm0W",
"colab_type": "code",
"outputId": "9abeb630-9775-4d83-b5a1-313f08793537",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
}
},
"source": [
"# Seperate independent variables and dependent variables\n",
"x = data.drop(columns=['MPG'])\n",
"y = data['MPG']\n",
"\n",
"# Split the data into training set and testing set\n",
"x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=1)\n",
"\n",
"# Standardize the data\n",
"scaler = StandardScaler()\n",
"x_train = scaler.fit_transform(x_train)\n",
"x_test = scaler.fit_transform(x_test)\n",
"\n",
"# Build the model\n",
"model = Sequential()\n",
"\n",
"# untuk hidden layer neuron(Dense) berdasarkan paper/riset adalah kelipatan 8 (experimental)\n",
"# x_train.shape[1]: input neuron (jml kolom)\n",
"model.add(Dense(8, input_dim=x_train.shape[1], activation='relu')) # Hidden layer pertama\n",
"model.add(Dense(8, activation='relu')) # Hidden layer kedua\n",
"model.add(Dense(1, activation='relu')) # Output layer\n",
"\n",
"# untuk backpropagation\n",
"# lr(learning rate): tuning optimizer \n",
"model.compile(loss='mae', optimizer=Adam(lr=0.005))\n",
"\n",
"# Train the model\n",
"history = model.fit(x_train, y_train, batch_size=64, epochs=100, validation_data=(x_test, y_test))\n",
"\n",
"# Didapat loss(hasil x_train), val_loss(hasil x_test)"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"Train on 313 samples, validate on 79 samples\n",
"Epoch 1/100\n",
"313/313 [==============================] - 1s 2ms/sample - loss: 23.0285 - val_loss: 23.0862\n",
"Epoch 2/100\n",
"313/313 [==============================] - 0s 57us/sample - loss: 22.7782 - val_loss: 22.7902\n",
"Epoch 3/100\n",
"313/313 [==============================] - 0s 56us/sample - loss: 22.4527 - val_loss: 22.4268\n",
"Epoch 4/100\n",
"313/313 [==============================] - 0s 53us/sample - loss: 22.0551 - val_loss: 21.9813\n",
"Epoch 5/100\n",
"313/313 [==============================] - 0s 54us/sample - loss: 21.5804 - val_loss: 21.4390\n",
"Epoch 6/100\n",
"313/313 [==============================] - 0s 56us/sample - loss: 20.9855 - val_loss: 20.7765\n",
"Epoch 7/100\n",
"313/313 [==============================] - 0s 45us/sample - loss: 20.2774 - val_loss: 19.9526\n",
"Epoch 8/100\n",
"313/313 [==============================] - 0s 52us/sample - loss: 19.3848 - val_loss: 18.9373\n",
"Epoch 9/100\n",
"313/313 [==============================] - 0s 48us/sample - loss: 18.3028 - val_loss: 17.6859\n",
"Epoch 10/100\n",
"313/313 [==============================] - 0s 48us/sample - loss: 16.9436 - val_loss: 16.1673\n",
"Epoch 11/100\n",
"313/313 [==============================] - 0s 46us/sample - loss: 15.3059 - val_loss: 14.3281\n",
"Epoch 12/100\n",
"313/313 [==============================] - 0s 45us/sample - loss: 13.3584 - val_loss: 12.1305\n",
"Epoch 13/100\n",
"313/313 [==============================] - 0s 44us/sample - loss: 11.2030 - val_loss: 10.5584\n",
"Epoch 14/100\n",
"313/313 [==============================] - 0s 49us/sample - loss: 9.5100 - val_loss: 10.1913\n",
"Epoch 15/100\n",
"313/313 [==============================] - 0s 53us/sample - loss: 8.6671 - val_loss: 10.0731\n",
"Epoch 16/100\n",
"313/313 [==============================] - 0s 53us/sample - loss: 8.0960 - val_loss: 9.6380\n",
"Epoch 17/100\n",
"313/313 [==============================] - 0s 57us/sample - loss: 7.5629 - val_loss: 8.9983\n",
"Epoch 18/100\n",
"313/313 [==============================] - 0s 51us/sample - loss: 7.0057 - val_loss: 8.2729\n",
"Epoch 19/100\n",
"313/313 [==============================] - 0s 57us/sample - loss: 6.4354 - val_loss: 7.7318\n",
"Epoch 20/100\n",
"313/313 [==============================] - 0s 50us/sample - loss: 6.0313 - val_loss: 7.1512\n",
"Epoch 21/100\n",
"313/313 [==============================] - 0s 48us/sample - loss: 5.6225 - val_loss: 6.6890\n",
"Epoch 22/100\n",
"313/313 [==============================] - 0s 52us/sample - loss: 5.2537 - val_loss: 6.2509\n",
"Epoch 23/100\n",
"313/313 [==============================] - 0s 52us/sample - loss: 4.8937 - val_loss: 5.8099\n",
"Epoch 24/100\n",
"313/313 [==============================] - 0s 55us/sample - loss: 4.5560 - val_loss: 5.2710\n",
"Epoch 25/100\n",
"313/313 [==============================] - 0s 52us/sample - loss: 4.2280 - val_loss: 4.7264\n",
"Epoch 26/100\n",
"313/313 [==============================] - 0s 52us/sample - loss: 3.9522 - val_loss: 4.2849\n",
"Epoch 27/100\n",
"313/313 [==============================] - 0s 53us/sample - loss: 3.6953 - val_loss: 3.9282\n",
"Epoch 28/100\n",
"313/313 [==============================] - 0s 48us/sample - loss: 3.4534 - val_loss: 3.5858\n",
"Epoch 29/100\n",
"313/313 [==============================] - 0s 58us/sample - loss: 3.2457 - val_loss: 3.2468\n",
"Epoch 30/100\n",
"313/313 [==============================] - 0s 50us/sample - loss: 3.0427 - val_loss: 2.8984\n",
"Epoch 31/100\n",
"313/313 [==============================] - 0s 48us/sample - loss: 2.8854 - val_loss: 2.7481\n",
"Epoch 32/100\n",
"313/313 [==============================] - 0s 48us/sample - loss: 2.7274 - val_loss: 2.7789\n",
"Epoch 33/100\n",
"313/313 [==============================] - 0s 45us/sample - loss: 2.5931 - val_loss: 2.6335\n",
"Epoch 34/100\n",
"313/313 [==============================] - 0s 58us/sample - loss: 2.4878 - val_loss: 2.5013\n",
"Epoch 35/100\n",
"313/313 [==============================] - 0s 47us/sample - loss: 2.4259 - val_loss: 2.4903\n",
"Epoch 36/100\n",
"313/313 [==============================] - 0s 55us/sample - loss: 2.3371 - val_loss: 2.4307\n",
"Epoch 37/100\n",
"313/313 [==============================] - 0s 61us/sample - loss: 2.2913 - val_loss: 2.3479\n",
"Epoch 38/100\n",
"313/313 [==============================] - 0s 60us/sample - loss: 2.2498 - val_loss: 2.2765\n",
"Epoch 39/100\n",
"313/313 [==============================] - 0s 66us/sample - loss: 2.2251 - val_loss: 2.2944\n",
"Epoch 40/100\n",
"313/313 [==============================] - 0s 51us/sample - loss: 2.1903 - val_loss: 2.2666\n",
"Epoch 41/100\n",
"313/313 [==============================] - 0s 51us/sample - loss: 2.1773 - val_loss: 2.2828\n",
"Epoch 42/100\n",
"313/313 [==============================] - 0s 57us/sample - loss: 2.1429 - val_loss: 2.2185\n",
"Epoch 43/100\n",
"313/313 [==============================] - 0s 47us/sample - loss: 2.1309 - val_loss: 2.2147\n",
"Epoch 44/100\n",
"313/313 [==============================] - 0s 52us/sample - loss: 2.0972 - val_loss: 2.2250\n",
"Epoch 45/100\n",
"313/313 [==============================] - 0s 47us/sample - loss: 2.0910 - val_loss: 2.1473\n",
"Epoch 46/100\n",
"313/313 [==============================] - 0s 55us/sample - loss: 2.0578 - val_loss: 2.1921\n",
"Epoch 47/100\n",
"313/313 [==============================] - 0s 49us/sample - loss: 2.0622 - val_loss: 2.1768\n",
"Epoch 48/100\n",
"313/313 [==============================] - 0s 55us/sample - loss: 2.0386 - val_loss: 2.1402\n",
"Epoch 49/100\n",
"313/313 [==============================] - 0s 51us/sample - loss: 2.0244 - val_loss: 2.1576\n",
"Epoch 50/100\n",
"313/313 [==============================] - 0s 51us/sample - loss: 1.9990 - val_loss: 2.1680\n",
"Epoch 51/100\n",
"313/313 [==============================] - 0s 59us/sample - loss: 1.9829 - val_loss: 2.1705\n",
"Epoch 52/100\n",
"313/313 [==============================] - 0s 46us/sample - loss: 1.9641 - val_loss: 2.1432\n",
"Epoch 53/100\n",
"313/313 [==============================] - 0s 45us/sample - loss: 1.9614 - val_loss: 2.1413\n",
"Epoch 54/100\n",
"313/313 [==============================] - 0s 54us/sample - loss: 1.9606 - val_loss: 2.1797\n",
"Epoch 55/100\n",
"313/313 [==============================] - 0s 53us/sample - loss: 1.9688 - val_loss: 2.1009\n",
"Epoch 56/100\n",
"313/313 [==============================] - 0s 55us/sample - loss: 1.9376 - val_loss: 2.1290\n",
"Epoch 57/100\n",
"313/313 [==============================] - 0s 61us/sample - loss: 1.9251 - val_loss: 2.1503\n",
"Epoch 58/100\n",
"313/313 [==============================] - 0s 57us/sample - loss: 1.9166 - val_loss: 2.1218\n",
"Epoch 59/100\n",
"313/313 [==============================] - 0s 42us/sample - loss: 1.9068 - val_loss: 2.1334\n",
"Epoch 60/100\n",
"313/313 [==============================] - 0s 61us/sample - loss: 1.8974 - val_loss: 2.1297\n",
"Epoch 61/100\n",
"313/313 [==============================] - 0s 47us/sample - loss: 1.8950 - val_loss: 2.1138\n",
"Epoch 62/100\n",
"313/313 [==============================] - 0s 48us/sample - loss: 1.9001 - val_loss: 2.1185\n",
"Epoch 63/100\n",
"313/313 [==============================] - 0s 56us/sample - loss: 1.8827 - val_loss: 2.0657\n",
"Epoch 64/100\n",
"313/313 [==============================] - 0s 50us/sample - loss: 1.8950 - val_loss: 2.0993\n",
"Epoch 65/100\n",
"313/313 [==============================] - 0s 52us/sample - loss: 1.8765 - val_loss: 2.0755\n",
"Epoch 66/100\n",
"313/313 [==============================] - 0s 53us/sample - loss: 1.8591 - val_loss: 2.1107\n",
"Epoch 67/100\n",
"313/313 [==============================] - 0s 49us/sample - loss: 1.8626 - val_loss: 2.1189\n",
"Epoch 68/100\n",
"313/313 [==============================] - 0s 52us/sample - loss: 1.8547 - val_loss: 2.0951\n",
"Epoch 69/100\n",
"313/313 [==============================] - 0s 68us/sample - loss: 1.8449 - val_loss: 2.1130\n",
"Epoch 70/100\n",
"313/313 [==============================] - 0s 49us/sample - loss: 1.8431 - val_loss: 2.0952\n",
"Epoch 71/100\n",
"313/313 [==============================] - 0s 48us/sample - loss: 1.8502 - val_loss: 2.0764\n",
"Epoch 72/100\n",
"313/313 [==============================] - 0s 54us/sample - loss: 1.8362 - val_loss: 2.1107\n",
"Epoch 73/100\n",
"313/313 [==============================] - 0s 55us/sample - loss: 1.8275 - val_loss: 2.0878\n",
"Epoch 74/100\n",
"313/313 [==============================] - 0s 49us/sample - loss: 1.8247 - val_loss: 2.0744\n",
"Epoch 75/100\n",
"313/313 [==============================] - 0s 48us/sample - loss: 1.8236 - val_loss: 2.1153\n",
"Epoch 76/100\n",
"313/313 [==============================] - 0s 43us/sample - loss: 1.8241 - val_loss: 2.0755\n",
"Epoch 77/100\n",
"313/313 [==============================] - 0s 49us/sample - loss: 1.8071 - val_loss: 2.0957\n",
"Epoch 78/100\n",
"313/313 [==============================] - 0s 44us/sample - loss: 1.8123 - val_loss: 2.0674\n",
"Epoch 79/100\n",
"313/313 [==============================] - 0s 45us/sample - loss: 1.8054 - val_loss: 2.0749\n",
"Epoch 80/100\n",
"313/313 [==============================] - 0s 46us/sample - loss: 1.7987 - val_loss: 2.0666\n",
"Epoch 81/100\n",
"313/313 [==============================] - 0s 51us/sample - loss: 1.8221 - val_loss: 2.0547\n",
"Epoch 82/100\n",
"313/313 [==============================] - 0s 46us/sample - loss: 1.7884 - val_loss: 2.1293\n",
"Epoch 83/100\n",
"313/313 [==============================] - 0s 51us/sample - loss: 1.8075 - val_loss: 2.0401\n",
"Epoch 84/100\n",
"313/313 [==============================] - 0s 44us/sample - loss: 1.7925 - val_loss: 2.0638\n",
"Epoch 85/100\n",
"313/313 [==============================] - 0s 64us/sample - loss: 1.7965 - val_loss: 2.1025\n",
"Epoch 86/100\n",
"313/313 [==============================] - 0s 54us/sample - loss: 1.7888 - val_loss: 2.0361\n",
"Epoch 87/100\n",
"313/313 [==============================] - 0s 52us/sample - loss: 1.7765 - val_loss: 2.0510\n",
"Epoch 88/100\n",
"313/313 [==============================] - 0s 52us/sample - loss: 1.7605 - val_loss: 2.0796\n",
"Epoch 89/100\n",
"313/313 [==============================] - 0s 56us/sample - loss: 1.7682 - val_loss: 2.0684\n",
"Epoch 90/100\n",
"313/313 [==============================] - 0s 60us/sample - loss: 1.7808 - val_loss: 2.0596\n",
"Epoch 91/100\n",
"313/313 [==============================] - 0s 57us/sample - loss: 1.7657 - val_loss: 2.0967\n",
"Epoch 92/100\n",
"313/313 [==============================] - 0s 50us/sample - loss: 1.7540 - val_loss: 2.0203\n",
"Epoch 93/100\n",
"313/313 [==============================] - 0s 48us/sample - loss: 1.7709 - val_loss: 2.0552\n",
"Epoch 94/100\n",
"313/313 [==============================] - 0s 47us/sample - loss: 1.7561 - val_loss: 2.0899\n",
"Epoch 95/100\n",
"313/313 [==============================] - 0s 46us/sample - loss: 1.7470 - val_loss: 2.0234\n",
"Epoch 96/100\n",
"313/313 [==============================] - 0s 51us/sample - loss: 1.7823 - val_loss: 2.0995\n",
"Epoch 97/100\n",
"313/313 [==============================] - 0s 70us/sample - loss: 1.7706 - val_loss: 2.1408\n",
"Epoch 98/100\n",
"313/313 [==============================] - 0s 58us/sample - loss: 1.7658 - val_loss: 2.0587\n",
"Epoch 99/100\n",
"313/313 [==============================] - 0s 53us/sample - loss: 1.7578 - val_loss: 2.0731\n",
"Epoch 100/100\n",
"313/313 [==============================] - 0s 50us/sample - loss: 1.7545 - val_loss: 2.1332\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "bOHtLDEuvmvC",
"colab_type": "code",
"outputId": "6ad52b65-1cbd-4efe-de16-2d89bbb0a1bf",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 296
}
},
"source": [
"plt.plot(history.history['loss'])\n",
"plt.plot(history.history['val_loss'])\n",
"plt.xlabel('Epoch')\n",
"plt.ylabel('Loss')\n",
"plt.legend(['Train', 'Validation'])"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x7f0baf52a588>"
]
},
"metadata": {
"tags": []
},
"execution_count": 123
},
{
"output_type": "display_data",
"data": {
"image/png": "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\nHYnvWri5vAAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "OgZ9nftD_mSR",
"colab_type": "text"
},
"source": [
"- data bagus: plot validation mirip plot train\n",
"- overfitting: nilai validasinya tinggi (errornya tinggi)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "Xdya2D2iChHh",
"colab_type": "text"
},
"source": [
"### Neural Network for Classification"
]
},
{
"cell_type": "code",
"metadata": {
"id": "C5HFoCLLvmr7",
"colab_type": "code",
"outputId": "cbe28bdf-6ed5-4e2b-ed91-cfa5b526b786",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 204
}
},
"source": [
"# One Hot Encoding\n",
"classification_data = pd.get_dummies(data, columns=['Origin'])\n",
"\n",
"classification_data.head()"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Cylinders</th>\n",
" <th>Displacement</th>\n",
" <th>Horsepower</th>\n",
" <th>Weight</th>\n",
" <th>Acceleration</th>\n",
" <th>Model Year</th>\n",
" <th>MPG</th>\n",
" <th>Origin_1</th>\n",
" <th>Origin_2</th>\n",
" <th>Origin_3</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>8</td>\n",
" <td>307</td>\n",
" <td>130</td>\n",
" <td>3504</td>\n",
" <td>12</td>\n",
" <td>70</td>\n",
" <td>18</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>8</td>\n",
" <td>350</td>\n",
" <td>165</td>\n",
" <td>3693</td>\n",
" <td>11</td>\n",
" <td>70</td>\n",
" <td>15</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>8</td>\n",
" <td>318</td>\n",
" <td>150</td>\n",
" <td>3436</td>\n",
" <td>11</td>\n",
" <td>70</td>\n",
" <td>18</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>8</td>\n",
" <td>304</td>\n",
" <td>150</td>\n",
" <td>3433</td>\n",
" <td>12</td>\n",
" <td>70</td>\n",
" <td>16</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>8</td>\n",
" <td>302</td>\n",
" <td>140</td>\n",
" <td>3449</td>\n",
" <td>10</td>\n",
" <td>70</td>\n",
" <td>17</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Cylinders Displacement Horsepower ... Origin_1 Origin_2 Origin_3\n",
"0 8 307 130 ... 1 0 0\n",
"1 8 350 165 ... 1 0 0\n",
"2 8 318 150 ... 1 0 0\n",
"3 8 304 150 ... 1 0 0\n",
"4 8 302 140 ... 1 0 0\n",
"\n",
"[5 rows x 10 columns]"
]
},
"metadata": {
"tags": []
},
"execution_count": 121
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "OamJHjImvkF0",
"colab_type": "code",
"outputId": "a386e829-30a1-4af7-947a-e12ee851c869",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
}
},
"source": [
"# Seperate independent variables and dependent variables\n",
"x = classification_data.drop(columns=['Origin_1', 'Origin_2', 'Origin_3'])\n",
"y = classification_data[['Origin_1', 'Origin_2', 'Origin_3']]\n",
"\n",
"# Split the data into training set and testing set\n",
"x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=1)\n",
"\n",
"# Standardize the data\n",
"scaler = StandardScaler()\n",
"x_train = scaler.fit_transform(x_train)\n",
"x_test = scaler.fit_transform(x_test)\n",
"\n",
"# Build the model\n",
"model = Sequential()\n",
"\n",
"model.add(Dense(8, input_dim=x_train.shape[1], activation='relu')) # Hidden layer pertama\n",
"model.add(Dense(3, activation='softmax')) # output layer, activation untuk One Hot Encoding, Dense 3 krn ada 3 kolom OneHot Encoding\n",
"\n",
"model.compile(loss='categorical_crossentropy', optimizer=Adam(lr=0.005), metrics=['accuracy'])\n",
"\n",
"# Train the model\n",
"history = model.fit(x_train, y_train, batch_size=32, epochs=100, validation_data=(x_test, y_test))"
],
"execution_count": 0,
"outputs": [
{
"output_type": "stream",
"text": [
"Train on 313 samples, validate on 79 samples\n",
"Epoch 1/100\n",
"313/313 [==============================] - 1s 2ms/sample - loss: 1.4455 - acc: 0.1725 - val_loss: 1.2558 - val_acc: 0.2152\n",
"Epoch 2/100\n",
"313/313 [==============================] - 0s 96us/sample - loss: 1.1903 - acc: 0.2812 - val_loss: 1.0538 - val_acc: 0.4304\n",
"Epoch 3/100\n",
"313/313 [==============================] - 0s 101us/sample - loss: 1.0263 - acc: 0.4824 - val_loss: 0.9181 - val_acc: 0.6076\n",
"Epoch 4/100\n",
"313/313 [==============================] - 0s 116us/sample - loss: 0.9149 - acc: 0.6198 - val_loss: 0.8265 - val_acc: 0.6835\n",
"Epoch 5/100\n",
"313/313 [==============================] - 0s 100us/sample - loss: 0.8401 - acc: 0.6741 - val_loss: 0.7564 - val_acc: 0.7215\n",
"Epoch 6/100\n",
"313/313 [==============================] - 0s 100us/sample - loss: 0.7855 - acc: 0.6677 - val_loss: 0.7052 - val_acc: 0.7468\n",
"Epoch 7/100\n",
"313/313 [==============================] - 0s 100us/sample - loss: 0.7475 - acc: 0.6773 - val_loss: 0.6674 - val_acc: 0.7342\n",
"Epoch 8/100\n",
"313/313 [==============================] - 0s 100us/sample - loss: 0.7220 - acc: 0.6837 - val_loss: 0.6410 - val_acc: 0.7468\n",
"Epoch 9/100\n",
"313/313 [==============================] - 0s 91us/sample - loss: 0.7022 - acc: 0.6837 - val_loss: 0.6208 - val_acc: 0.7468\n",
"Epoch 10/100\n",
"313/313 [==============================] - 0s 109us/sample - loss: 0.6859 - acc: 0.6901 - val_loss: 0.6056 - val_acc: 0.7722\n",
"Epoch 11/100\n",
"313/313 [==============================] - 0s 98us/sample - loss: 0.6741 - acc: 0.6965 - val_loss: 0.5905 - val_acc: 0.7848\n",
"Epoch 12/100\n",
"313/313 [==============================] - 0s 109us/sample - loss: 0.6614 - acc: 0.7029 - val_loss: 0.5785 - val_acc: 0.7848\n",
"Epoch 13/100\n",
"313/313 [==============================] - 0s 102us/sample - loss: 0.6520 - acc: 0.7029 - val_loss: 0.5668 - val_acc: 0.7848\n",
"Epoch 14/100\n",
"313/313 [==============================] - 0s 91us/sample - loss: 0.6421 - acc: 0.7029 - val_loss: 0.5557 - val_acc: 0.7848\n",
"Epoch 15/100\n",
"313/313 [==============================] - 0s 89us/sample - loss: 0.6341 - acc: 0.7125 - val_loss: 0.5456 - val_acc: 0.7848\n",
"Epoch 16/100\n",
"313/313 [==============================] - 0s 111us/sample - loss: 0.6264 - acc: 0.7093 - val_loss: 0.5356 - val_acc: 0.7468\n",
"Epoch 17/100\n",
"313/313 [==============================] - 0s 113us/sample - loss: 0.6186 - acc: 0.7125 - val_loss: 0.5284 - val_acc: 0.7468\n",
"Epoch 18/100\n",
"313/313 [==============================] - 0s 109us/sample - loss: 0.6106 - acc: 0.7188 - val_loss: 0.5213 - val_acc: 0.7975\n",
"Epoch 19/100\n",
"313/313 [==============================] - 0s 101us/sample - loss: 0.6050 - acc: 0.7157 - val_loss: 0.5128 - val_acc: 0.7975\n",
"Epoch 20/100\n",
"313/313 [==============================] - 0s 101us/sample - loss: 0.5984 - acc: 0.7157 - val_loss: 0.5062 - val_acc: 0.8101\n",
"Epoch 21/100\n",
"313/313 [==============================] - 0s 99us/sample - loss: 0.5917 - acc: 0.7188 - val_loss: 0.5002 - val_acc: 0.8228\n",
"Epoch 22/100\n",
"313/313 [==============================] - 0s 100us/sample - loss: 0.5864 - acc: 0.7252 - val_loss: 0.4960 - val_acc: 0.8101\n",
"Epoch 23/100\n",
"313/313 [==============================] - 0s 121us/sample - loss: 0.5809 - acc: 0.7316 - val_loss: 0.4903 - val_acc: 0.7975\n",
"Epoch 24/100\n",
"313/313 [==============================] - 0s 135us/sample - loss: 0.5758 - acc: 0.7380 - val_loss: 0.4854 - val_acc: 0.8228\n",
"Epoch 25/100\n",
"313/313 [==============================] - 0s 100us/sample - loss: 0.5704 - acc: 0.7316 - val_loss: 0.4817 - val_acc: 0.8101\n",
"Epoch 26/100\n",
"313/313 [==============================] - 0s 94us/sample - loss: 0.5663 - acc: 0.7444 - val_loss: 0.4783 - val_acc: 0.8228\n",
"Epoch 27/100\n",
"313/313 [==============================] - 0s 105us/sample - loss: 0.5611 - acc: 0.7476 - val_loss: 0.4737 - val_acc: 0.8101\n",
"Epoch 28/100\n",
"313/313 [==============================] - 0s 126us/sample - loss: 0.5573 - acc: 0.7572 - val_loss: 0.4688 - val_acc: 0.8228\n",
"Epoch 29/100\n",
"313/313 [==============================] - 0s 87us/sample - loss: 0.5512 - acc: 0.7540 - val_loss: 0.4661 - val_acc: 0.8354\n",
"Epoch 30/100\n",
"313/313 [==============================] - 0s 102us/sample - loss: 0.5473 - acc: 0.7540 - val_loss: 0.4624 - val_acc: 0.8228\n",
"Epoch 31/100\n",
"313/313 [==============================] - 0s 99us/sample - loss: 0.5438 - acc: 0.7540 - val_loss: 0.4622 - val_acc: 0.8228\n",
"Epoch 32/100\n",
"313/313 [==============================] - 0s 101us/sample - loss: 0.5409 - acc: 0.7540 - val_loss: 0.4572 - val_acc: 0.8101\n",
"Epoch 33/100\n",
"313/313 [==============================] - 0s 102us/sample - loss: 0.5345 - acc: 0.7604 - val_loss: 0.4545 - val_acc: 0.8354\n",
"Epoch 34/100\n",
"313/313 [==============================] - 0s 92us/sample - loss: 0.5324 - acc: 0.7572 - val_loss: 0.4531 - val_acc: 0.8228\n",
"Epoch 35/100\n",
"313/313 [==============================] - 0s 88us/sample - loss: 0.5277 - acc: 0.7636 - val_loss: 0.4506 - val_acc: 0.8228\n",
"Epoch 36/100\n",
"313/313 [==============================] - 0s 89us/sample - loss: 0.5239 - acc: 0.7604 - val_loss: 0.4471 - val_acc: 0.8228\n",
"Epoch 37/100\n",
"313/313 [==============================] - 0s 106us/sample - loss: 0.5197 - acc: 0.7700 - val_loss: 0.4451 - val_acc: 0.8228\n",
"Epoch 38/100\n",
"313/313 [==============================] - 0s 100us/sample - loss: 0.5160 - acc: 0.7700 - val_loss: 0.4433 - val_acc: 0.8354\n",
"Epoch 39/100\n",
"313/313 [==============================] - 0s 108us/sample - loss: 0.5149 - acc: 0.7636 - val_loss: 0.4408 - val_acc: 0.8101\n",
"Epoch 40/100\n",
"313/313 [==============================] - 0s 107us/sample - loss: 0.5105 - acc: 0.7636 - val_loss: 0.4395 - val_acc: 0.8354\n",
"Epoch 41/100\n",
"313/313 [==============================] - 0s 91us/sample - loss: 0.5074 - acc: 0.7636 - val_loss: 0.4378 - val_acc: 0.8354\n",
"Epoch 42/100\n",
"313/313 [==============================] - 0s 105us/sample - loss: 0.5039 - acc: 0.7668 - val_loss: 0.4348 - val_acc: 0.8354\n",
"Epoch 43/100\n",
"313/313 [==============================] - 0s 92us/sample - loss: 0.5010 - acc: 0.7668 - val_loss: 0.4319 - val_acc: 0.8354\n",
"Epoch 44/100\n",
"313/313 [==============================] - 0s 92us/sample - loss: 0.4981 - acc: 0.7636 - val_loss: 0.4308 - val_acc: 0.8101\n",
"Epoch 45/100\n",
"313/313 [==============================] - 0s 109us/sample - loss: 0.4971 - acc: 0.7540 - val_loss: 0.4267 - val_acc: 0.8354\n",
"Epoch 46/100\n",
"313/313 [==============================] - 0s 90us/sample - loss: 0.4931 - acc: 0.7540 - val_loss: 0.4269 - val_acc: 0.8228\n",
"Epoch 47/100\n",
"313/313 [==============================] - 0s 92us/sample - loss: 0.4928 - acc: 0.7572 - val_loss: 0.4276 - val_acc: 0.8228\n",
"Epoch 48/100\n",
"313/313 [==============================] - 0s 105us/sample - loss: 0.4882 - acc: 0.7604 - val_loss: 0.4213 - val_acc: 0.8354\n",
"Epoch 49/100\n",
"313/313 [==============================] - 0s 99us/sample - loss: 0.4871 - acc: 0.7604 - val_loss: 0.4200 - val_acc: 0.8354\n",
"Epoch 50/100\n",
"313/313 [==============================] - 0s 100us/sample - loss: 0.4923 - acc: 0.7444 - val_loss: 0.4244 - val_acc: 0.8228\n",
"Epoch 51/100\n",
"313/313 [==============================] - 0s 89us/sample - loss: 0.4799 - acc: 0.7540 - val_loss: 0.4184 - val_acc: 0.8354\n",
"Epoch 52/100\n",
"313/313 [==============================] - 0s 105us/sample - loss: 0.4837 - acc: 0.7764 - val_loss: 0.4162 - val_acc: 0.8354\n",
"Epoch 53/100\n",
"313/313 [==============================] - 0s 104us/sample - loss: 0.4804 - acc: 0.7636 - val_loss: 0.4183 - val_acc: 0.8354\n",
"Epoch 54/100\n",
"313/313 [==============================] - 0s 95us/sample - loss: 0.4761 - acc: 0.7540 - val_loss: 0.4159 - val_acc: 0.8228\n",
"Epoch 55/100\n",
"313/313 [==============================] - 0s 120us/sample - loss: 0.4741 - acc: 0.7636 - val_loss: 0.4123 - val_acc: 0.8354\n",
"Epoch 56/100\n",
"313/313 [==============================] - 0s 125us/sample - loss: 0.4728 - acc: 0.7668 - val_loss: 0.4121 - val_acc: 0.8354\n",
"Epoch 57/100\n",
"313/313 [==============================] - 0s 99us/sample - loss: 0.4709 - acc: 0.7668 - val_loss: 0.4118 - val_acc: 0.8354\n",
"Epoch 58/100\n",
"313/313 [==============================] - 0s 99us/sample - loss: 0.4680 - acc: 0.7732 - val_loss: 0.4114 - val_acc: 0.8354\n",
"Epoch 59/100\n",
"313/313 [==============================] - 0s 114us/sample - loss: 0.4666 - acc: 0.7732 - val_loss: 0.4091 - val_acc: 0.8354\n",
"Epoch 60/100\n",
"313/313 [==============================] - 0s 95us/sample - loss: 0.4658 - acc: 0.7668 - val_loss: 0.4094 - val_acc: 0.8354\n",
"Epoch 61/100\n",
"313/313 [==============================] - 0s 97us/sample - loss: 0.4639 - acc: 0.7668 - val_loss: 0.4063 - val_acc: 0.8101\n",
"Epoch 62/100\n",
"313/313 [==============================] - 0s 103us/sample - loss: 0.4626 - acc: 0.7604 - val_loss: 0.4075 - val_acc: 0.8101\n",
"Epoch 63/100\n",
"313/313 [==============================] - 0s 120us/sample - loss: 0.4615 - acc: 0.7572 - val_loss: 0.4064 - val_acc: 0.8101\n",
"Epoch 64/100\n",
"313/313 [==============================] - 0s 121us/sample - loss: 0.4613 - acc: 0.7827 - val_loss: 0.4043 - val_acc: 0.8228\n",
"Epoch 65/100\n",
"313/313 [==============================] - 0s 112us/sample - loss: 0.4585 - acc: 0.7764 - val_loss: 0.4042 - val_acc: 0.8354\n",
"Epoch 66/100\n",
"313/313 [==============================] - 0s 106us/sample - loss: 0.4570 - acc: 0.7604 - val_loss: 0.4048 - val_acc: 0.8228\n",
"Epoch 67/100\n",
"313/313 [==============================] - 0s 93us/sample - loss: 0.4581 - acc: 0.7764 - val_loss: 0.4012 - val_acc: 0.8228\n",
"Epoch 68/100\n",
"313/313 [==============================] - 0s 99us/sample - loss: 0.4558 - acc: 0.7827 - val_loss: 0.3995 - val_acc: 0.8228\n",
"Epoch 69/100\n",
"313/313 [==============================] - 0s 117us/sample - loss: 0.4528 - acc: 0.7668 - val_loss: 0.4026 - val_acc: 0.8101\n",
"Epoch 70/100\n",
"313/313 [==============================] - 0s 98us/sample - loss: 0.4520 - acc: 0.7796 - val_loss: 0.3986 - val_acc: 0.8228\n",
"Epoch 71/100\n",
"313/313 [==============================] - 0s 119us/sample - loss: 0.4521 - acc: 0.7764 - val_loss: 0.3969 - val_acc: 0.8228\n",
"Epoch 72/100\n",
"313/313 [==============================] - 0s 110us/sample - loss: 0.4510 - acc: 0.7827 - val_loss: 0.4015 - val_acc: 0.8101\n",
"Epoch 73/100\n",
"313/313 [==============================] - 0s 123us/sample - loss: 0.4501 - acc: 0.7668 - val_loss: 0.3975 - val_acc: 0.8228\n",
"Epoch 74/100\n",
"313/313 [==============================] - 0s 106us/sample - loss: 0.4473 - acc: 0.7891 - val_loss: 0.3946 - val_acc: 0.8354\n",
"Epoch 75/100\n",
"313/313 [==============================] - 0s 114us/sample - loss: 0.4465 - acc: 0.7891 - val_loss: 0.3951 - val_acc: 0.8228\n",
"Epoch 76/100\n",
"313/313 [==============================] - 0s 105us/sample - loss: 0.4458 - acc: 0.7764 - val_loss: 0.3987 - val_acc: 0.8228\n",
"Epoch 77/100\n",
"313/313 [==============================] - 0s 113us/sample - loss: 0.4451 - acc: 0.7764 - val_loss: 0.3980 - val_acc: 0.8228\n",
"Epoch 78/100\n",
"313/313 [==============================] - 0s 115us/sample - loss: 0.4442 - acc: 0.7923 - val_loss: 0.3936 - val_acc: 0.8228\n",
"Epoch 79/100\n",
"313/313 [==============================] - 0s 119us/sample - loss: 0.4427 - acc: 0.7764 - val_loss: 0.3955 - val_acc: 0.8101\n",
"Epoch 80/100\n",
"313/313 [==============================] - 0s 107us/sample - loss: 0.4434 - acc: 0.7891 - val_loss: 0.3968 - val_acc: 0.8101\n",
"Epoch 81/100\n",
"313/313 [==============================] - 0s 117us/sample - loss: 0.4416 - acc: 0.7859 - val_loss: 0.3914 - val_acc: 0.8228\n",
"Epoch 82/100\n",
"313/313 [==============================] - 0s 122us/sample - loss: 0.4410 - acc: 0.7764 - val_loss: 0.3929 - val_acc: 0.8228\n",
"Epoch 83/100\n",
"313/313 [==============================] - 0s 112us/sample - loss: 0.4378 - acc: 0.7859 - val_loss: 0.3914 - val_acc: 0.8228\n",
"Epoch 84/100\n",
"313/313 [==============================] - 0s 98us/sample - loss: 0.4376 - acc: 0.7955 - val_loss: 0.3917 - val_acc: 0.8228\n",
"Epoch 85/100\n",
"313/313 [==============================] - 0s 123us/sample - loss: 0.4378 - acc: 0.7891 - val_loss: 0.3933 - val_acc: 0.8101\n",
"Epoch 86/100\n",
"313/313 [==============================] - 0s 107us/sample - loss: 0.4366 - acc: 0.7987 - val_loss: 0.3895 - val_acc: 0.8228\n",
"Epoch 87/100\n",
"313/313 [==============================] - 0s 115us/sample - loss: 0.4366 - acc: 0.7891 - val_loss: 0.3921 - val_acc: 0.8228\n",
"Epoch 88/100\n",
"313/313 [==============================] - 0s 112us/sample - loss: 0.4353 - acc: 0.7859 - val_loss: 0.3919 - val_acc: 0.8228\n",
"Epoch 89/100\n",
"313/313 [==============================] - 0s 109us/sample - loss: 0.4327 - acc: 0.7891 - val_loss: 0.3900 - val_acc: 0.8228\n",
"Epoch 90/100\n",
"313/313 [==============================] - 0s 113us/sample - loss: 0.4342 - acc: 0.7987 - val_loss: 0.3872 - val_acc: 0.8354\n",
"Epoch 91/100\n",
"313/313 [==============================] - 0s 102us/sample - loss: 0.4332 - acc: 0.7891 - val_loss: 0.3882 - val_acc: 0.8228\n",
"Epoch 92/100\n",
"313/313 [==============================] - 0s 115us/sample - loss: 0.4309 - acc: 0.7987 - val_loss: 0.3848 - val_acc: 0.8228\n",
"Epoch 93/100\n",
"313/313 [==============================] - 0s 122us/sample - loss: 0.4292 - acc: 0.7987 - val_loss: 0.3841 - val_acc: 0.8228\n",
"Epoch 94/100\n",
"313/313 [==============================] - 0s 109us/sample - loss: 0.4330 - acc: 0.8019 - val_loss: 0.3815 - val_acc: 0.8354\n",
"Epoch 95/100\n",
"313/313 [==============================] - 0s 113us/sample - loss: 0.4271 - acc: 0.8019 - val_loss: 0.3859 - val_acc: 0.8228\n",
"Epoch 96/100\n",
"313/313 [==============================] - 0s 128us/sample - loss: 0.4305 - acc: 0.7923 - val_loss: 0.3861 - val_acc: 0.8101\n",
"Epoch 97/100\n",
"313/313 [==============================] - 0s 108us/sample - loss: 0.4265 - acc: 0.7923 - val_loss: 0.3820 - val_acc: 0.8228\n",
"Epoch 98/100\n",
"313/313 [==============================] - 0s 103us/sample - loss: 0.4271 - acc: 0.8083 - val_loss: 0.3817 - val_acc: 0.8228\n",
"Epoch 99/100\n",
"313/313 [==============================] - 0s 115us/sample - loss: 0.4252 - acc: 0.8019 - val_loss: 0.3834 - val_acc: 0.8228\n",
"Epoch 100/100\n",
"313/313 [==============================] - 0s 105us/sample - loss: 0.4247 - acc: 0.8083 - val_loss: 0.3808 - val_acc: 0.8354\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "YeQJD_aqEYWV",
"colab_type": "code",
"outputId": "4ced862c-e067-4b9a-91d0-6199b9ba460d",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 296
}
},
"source": [
"plt.plot(history.history['loss'])\n",
"plt.plot(history.history['val_loss'])\n",
"plt.xlabel('Epoch')\n",
"plt.ylabel('Loss')\n",
"plt.legend(['Train', 'Validation'])"
],
"execution_count": 0,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x7f0ba9031ac8>"
]
},
"metadata": {
"tags": []
},
"execution_count": 152
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "zJUU6dmSHgAi",
"colab_type": "text"
},
"source": [
"Untuk tuning, atur di:\n",
"- arsitektur\n",
"- batch size\n",
"- epoch\n",
"- activation function\n",
"- optimizer"
]
},
{
"cell_type": "code",
"metadata": {
"id": "3t3EiDhJHc-J",
"colab_type": "code",
"colab": {}
},
"source": [
""
],
"execution_count": 0,
"outputs": []
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment