stimmenfryslan/notebooks/Predict municipality.ipynb
2018-09-28 10:41:09 +02:00

1815 lines
128 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Predict municipality"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/herbert/.virtualenvs/stimmenfryslan/lib/python3.5/site-packages/sklearn/cross_validation.py:41: DeprecationWarning: This module was deprecated in version 0.18 in favor of the model_selection module into which all the refactored classes and functions are moved. Also note that the interface of the new CV iterators are different from that of this module. This module will be removed in 0.20.\n",
" \"This module will be removed in 0.20.\", DeprecationWarning)\n"
]
}
],
"source": [
"import pandas\n",
"import MySQLdb\n",
"import numpy\n",
"import json\n",
"import re\n",
"\n",
"db = MySQLdb.connect(user='root', passwd='Nmmxhjgt1@', db='stimmenfryslan', charset='utf8')\n",
"\n",
"from matplotlib import pyplot\n",
"import folium\n",
"from IPython.display import display\n",
"from shapely.geometry import Polygon, MultiPolygon, shape, Point\n",
"from jupyter_progressbar import ProgressBar\n",
"from collections import defaultdict\n",
"from ipy_table import make_table\n",
"\n",
"from sklearn.feature_extraction.text import TfidfVectorizer\n",
"from sklearn.linear_model import LogisticRegression\n",
"from sklearn.pipeline import Pipeline\n",
"from sklearn.cross_validation import train_test_split\n",
"from sklearn.svm import SVC\n",
"from sklearn.tree import DecisionTreeClassifier\n",
"from sklearn.ensemble import RandomForestClassifier\n",
"from scipy import stats\n",
"from sklearn.model_selection import RandomizedSearchCV\n",
"from sklearn.metrics import classification_report\n",
"\n",
"from confusion_matrix import plot_confusion_matrix\n",
"from sklearn.metrics import confusion_matrix\n",
"\n",
"%matplotlib notebook\n",
"from matplotlib import pyplot\n",
"\n",
"import autosklearn.classification\n",
"from tpot import TPOTClassifier"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"# Borders of Frysian municipalities\n",
"\n",
"with open('Friesland_AL8.GeoJson') as f:\n",
" gemeentes = json.load(f)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"shapes = [shape(feature['geometry']) for feature in gemeentes['features']]\n",
"gemeente_names = [feature['properties']['name'] for feature in gemeentes['features']]\n",
"\n",
"def get_gemeente(point):\n",
" for i, shape in enumerate(shapes):\n",
" if shape.contains(point):\n",
" return i\n",
" return -1"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"# Answers to how participants state a word should be pronounces.\n",
"\n",
"answers = pandas.read_sql('''\n",
"SELECT prediction_quiz_id, user_lat, user_lng, question_text, answer_text\n",
"FROM core_surveyresult as survey\n",
"INNER JOIN core_predictionquizresult as result ON survey.id = result.survey_result_id\n",
"INNER JOIN core_predictionquizresultquestionanswer as answer\n",
" ON result.id = answer.prediction_quiz_id\n",
"''', db)\n",
"\n",
"# Takes approximately 2 minutes\n",
"\n",
"gemeente_map = {\n",
" (lng, lat): get_gemeente(Point(lng, lat))\n",
" for lng, lat in set(zip(answers['user_lng'], answers['user_lat']))\n",
"}\n",
"\n",
"answers['gemeente'] = [\n",
" gemeente_map[(lng, lat)]\n",
" for lat, lng in zip(answers['user_lat'], answers['user_lng'])\n",
"]\n",
"\n",
"answers['pronunciation'] = [\n",
" s[s.find('(')+1:-1]\n",
" for s in answers['answer_text']\n",
"]\n",
"\n",
"answers['word'] = [\n",
" re.sub(r'\\(.*\\)', '', s).replace('\"', '').strip()\n",
" for s in answers['question_text']\n",
"]\n",
"\n",
"answers['input'] = [\n",
" pronunciation + '_' + word\n",
" for pronunciation, word in zip(answers['pronunciation'], answers['word'])\n",
"]"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"dataset = answers[['prediction_quiz_id', 'gemeente', 'input']].groupby(\n",
" ['prediction_quiz_id', 'gemeente']\n",
").aggregate('+'.join)\n",
"\n",
"dataset.reset_index(inplace = True)\n",
"dataset = dataset[dataset['gemeente'] >= 0]"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"characters = list({x for x in dataset['input'] for x in x})"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"X_train, X_test, y_train, y_test = train_test_split(dataset['input'], dataset['gemeente'])"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/herbert/.virtualenvs/stimmenfryslan/lib/python3.5/site-packages/sklearn/model_selection/_split.py:605: Warning: The least populated class in y has only 1 members, which is too few. The minimum number of members in any class cannot be less than n_splits=3.\n",
" % (min_groups, self.n_splits)), Warning)\n"
]
},
{
"data": {
"text/plain": [
"RandomizedSearchCV(cv=None, error_score='raise',\n",
" estimator=Pipeline(memory=None,\n",
" steps=[('tfidf', TfidfVectorizer(analyzer='char', binary=False, decode_error='strict',\n",
" dtype=<class 'numpy.int64'>, encoding='utf-8', input='content',\n",
" lowercase=True, max_df=1.0, max_features=None, min_df=1,\n",
" ngram_range=(1, 1), norm='l2', preprocessor=None, smooth_idf=True,\n",
" ...,\n",
" max_iter=-1, probability=False, random_state=None, shrinking=True,\n",
" tol=0.001, verbose=False))]),\n",
" fit_params=None, iid=True, n_iter=20, n_jobs=8,\n",
" param_distributions={'svm__cache_size': [2000], 'svm__coef0': <scipy.stats._distn_infrastructure.rv_frozen object at 0x7fef8dfbea90>, 'svm__kernel': ['linear', 'rbf'], 'tfidf__max_features': [20], 'svm__class_weight': [None], 'tfidf__ngram_range': [(1, 5), (1, 2), (1, 6), (1, 10), (1, 3)], 'svm__shr...t 0x7fef8dfbe6d8>, 'svm__C': <scipy.stats._distn_infrastructure.rv_frozen object at 0x7fef8dfd5240>},\n",
" pre_dispatch='2*n_jobs', random_state=None, refit=True,\n",
" return_train_score='warn', scoring=None, verbose=0)"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tfidf = TfidfVectorizer(analyzer='char')\n",
"svc = SVC()\n",
"\n",
"model = Pipeline(steps=[('tfidf', tfidf), ('svm', svc)])\n",
"\n",
"parameters = {\n",
" 'tfidf__ngram_range': [(1,5), (1,2), (1,6), (1,10), (1,3)],\n",
" 'tfidf__max_features': [20],\n",
" 'svm__C': stats.uniform(0, 100.),\n",
" 'svm__kernel': ['linear', 'rbf'],\n",
" 'svm__degree': stats.randint(0, 5),\n",
" 'svm__gamma': stats.uniform(0, 10.),\n",
" 'svm__coef0': stats.uniform(0, 10.),\n",
" 'svm__shrinking': [True],\n",
" 'svm__probability': [False],\n",
" 'svm__cache_size': [2000],\n",
" 'svm__class_weight': [None],\n",
" 'svm__verbose': [False],\n",
" 'svm__max_iter': [-1],\n",
" 'svm__random_state': [None],\n",
"}\n",
"\n",
"# run randomized search\n",
"n_iter_search = 20\n",
"random_search = RandomizedSearchCV(model, param_distributions=parameters, n_iter=n_iter_search, n_jobs=8)\n",
"random_search.fit(X_train, y_train)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" precision recall f1-score support\n",
"\n",
" 0 0.38 0.53 0.44 91\n",
" 1 0.50 0.50 0.50 2\n",
" 2 0.35 0.22 0.27 54\n",
" 3 0.32 0.18 0.23 51\n",
" 4 0.38 0.59 0.46 46\n",
" 5 0.23 0.14 0.17 22\n",
" 6 0.00 0.00 0.00 2\n",
" 7 0.33 0.19 0.24 31\n",
" 8 1.00 0.03 0.06 35\n",
" 9 0.21 0.29 0.25 68\n",
" 10 0.00 0.00 0.00 4\n",
" 11 0.28 0.14 0.18 37\n",
" 12 0.00 0.00 0.00 4\n",
" 13 0.23 0.26 0.24 35\n",
" 14 0.42 0.72 0.53 134\n",
" 16 0.36 0.25 0.30 52\n",
" 18 0.48 0.19 0.27 73\n",
" 19 0.00 0.00 0.00 1\n",
"\n",
"avg / total 0.38 0.36 0.32 742\n",
"\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/herbert/.virtualenvs/stimmenfryslan/lib/python3.5/site-packages/sklearn/metrics/classification.py:1135: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples.\n",
" 'precision', 'predicted', average, warn_for)\n"
]
}
],
"source": [
"y_pred = random_search.predict(X_test)\n",
"\n",
"print(classification_report(y_test, y_pred))"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.3557951482479784"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"(y_pred == y_test).mean()"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [],
"source": [
"existing_gemeente_names = [\n",
" gemeente_names[i] if i >= 0 else 'Onbekend'\n",
" for i in sorted(set(y_test)) # dataset['gemeente']))\n",
"]"
]
},
{
"cell_type": "code",
"execution_count": 94,
"metadata": {},
"outputs": [],
"source": [
"y_pred = model.predict(X_test)"
]
},
{
"cell_type": "code",
"execution_count": 95,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.37870619946091644"
]
},
"execution_count": 95,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"(y_pred == y_test).mean()"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Confusion matrix, without normalization\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAApkAAAK8CAYAAACkzqTXAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzs3XmYVMXZ9/HvDSOIsqnsA6iADKuyDKACsgguiIoCggphURHjGuVJ8iQmojG+Rk3ccAkmRo0LuEUFZREBWUT2RcWNCEYGUFAxgCAzPff7R5/BlgeY7fSZmZ7f57r6Yvp0dd1VXd1NddWpOubuiIiIiIiEqUJJF0BEREREUo86mSIiIiISOnUyRURERCR06mSKiIiISOjUyRQRERGR0KmTKSIiIiKhUydTREREREKnTqaIiIiIhE6dTBEREREJnTqZIiIiIhK6tJIugIiIiEh5ULH6se45u0u6GPjurTPc/axkx1EnU0RERCQCnrObyhkXlXQx2LPqoVpRxNF0uYiIiIiETiOZIiIiIpEwsPIzvld+aioiIiIikdFIpoiIiEgUDDAr6VJERiOZIiIiIhI6dTJFREREJHSaLhcRERGJihb+iIiIiIgUnTqZIiIiIhI6TZeLiIiIREWry0VEREREik4jmSIiIiKR0BV/RERERESKRZ1MEREREQmdpstFREREoqKFPyIiIiIiRadOpoiIiIiETtPlIiIiIlEwtLpcRERERKQ4NJIpIiIiEgnTwh8RERERkeJQJ1NEREREQqfpchEREZGoaOGPiIiIiEjRaSRTREREJCpa+CMiIiIiUnTqZIqIiIhI6DRdLiIiIhIJ08IfEREREZHiUCdTREREREKn6XIRERGRKBhaXS4iIiIiUhwayRQRERGJihb+iIiIiIgUnTqZIiIiIhI6TZeLiIiIREL7ZIqIiIiIFIs6mSIiIiISOk2Xi4iIiESlgvbJFBEREREpMo1kioiIiETB0MIfEREREZHiUCdTREREREKn6XIRERGRqJgW/oiIiIiIFJk6mSIiIiISOk2Xi4iIiERCl5UUERERESkWjWSKiIiIREULf0REREREik6dTBEREREJnabLRURERKKihT8iIiIiIkWnTqaIiIiIhE7T5SIiIiJRMNPqchERERGR4tBIpoiIiEhUtPBHRERERKTo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\n",
"text/plain": [
"<Figure size 705.6x720 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"pyplot.rcParams['figure.figsize'] = (9.8, 10)\n",
"\n",
"plot_confusion_matrix(confusion_matrix(y_test, y_pred), classes=existing_gemeente_names)\n",
"pyplot.tight_layout()"
]
},
{
"cell_type": "code",
"execution_count": 86,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" precision recall f1-score support\n",
"\n",
" 0 0.36 0.37 0.36 84\n",
" 1 0.00 0.00 0.00 1\n",
" 2 0.24 0.18 0.21 45\n",
" 3 0.51 0.55 0.53 51\n",
" 4 0.43 0.33 0.38 57\n",
" 5 0.19 0.15 0.16 34\n",
" 6 0.00 0.00 0.00 2\n",
" 7 0.21 0.22 0.22 32\n",
" 8 0.05 0.06 0.05 33\n",
" 9 0.23 0.24 0.23 72\n",
" 10 0.00 0.00 0.00 3\n",
" 11 0.20 0.15 0.17 40\n",
" 12 0.00 0.00 0.00 3\n",
" 13 0.24 0.38 0.29 40\n",
" 14 0.53 0.48 0.50 124\n",
" 16 0.20 0.19 0.20 47\n",
" 18 0.41 0.44 0.43 72\n",
" 19 0.00 0.00 0.00 2\n",
"\n",
"avg / total 0.33 0.32 0.32 742\n",
"\n"
]
}
],
"source": [
"print(classification_report(y_test, y_pred))"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Using TensorFlow backend.\n"
]
}
],
"source": [
"import numpy\n",
"from keras.datasets import imdb\n",
"from keras.models import Sequential\n",
"from keras.layers import Dense\n",
"from keras.layers import LSTM\n",
"from keras.layers.embeddings import Embedding\n",
"from keras.preprocessing import sequence\n",
"from keras.preprocessing import text\n",
"from keras.optimizers import Adam\n",
"\n",
"numpy.random.seed(7)"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [],
"source": [
"char_to_num = {c: i for i, c in enumerate(characters)}"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'gɔ:n_gegaan+jun_avond+hø:l_heel+dɑɪ_dag+bɛi_bij+spɾɵts_sprak+eɪx_oog+jɛɾms_armen+tsi:s_kaas+dwɑɾkə_deurtje+sɪəɾə_koken+bwɑst_borst+fisk_vis+snɵən_zaterdag+tɾɑɪn_trein+ɡɪəl_geel+tosk_tand+sɛt_gezet+blɛ:t_blad'"
]
},
"execution_count": 40,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dataset['input'][0]"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" 19,\n",
" ...]"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"[c.count('_') for c in dataset['input']]"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [],
"source": [
"X = sequence.pad_sequences([[char_to_num[c] for c in c] for c in dataset['input']], value=len(char_to_num))\n",
"\n",
"y = numpy.array(dataset['gemeente'])\n",
"\n",
"X_train, X_test, y_train, y_test = train_test_split(X, y)"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [],
"source": [
"# from sklearn.preprocessing import OneHotEncoder\n",
"# n_values = max(X.ravel()) + 1\n",
"# enc = OneHotEncoder(n_values=n_values)\n",
"# X_ = enc.fit_transform(X)\n",
"# X_ = numpy.array(X_.todense()).reshape(X.shape + (n_values, ))"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([[31, 39, 31, ..., 37, 12, 48],\n",
" [36, 15, 27, ..., 5, 5, 31],\n",
" [26, 34, 6, ..., 5, 13, 48],\n",
" ...,\n",
" [ 3, 31, 19, ..., 39, 39, 37],\n",
" [48, 3, 36, ..., 27, 36, 41],\n",
" [ 0, 12, 41, ..., 43, 24, 26]], dtype=int32)"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"X[:, 20:]"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [],
"source": [
"lstm = Sequential()\n",
"lstm.add(Embedding(X.max() + 1, 512, input_length=X.shape[1]))\n",
"lstm.add(LSTM(16))\n",
"lstm.add(Dense(max(y) + 1))"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {},
"outputs": [],
"source": [
"optimizer = Adam(lr=0.0001)\n",
"\n",
"lstm.compile(loss='sparse_categorical_crossentropy', metrics=['accuracy'], optimizer=optimizer)"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Train on 2002 samples, validate on 223 samples\n",
"Epoch 1/100\n",
"2002/2002 [==============================] - 3s 1ms/step - loss: 2.6484 - acc: 0.1518 - val_loss: 2.7888 - val_acc: 0.1659\n",
"Epoch 2/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.6440 - acc: 0.1548 - val_loss: 2.7866 - val_acc: 0.1749\n",
"Epoch 3/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.6419 - acc: 0.1608 - val_loss: 2.7870 - val_acc: 0.1749\n",
"Epoch 4/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.6396 - acc: 0.1603 - val_loss: 2.7872 - val_acc: 0.1749\n",
"Epoch 5/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.6373 - acc: 0.1603 - val_loss: 2.7858 - val_acc: 0.1749\n",
"Epoch 6/100\n",
"2002/2002 [==============================] - 2s 789us/step - loss: 2.6356 - acc: 0.1598 - val_loss: 2.7876 - val_acc: 0.1749\n",
"Epoch 7/100\n",
"2002/2002 [==============================] - 2s 792us/step - loss: 2.6343 - acc: 0.1588 - val_loss: 2.7876 - val_acc: 0.1749\n",
"Epoch 8/100\n",
"2002/2002 [==============================] - 2s 794us/step - loss: 2.6325 - acc: 0.1573 - val_loss: 2.7874 - val_acc: 0.1794\n",
"Epoch 9/100\n",
"2002/2002 [==============================] - 2s 794us/step - loss: 2.6309 - acc: 0.1588 - val_loss: 2.7881 - val_acc: 0.1794\n",
"Epoch 10/100\n",
"2002/2002 [==============================] - 2s 798us/step - loss: 2.6293 - acc: 0.1638 - val_loss: 2.7892 - val_acc: 0.1794\n",
"Epoch 11/100\n",
"2002/2002 [==============================] - 2s 864us/step - loss: 2.6283 - acc: 0.1653 - val_loss: 2.7885 - val_acc: 0.1794\n",
"Epoch 12/100\n",
"2002/2002 [==============================] - 2s 796us/step - loss: 2.6267 - acc: 0.1643 - val_loss: 2.7879 - val_acc: 0.1794\n",
"Epoch 13/100\n",
"2002/2002 [==============================] - 2s 791us/step - loss: 2.6255 - acc: 0.1618 - val_loss: 2.7867 - val_acc: 0.1794\n",
"Epoch 14/100\n",
"2002/2002 [==============================] - 2s 789us/step - loss: 2.6241 - acc: 0.1648 - val_loss: 2.7870 - val_acc: 0.1794\n",
"Epoch 15/100\n",
"2002/2002 [==============================] - 2s 847us/step - loss: 2.6228 - acc: 0.1658 - val_loss: 2.7872 - val_acc: 0.1749\n",
"Epoch 16/100\n",
"2002/2002 [==============================] - 2s 818us/step - loss: 2.6217 - acc: 0.1648 - val_loss: 2.7877 - val_acc: 0.1749\n",
"Epoch 17/100\n",
"2002/2002 [==============================] - 2s 890us/step - loss: 2.6206 - acc: 0.1643 - val_loss: 2.7872 - val_acc: 0.1794\n",
"Epoch 18/100\n",
"2002/2002 [==============================] - 2s 824us/step - loss: 2.6197 - acc: 0.1633 - val_loss: 2.7853 - val_acc: 0.1794\n",
"Epoch 19/100\n",
"2002/2002 [==============================] - 2s 826us/step - loss: 2.6183 - acc: 0.1643 - val_loss: 2.7860 - val_acc: 0.1839\n",
"Epoch 20/100\n",
"2002/2002 [==============================] - 2s 826us/step - loss: 2.6169 - acc: 0.1663 - val_loss: 2.7876 - val_acc: 0.1839\n",
"Epoch 21/100\n",
"2002/2002 [==============================] - 2s 830us/step - loss: 2.6160 - acc: 0.1683 - val_loss: 2.7878 - val_acc: 0.1839\n",
"Epoch 22/100\n",
"2002/2002 [==============================] - 2s 854us/step - loss: 2.6148 - acc: 0.1658 - val_loss: 2.7868 - val_acc: 0.1839\n",
"Epoch 23/100\n",
"2002/2002 [==============================] - 2s 878us/step - loss: 2.6140 - acc: 0.1633 - val_loss: 2.7866 - val_acc: 0.1794\n",
"Epoch 24/100\n",
"2002/2002 [==============================] - 2s 915us/step - loss: 2.6128 - acc: 0.1633 - val_loss: 2.7901 - val_acc: 0.1839\n",
"Epoch 25/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.6115 - acc: 0.1663 - val_loss: 2.7887 - val_acc: 0.1839\n",
"Epoch 26/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.6103 - acc: 0.1653 - val_loss: 2.7846 - val_acc: 0.1839\n",
"Epoch 27/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.6091 - acc: 0.1643 - val_loss: 2.7841 - val_acc: 0.1839\n",
"Epoch 28/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.6079 - acc: 0.1653 - val_loss: 2.7829 - val_acc: 0.1928\n",
"Epoch 29/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.6067 - acc: 0.1663 - val_loss: 2.7830 - val_acc: 0.1928\n",
"Epoch 30/100\n",
"2002/2002 [==============================] - 7s 3ms/step - loss: 2.6056 - acc: 0.1673 - val_loss: 2.7854 - val_acc: 0.1928\n",
"Epoch 31/100\n",
"2002/2002 [==============================] - 5s 2ms/step - loss: 2.6048 - acc: 0.1673 - val_loss: 2.7889 - val_acc: 0.2018\n",
"Epoch 32/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.6041 - acc: 0.1658 - val_loss: 2.7906 - val_acc: 0.2018\n",
"Epoch 33/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.6027 - acc: 0.1663 - val_loss: 2.7852 - val_acc: 0.1928\n",
"Epoch 34/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.6015 - acc: 0.1648 - val_loss: 2.7860 - val_acc: 0.2018\n",
"Epoch 35/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.6004 - acc: 0.1638 - val_loss: 2.7853 - val_acc: 0.1883\n",
"Epoch 36/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5999 - acc: 0.1633 - val_loss: 2.7845 - val_acc: 0.2018\n",
"Epoch 37/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5986 - acc: 0.1633 - val_loss: 2.7846 - val_acc: 0.1973\n",
"Epoch 38/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5976 - acc: 0.1648 - val_loss: 2.7831 - val_acc: 0.1973\n",
"Epoch 39/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5964 - acc: 0.1623 - val_loss: 2.7925 - val_acc: 0.1883\n",
"Epoch 40/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5953 - acc: 0.1628 - val_loss: 2.7848 - val_acc: 0.1794\n",
"Epoch 41/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5939 - acc: 0.1628 - val_loss: 2.7826 - val_acc: 0.1704\n",
"Epoch 42/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5932 - acc: 0.1638 - val_loss: 2.7877 - val_acc: 0.1704\n",
"Epoch 43/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5922 - acc: 0.1638 - val_loss: 2.7897 - val_acc: 0.1704\n",
"Epoch 44/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5907 - acc: 0.1658 - val_loss: 2.7886 - val_acc: 0.1839\n",
"Epoch 45/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5901 - acc: 0.1673 - val_loss: 2.8038 - val_acc: 0.1794\n",
"Epoch 46/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5883 - acc: 0.1663 - val_loss: 2.8267 - val_acc: 0.1839\n",
"Epoch 47/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5874 - acc: 0.1668 - val_loss: 2.8270 - val_acc: 0.1928\n",
"Epoch 48/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5862 - acc: 0.1658 - val_loss: 2.8259 - val_acc: 0.1883\n",
"Epoch 49/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5852 - acc: 0.1633 - val_loss: 2.8346 - val_acc: 0.1928\n",
"Epoch 50/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5839 - acc: 0.1633 - val_loss: 2.8440 - val_acc: 0.1794\n",
"Epoch 51/100\n",
"2002/2002 [==============================] - 7s 4ms/step - loss: 2.5833 - acc: 0.1653 - val_loss: 2.8654 - val_acc: 0.1794\n",
"Epoch 52/100\n",
"2002/2002 [==============================] - 10s 5ms/step - loss: 2.5806 - acc: 0.1693 - val_loss: 2.8259 - val_acc: 0.1839\n",
"Epoch 53/100\n",
"2002/2002 [==============================] - 5s 3ms/step - loss: 2.5820 - acc: 0.1678 - val_loss: 2.8230 - val_acc: 0.1839\n",
"Epoch 54/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5801 - acc: 0.1623 - val_loss: 2.7956 - val_acc: 0.1839\n",
"Epoch 55/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5795 - acc: 0.1628 - val_loss: 2.8682 - val_acc: 0.1794\n",
"Epoch 56/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5792 - acc: 0.1648 - val_loss: 2.8311 - val_acc: 0.1794\n",
"Epoch 57/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5820 - acc: 0.1623 - val_loss: 2.8232 - val_acc: 0.1749\n",
"Epoch 58/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5769 - acc: 0.1633 - val_loss: 2.8238 - val_acc: 0.1794\n",
"Epoch 59/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5747 - acc: 0.1653 - val_loss: 2.8675 - val_acc: 0.1794\n",
"Epoch 60/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5739 - acc: 0.1618 - val_loss: 2.8241 - val_acc: 0.1794\n",
"Epoch 61/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5730 - acc: 0.1623 - val_loss: 2.8704 - val_acc: 0.1839\n",
"Epoch 62/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5702 - acc: 0.1613 - val_loss: 2.8851 - val_acc: 0.1794\n",
"Epoch 63/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5691 - acc: 0.1638 - val_loss: 2.8291 - val_acc: 0.1794\n",
"Epoch 64/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5704 - acc: 0.1648 - val_loss: 2.8298 - val_acc: 0.1883\n",
"Epoch 65/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5678 - acc: 0.1618 - val_loss: 2.9033 - val_acc: 0.1749\n",
"Epoch 66/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5703 - acc: 0.1648 - val_loss: 2.8294 - val_acc: 0.1794\n",
"Epoch 67/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5781 - acc: 0.1623 - val_loss: 2.8335 - val_acc: 0.1749\n",
"Epoch 68/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5768 - acc: 0.1543 - val_loss: 2.8851 - val_acc: 0.1839\n",
"Epoch 69/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5769 - acc: 0.1623 - val_loss: 2.8766 - val_acc: 0.1570\n",
"Epoch 70/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5727 - acc: 0.1633 - val_loss: 2.8750 - val_acc: 0.1749\n",
"Epoch 71/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5679 - acc: 0.1693 - val_loss: 2.8760 - val_acc: 0.1883\n",
"Epoch 72/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5668 - acc: 0.1713 - val_loss: 2.8747 - val_acc: 0.1794\n",
"Epoch 73/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5633 - acc: 0.1713 - val_loss: 2.8755 - val_acc: 0.1614\n",
"Epoch 74/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5619 - acc: 0.1713 - val_loss: 2.9167 - val_acc: 0.1749\n",
"Epoch 75/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5693 - acc: 0.1718 - val_loss: 2.9258 - val_acc: 0.1839\n",
"Epoch 76/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5667 - acc: 0.1733 - val_loss: 2.9193 - val_acc: 0.1839\n",
"Epoch 77/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5670 - acc: 0.1788 - val_loss: 2.9670 - val_acc: 0.1794\n",
"Epoch 78/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5653 - acc: 0.1723 - val_loss: 2.9759 - val_acc: 0.1794\n",
"Epoch 79/100\n",
"2002/2002 [==============================] - 3s 1ms/step - loss: 2.5642 - acc: 0.1763 - val_loss: 3.0098 - val_acc: 0.1749\n",
"Epoch 80/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5623 - acc: 0.1758 - val_loss: 3.0134 - val_acc: 0.1704\n",
"Epoch 81/100\n",
"2002/2002 [==============================] - 8s 4ms/step - loss: 2.5618 - acc: 0.1728 - val_loss: 3.0448 - val_acc: 0.1704\n",
"Epoch 82/100\n",
"2002/2002 [==============================] - 9s 4ms/step - loss: 2.5648 - acc: 0.1758 - val_loss: 3.0002 - val_acc: 0.1659\n",
"Epoch 83/100\n",
"2002/2002 [==============================] - 9s 5ms/step - loss: 2.5589 - acc: 0.1733 - val_loss: 2.9652 - val_acc: 0.1749\n",
"Epoch 84/100\n",
"2002/2002 [==============================] - 3s 1ms/step - loss: 2.5584 - acc: 0.1728 - val_loss: 3.0391 - val_acc: 0.1749\n",
"Epoch 85/100\n",
"2002/2002 [==============================] - 2s 829us/step - loss: 2.5575 - acc: 0.1678 - val_loss: 2.9984 - val_acc: 0.1480\n",
"Epoch 86/100\n",
"2002/2002 [==============================] - 2s 801us/step - loss: 2.5658 - acc: 0.1698 - val_loss: 3.0056 - val_acc: 0.1614\n",
"Epoch 87/100\n",
"2002/2002 [==============================] - 2s 800us/step - loss: 2.5643 - acc: 0.1663 - val_loss: 3.0066 - val_acc: 0.1525\n",
"Epoch 88/100\n",
"2002/2002 [==============================] - 2s 813us/step - loss: 2.5621 - acc: 0.1633 - val_loss: 2.9622 - val_acc: 0.1525\n",
"Epoch 89/100\n",
"2002/2002 [==============================] - 2s 792us/step - loss: 2.5612 - acc: 0.1653 - val_loss: 2.9627 - val_acc: 0.1570\n",
"Epoch 90/100\n",
"2002/2002 [==============================] - 2s 816us/step - loss: 2.5575 - acc: 0.1683 - val_loss: 2.9586 - val_acc: 0.1749\n",
"Epoch 91/100\n",
"2002/2002 [==============================] - 2s 796us/step - loss: 2.5545 - acc: 0.1708 - val_loss: 2.9602 - val_acc: 0.1525\n",
"Epoch 92/100\n",
"2002/2002 [==============================] - 2s 801us/step - loss: 2.5522 - acc: 0.1738 - val_loss: 2.9574 - val_acc: 0.1614\n",
"Epoch 93/100\n",
"2002/2002 [==============================] - 2s 797us/step - loss: 2.5490 - acc: 0.1733 - val_loss: 2.9680 - val_acc: 0.1794\n",
"Epoch 94/100\n",
"2002/2002 [==============================] - 2s 810us/step - loss: 2.5481 - acc: 0.1748 - val_loss: 3.0203 - val_acc: 0.1704\n",
"Epoch 95/100\n",
"2002/2002 [==============================] - 2s 928us/step - loss: 2.5457 - acc: 0.1723 - val_loss: 3.0504 - val_acc: 0.1570\n",
"Epoch 96/100\n",
"2002/2002 [==============================] - 2s 949us/step - loss: 2.5475 - acc: 0.1738 - val_loss: 3.0056 - val_acc: 0.1480\n",
"Epoch 97/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5450 - acc: 0.1728 - val_loss: 3.0211 - val_acc: 0.1614\n",
"Epoch 98/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5511 - acc: 0.1683 - val_loss: 3.0546 - val_acc: 0.1614\n",
"Epoch 99/100\n",
"2002/2002 [==============================] - 2s 1ms/step - loss: 2.5457 - acc: 0.1703 - val_loss: 3.0207 - val_acc: 0.1614\n",
"Epoch 100/100\n",
"2002/2002 [==============================] - 2s 908us/step - loss: 2.5444 - acc: 0.1718 - val_loss: 3.0648 - val_acc: 0.1614\n"
]
},
{
"data": {
"text/plain": [
"<keras.callbacks.History at 0x7feedf76a860>"
]
},
"execution_count": 44,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lstm.fit(X_train, y_train, batch_size=512, epochs=100, validation_split=0.1)# , validation_data=(X_test, y_test), verbose=2)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.5"
}
},
"nbformat": 4,
"nbformat_minor": 2
}