{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Exercise 7.1 - Solution\n", "### Classification of magnetic phases using fully-connected networks\n", "\n", "Imagine a 2-dimensional lattice arrangement of $n \\times n$ magnetic dipole moments (spins) that can be in one of two states ($+1$ or $−1$, Ising model).\n", "With interactions between spins being short ranged, each spin interacts only with its four neighbors.\n", "The probability to find a spin in one of the orientations is a function of temperature $T$ according to $p \\sim e^{−a/T},\\;a = \\mathrm{const.}$).\n", "\n", "At extremely low temperatures $T \\rightarrow 0$, neighboring spins have a very low probability of different orientations, so that a uniform overall state (ferromagnetic state) is adopted, characterized by $+1$ or $−1$.\n", "At very high temperatures $T \\rightarrow \\infty$, a paramagnetic phase with random spin alignment results, yielding $50\\%$ of $+1$ and $0%$ of $−1$ orientations.\n", "Below a critical temperature $0 < T < T_c$, stable ferromagnetic domains emerge, with both orientations being equally probable in the absence of an external magnetic field.\n", "The spin-spin correlation function diverges at $T_c$, whereas the correlation decays for $T > T_c$.\n", "\n", "The data for this task contain the $n \\times n$ dipole orientations on the lattice for different temperatures $T$.\n", "Classify the two magnetic phases (paramagnetic/ferromagnetic)!" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "keras version 2.4.0\n" ] } ], "source": [ "from tensorflow import keras\n", "import numpy as np\n", "callbacks = keras.callbacks\n", "layers = keras.layers\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Load and prepare dataset\n", "See https://doi.org/10.1038/nphys4035 for more information" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import gdown\n", "url = \"https://drive.google.com/u/0/uc?export=download&confirm=HgGH&id=1Ihxt1hb3Kyv0IrjHlsYb9x9QY7l7n2Sl\"\n", "output = 'ising_data.npz'\n", "gdown.download(url, output, quiet=True)\n", "\n", "f = np.load(output, allow_pickle=True)\n", "n_train = 20000\n", "\n", "x_train, x_test = f[\"C\"][:n_train], f[\"C\"][n_train:]\n", "T_train, T_test = f[\"T\"][:n_train], f[\"T\"][n_train:]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Plot data" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "for i,j in enumerate(np.random.choice(n_train, 6)):\n", " plt.subplot(2,3,i+1)\n", " image = x_train[j]\n", " plot = plt.imshow(image)\n", " plt.title(\"T: %.2f\" % T_train[j])\n", "\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'frequency')" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.hist(T_test)\n", "plt.xlabel(\"T\")\n", "plt.ylabel(\"frequency\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Set up training data - define magnetic phases" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "Tc = 2.27\n", "y_train, y_test = T_train > Tc, T_test > Tc" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " ### Task\n", "\n", " - evaluate the test accuracy for a fully-connected network,\n", " - plot the test accuracy vs. temperature.\n" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Model: \"sequential\"\n", "_________________________________________________________________\n", "Layer (type) Output Shape Param # \n", "=================================================================\n", "reshape (Reshape) (None, 1024) 0 \n", "_________________________________________________________________\n", "dense (Dense) (None, 32) 32800 \n", "_________________________________________________________________\n", "dropout (Dropout) (None, 32) 0 \n", "_________________________________________________________________\n", "dense_1 (Dense) (None, 32) 1056 \n", "_________________________________________________________________\n", "dropout_1 (Dropout) (None, 32) 0 \n", "_________________________________________________________________\n", "dense_2 (Dense) (None, 1) 33 \n", "=================================================================\n", "Total params: 33,889\n", "Trainable params: 33,889\n", "Non-trainable params: 0\n", "_________________________________________________________________\n" ] } ], "source": [ "model = keras.models.Sequential()\n", "model.add(layers.InputLayer(input_shape=(32, 32, 1)))\n", "model.add(layers.Reshape((1024,)))\n", "model.add(layers.Dense(32, activation='relu'))\n", "model.add(layers.Dropout(0.3))\n", "model.add(layers.Dense(32, activation='relu'))\n", "model.add(layers.Dropout(0.3))\n", "model.add(layers.Dense(1, activation='sigmoid'))\n", "model.summary()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### prepare model for training" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "model.compile(\n", " loss='binary_crossentropy',\n", " optimizer=keras.optimizers.Adam(0.001),\n", " metrics=['accuracy'])\n" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1/50\n", "282/282 - 1s - loss: 0.2575 - accuracy: 0.9009 - val_loss: 0.0738 - val_accuracy: 0.9770\n", "Epoch 2/50\n", "282/282 - 0s - loss: 0.1426 - accuracy: 0.9539 - val_loss: 0.0773 - val_accuracy: 0.9730\n", "Epoch 3/50\n", "282/282 - 0s - loss: 0.1159 - accuracy: 0.9632 - val_loss: 0.0722 - val_accuracy: 0.9755\n", "Epoch 4/50\n", "282/282 - 0s - loss: 0.0941 - accuracy: 0.9714 - val_loss: 0.0673 - val_accuracy: 0.9785\n", "Epoch 5/50\n", "282/282 - 0s - loss: 0.0800 - accuracy: 0.9752 - val_loss: 0.0886 - val_accuracy: 0.9755\n", "Epoch 6/50\n", "282/282 - 0s - loss: 0.0752 - accuracy: 0.9745 - val_loss: 0.0939 - val_accuracy: 0.9690\n", "\n", "Epoch 00006: ReduceLROnPlateau reducing learning rate to 0.0006700000318232924.\n", "Epoch 7/50\n", "282/282 - 0s - loss: 0.0571 - accuracy: 0.9822 - val_loss: 0.0935 - val_accuracy: 0.9685\n", "Epoch 8/50\n", "282/282 - 0s - loss: 0.0565 - accuracy: 0.9824 - val_loss: 0.0729 - val_accuracy: 0.9735\n", "\n", "Epoch 00008: ReduceLROnPlateau reducing learning rate to 0.0004489000252215192.\n", "Epoch 9/50\n", "282/282 - 0s - loss: 0.0510 - accuracy: 0.9827 - val_loss: 0.0756 - val_accuracy: 0.9725\n", "Epoch 00009: early stopping\n" ] } ], "source": [ "results = model.fit(x_train, y_train,\n", " batch_size=64,\n", " epochs=50,\n", " verbose=2,\n", " validation_split=0.1,\n", " callbacks=[\n", " callbacks.EarlyStopping(patience=5, verbose=1),\n", " callbacks.ReduceLROnPlateau(factor=0.67, patience=2, verbose=1)]\n", " )" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(1, (12, 4))\n", "plt.subplot(1, 2, 1)\n", "plt.plot(results.history['loss'])\n", "plt.plot(results.history['val_loss'])\n", "plt.ylabel('loss')\n", "plt.xlabel('epoch')\n", "plt.legend(['train', 'val'], loc='upper right')" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(1, (12, 4))\n", "plt.subplot(1, 2, 1)\n", "plt.plot(results.history['accuracy'])\n", "plt.plot(results.history['val_accuracy'])\n", "plt.ylabel('accuracy')\n", "plt.xlabel('epoch')\n", "plt.legend(['train', 'val'], loc='upper right')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Evaluate training" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "a = model.evaluate(x_test, y_test, verbose=0)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYgAAAEGCAYAAAB/+QKOAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAec0lEQVR4nO3df5QV5Z3n8fdn2zTYbQwonfUHYOscNToTo6bFxGwmzAQTdCDm10biSUacyZBNNBOSuGcjY9QlBvNHfuDMgJFklMSsERazc5BD4rGNJDOLCbQGnVGHhDAkgLhpQGSghQ6d7/5xq/HSVkNd6Kq6ffvzOqcPVU89de/34d7b335+1C1FBGZmZgP9p7IDMDOz+uQEYWZmqZwgzMwslROEmZmlcoIwM7NUx5UdwFAZN25ctLe3lx2G2aDWr18PwLnnnltyJGaveOKJJ7ZHRFvasYZJEO3t7XR1dZUdhtmgJk+eDMCqVatKjcOsmqRfD3bMQ0xmZpaqYXoQZvXu5ptvLjsEs5o4QZgVZMqUKWWHYFYTDzGZFWTdunWsW7eu7DDMMhvxPYg9+w+w4qnn2bRjL+0ntzLtTadxwqjB/1uGe/16jKmINteD2bNnA8VMUvt95DYPBeX1ZX2S7gGmAb+NiD9KOS7gTuBKoAeYGRFPJseuBfoHbG+PiG8f6fk6Ojqi1lVMazftZOa9a4iAnt4+WpqbkGDxdZO4pP2khqtfjzEV0eZ6UdQqJr+P3OZaPguSnoiIjtRjOSaIPwb2AN8ZJEFcCXyKSoK4FLgzIi6VdBLQBXQAATwBvDkiXjzc89WaIPbsP8Cl8zrZu7/vVcdaRzWxZs4UWqsy8XCvX48xFdHmelJEgvD7yG2u9bNwuASR2xxERPwE2HmYKldRSR4RET8Fxkg6FXg38EhE7EySwiPA1KGOb8VTzzNYboyAFU8/31D16zGmItrc7/r7n+SKO/+J6+9/ctA6jcDvo6GvX48xHctnoRZl/rl1OrC5an9LUjZY+atImgXMApg4cWJNT75px156el+dfaHSXdu0vaeh6tdjTEW0ud/G7r08t233oMcbhd9HQ1+/HmM6ls9CLYb1KqaIWBQRHRHR0daWeqX4oNpPbqWluSn1WEtzE+3jWhqqfj3GVESb68m8efOYN29ers/h99HQ16/HmIr6LJSZILYCE6r2xydlg5UPqWlvOg0p/ZgE0y44raHq12NMRbQZKuO1u3p6AdjV08ue/QfSHyRnl112GZdddtlRn59lmMzvo6GvX48xHe1noVZlJojlwJ+r4i3ASxGxDXgYeJeksZLGAu9KyobUCaOOY/F1k2gd1XQwE7c0N9E6qikpP66h6tdjTEW0ee2mnVw6r5MXdu8D4IXd+7h0XidrNx1ueiwfq1evZvXq1Ud9fv8w2cbuvYPW8fvIbR6sDUcjz1VM3wMmA+OA/wfcCrwGICK+kSxz/XsqE9A9wHUR0ZWc+xfAnOShvhQR9x7p+Y5mmSvA3v0HWPH082za3kP7uBamXXDaYf9zh3v9eowpr/r1turpWFcxXXHnP/Hctt2cd+qJ/ODTbz9sXb+P3OasSlnmWrSjTRDWuB5Y8xvmrng2dTKvpbmJW6efz9WX1La44VgUmSDMsiplmatZ2Ypa6WHWqJwgrGEN91VPZmVzgrCGVdRKjyLUy0osG1mcIKxhVa/06E8UEkO+0iOr+fPnM3/+/JrPq6eVWDayeJLaGt7e/QeY8rUfs+2lfZz6utF0fvYddf2dTdXqbSWWNR5PUtuI1jrqOMa0NAMwpqW5tF+onZ2ddHZ21nROUd+5Y5bGf3qYFeT2228HaruznFdiWZncgzCrY16JZWVygjCrY420EsuGHycIGxHOamvlvFNP5Ky21rJDqUm9rcSykcXvLhsRFlxzcdkhHLVL2k9izZwpB1dinXLi8FqJZcOX32Fmg7j+/ifZ2L2Xs9pahyTB3H333Ud9bv9KrG0v7St1JZaNLH6XmQ1iqO9Cd+655w7ZY5kVwXMQZgV56KGHeOihh8oOwywz9yDMCvLVr34VgOnTp5cciVk27kGYmVkqJwgzM0vlISazYaL/Go7hdi2HDV9OEGbDxHC+lsOGJycIs4Lcd999ZYdgVpNc5yAkTZW0XtIGSZ9POX6GpEclPS1plaTxVcf6JK1LfpbnGadZESZMmMCECRPKDsMss9x6EJKagAXA5cAWYK2k5RHxbFW1rwDfiYhvS/pT4A7go8mxlyPiwrziMyvakiVLALj66qtLjsQsmzx7EJOADRGxMSJ6gQeAqwbUOR/4UbL9WMpxs4Zx1113cdddd5UdhllmeSaI04HNVftbkrJqTwHvT7bfB7xW0snJ/mhJXZJ+Kum9aU8gaVZSp6u7u3sIQzczs7Kvg7gReIeknwPvALYC/bfPOiO5T+o1wHxJfzDw5IhYFBEdEdHR1tZWWNDW+PbsP8Cunl4AdvX0smf/gZIjMitengliK1A9Izc+KTsoIp6PiPdHxEXA3yRlu5J/tyb/bgRWARflGKvZQWs37eTSeZ28sHsfAC/s3sel8zpZu2lnyZGZFSvPBLEWOFvSmZKagRnAIauRJI2T1B/DTcA9SflYSaP66wBvA6ont81ysWf/AWbeu4a9+/uIqJRFwN79fUm5exI2cuS2iikiDki6AXgYaALuiYhnJM0FuiJiOTAZuENSAD8Brk9OPw+4W9LvqSSxLw9Y/WSWixVPPX8wMQwUASuefp6rL5l4VI+9bNmyY4jMrHi5XigXESuBlQPKbqnaXga86lMTEauBN+YZm1maTTv20tPbl3qsp7ePTdt7jvqxx40bd9TnmpWh7Elqs7rSfnIrLc1NqcdamptoH9dy1I+9ePFiFi9efNTnmxXNCcKsyrQ3nYaUfkyCaRecdtSP7QRhw40ThFmVE0Ydx+LrJtE6qulgopCgdVRTUu6vL7ORwwnCbIBL2k9izZwpnHLiaABOOXE0a+ZM4ZL2k0qOzKxYThBmKVpHHceYlmYAxrQ0u+dgI5IThJmZpfKfRWYFWbly5ZErmdURJwizgrS0HP0SWbMyeIjJrCALFy5k4cKFZYdhlpkThFlBli5dytKlS8sOwywzJwgzM0vlBGFmZqmcIMzMLJUThJmZpfIyV7OCrFq1quwQzGriHoSZmaVyD8JsEGe1tR7y77H6yle+AsCNN944JI9nljfFYPdXHGY6Ojqiq6ur7DDMBjV58mTAQ01WXyQ9EREdacc8xGRmZqlyTRCSpkpaL2mDpM+nHD9D0qOSnpa0StL4qmPXSvpl8nNtnnGamdmr5ZYgJDUBC4ArgPOBD0s6f0C1rwDfiYgLgLnAHcm5JwG3ApcCk4BbJY3NK1YzM3u1PHsQk4ANEbExInqBB4CrBtQ5H/hRsv1Y1fF3A49ExM6IeBF4BJiaY6xmuTv++OM5/vjjyw7DLLM8VzGdDmyu2t9CpUdQ7Sng/cCdwPuA10o6eZBzTx/4BJJmAbMAJk6cOGSBm+XhBz/4QdkhmNWk7EnqG4F3SPo58A5gK9CX9eSIWBQRHRHR0dbWlleMZmYjUp49iK3AhKr98UnZQRHxPJUeBJJOAD4QEbskbQUmDzh3VY6xmuXui1/8IgBf+MIXSo7ELJs8exBrgbMlnSmpGZgBLK+uIGmcpP4YbgLuSbYfBt4laWwyOf2upMxs2Hr00Ud59NFHyw7DLLPcEkREHABuoPKL/TlgaUQ8I2mupPck1SYD6yX9AvjPwJeSc3cCX6SSZNYCc5MyMzMrSK5ftRERK4GVA8puqdpeBiwb5Nx7eKVHYWZmBSt7ktrMzOqUv6zPrCAnn3xy2SGY1cQJwqwgDz74YNkhmNXEQ0xmZpbKCcKsIDfddBM33XRT2WGYZeYhJrOCPP7442WHYFYT9yDMzCyVE4SZmaVygjAzs1SegzAryPjx449cyayOOEGYFeS73/1u2SGY1cRDTGZmlsoJwqwgs2fPZvbs2WWHYZaZh5jMCrJu3bqyQzCriXsQZmaWygnCzMxSZUoQkr4v6c+qbg9qZmYNLusv/IXANcAvJX1Z0rk5xmTWkM455xzOOeecssMwyyzTJHVEdAKdkl4HfDjZ3gx8E/huRPwuxxjNGsKiRYvKDsGsJpmHjCSdDMwEPgb8HLgTuBh45DDnTJW0XtIGSZ9POT5R0mOSfi7paUlXJuXtkl6WtC75+UaN7TIzs2OUqQch6f8A5wL3AdMjYltyaImkrkHOaQIWAJcDW4C1kpZHxLNV1W4GlkbEXZLOB1YC7cmxX0XEhTW2x6xuzZo1C3BPwoaPrNdB/G1EPJZ2ICI6BjlnErAhIjYCSHoAuAqoThABnJhsvw54PmM8ZsPOL37xi7JDMKtJ1iGm8yWN6d+RNFbSJ49wzunA5qr9LUlZtduAj0jaQqX38KmqY2cmQ08/lvT2jHGamdkQyZog/ioidvXvRMSLwF8NwfN/GFgcEeOBK4H7kqW024CJEXER8FngfkknDjxZ0ixJXZK6uru7hyAcMzPrlzVBNElS/04yv9B8hHO2AhOq9scnZdX+ElgKEBGPA6OBcRGxPyJ2JOVPAL8CXrU+MCIWRURHRHS0tbVlbIqZmWWRdQ7ih1QmpO9O9j+elB3OWuBsSWdSSQwzqFxLUe03wDuBxZLOo5IguiW1ATsjok/SWcDZwMaMsZrVpQsvvLDsEMxqkjVB/A8qSeETyf4jwLcOd0JEHJB0A/Aw0ATcExHPSJoLdEXEcuBzwDclfYbKhPXMiAhJfwzMlfQ74PfAf4uInbU2zqyezJ8/v+wQzGqiiCg7hiHR0dERXV2pK27NzGwQkp4YbDVq1usgzgbuAM6nMgwEQEScNSQRmo0AH/nIRwDfWc6Gj6xDTPcCtwJfB/4EuA5/E6xZTbZs2VJ2CGY1yfpL/viIeJTKkNSvI+I24M/yC8vMzMqWtQexP7k+4ZfJxPNW4IT8wjIzs7Jl7UF8GmgB/hp4M/AR4Nq8gjIzs/IdsQeRXBR3dUTcCOyhMv9gZjV661vfWnYIZjU5YoJILlb7L0UEY9bI7rjjjrJDMKtJ1jmIn0taDvxvYG9/YUR8P5eozMysdFkTxGhgB/CnVWUBOEGYZfSBD3wAgAcffLDkSMyyyXrLUc87mB2jHTt2lB2CWU2yXkl9L5UewyEi4i+GPCIzM6sLWYeYVlRtjwbeh+/+ZmbW0LIOMR0yaCrpe8A/5xKRmZnVhaw9iIHOBl4/lIGYNbp3vvOdZYdgVpOscxD/waFzEC9QuUeEmWX0hS98oewQzGqSdYjptXkHYmZm9SXTdzFJep+k11Xtj5H03tyiMmtAV1xxBVdccUXZYZhllvXL+m6NiJf6dyJiF5X7Q5hZRi+//DIvv/xy2WGYZZZ1kjotkRztBLdZQ7r+/ifZ2L2Xs9paWXDNxWWHY3bMsv6S75L0NWBBsn898EQ+IZkNTxu79/Lctt1lh2E2ZLIOMX0K6AWWAA8A+6gkicOSNFXSekkbJH0+5fhESY9J+rmkpyVdWXXspuS89ZLenTFOMzMbIllXMe0FXvUL/nCS+0gsAC4HtgBrJS2PiGerqt0MLI2IuySdD6wE2pPtGcAfAqcBnZLOiYi+WmIwqyfTpk0rOwSzmmS9DuIR4L8mk9NIGgs8EBGH+8t+ErAhIjYm5zwAXAVUJ4gATky2X8crX99xVfL4+4F/l7QhebzHs8RrVo9uvPHGskMwq0nWIaZx/ckBICJe5MhXUp8ObK7a35KUVbsN+IikLVR6D5+q4VwkzZLUJamru7s7QzPMzCyrrAni95Im9u9Iaifl212PwoeBxRExHrgSuE9S1piIiEUR0RERHW1tbUMQjll+Jk+ezOTJk8sOwyyzrKuY/gb4Z0k/BgS8HZh1hHO2AhOq9scnZdX+EpgKEBGPSxoNjMt4rpmZ5SjTX+sR8UOgA1gPfA/4HHCkK37WAmdLOlNSM5VJ5+UD6vwGeCeApPOofJV4d1JvhqRRks6k8uWAazK1yMzMhkTWSeqPAZ+m8pf8OuAtVCaM/3SwcyLigKQbgIeBJuCeiHhG0lygKyKWU0k035T0GSpDVjMjIoBnJC2lMqF9ALjeK5jMzIqVdYjp08AlwE8j4k8kvQGYd6STImIllcnn6rJbqrafBd42yLlfAr6UMT4zMxtiWRPEvojYJwlJoyLi3ySdm2tkZg3mQx/6UNkhmNUka4LYImkM8I/AI5JeBH6dV1BmjeiTn/xk2SGY1STrldTvSzZvk/QYlYvafphbVGYNqKenB4CWlpaSIzHLpuZvZI2IH+cRiFmju/LKyleNrVq1qtxAzDLKfFGamZmNLE4QZmaWygnCzMxSOUGYmVkq3zbUrCAzZ84sOwSzmjhBmBXECcKGGw8xmRVk+/btbN++vewwzDJzD8KsIB/84AcBXwdhw4d7EGZmlso9CLOSXH//k2zs3stZba0suObissMxexUnCLOSbOzey3PbdpcdhtmgPMRkZmap3IMwK8gnPvGJskMwq4kThFlBrr766rJDMKuJh5jMCrJ582Y2b95cdhhmmeXag5A0FbgTaAK+FRFfHnD868CfJLstwOsjYkxyrA/4l+TYbyLiPXnGanYs9uw/wK6eXgB29fSyZ/8BThh16Mfrox/9KODrIGz4yC1BSGoCFgCXA1uAtZKWR8Sz/XUi4jNV9T8FXFT1EC9HxIV5xWc2VNZu2snMe9fQ09sHwAu793HpvE4WXzeJS9pPKjk6s6OX5xDTJGBDRGyMiF7gAeCqw9T/MPC9HOMxG3J79h9g5r1r2Lu/j4hKWQTs3d+XlB8oN0CzY5BngjgdqB5w3ZKUvYqkM4AzgR9VFY+W1CXpp5LeO8h5s5I6Xd3d3UMUtll2K556/mBiGCgCVjz9fLEBmQ2hepmkngEsi4i+qrIzIqIDuAaYL+kPBp4UEYsioiMiOtra2oqK1eygTTv2HhxaGqint49N23sKjshs6OQ5Sb0VmFC1Pz4pSzMDuL66ICK2Jv9ulLSKyvzEr4Y+TLOj135yKy3NTalJoqW5ifZxLQf3P/e5zxUZmtkxy7MHsRY4W9KZkpqpJIHlAytJegMwFni8qmyspFHJ9jjgbcCzA881K9u0N52GlH5MgmkXnHZwf/r06UyfPr2gyMyOXW4JIiIOADcADwPPAUsj4hlJcyVVL1mdATwQcchI7nlAl6SngMeAL1evfjKrFyeMOo7F102idVTTwUQhQeuopqT8lU76+vXrWb9+fUmRmtUu1+sgImIlsHJA2S0D9m9LOW818MY8YzMbKpe0n8SaOVOY8rUfs+2lfZxy4mg6P/uOQ5IDwMc//nHA10HY8FEvk9Rmw1rrqOMY09IMwJiW5lclB7PhyAnCzMxSOUGYmVkqJwgzM0vlgVKzgtx8881lh2BWEycIs4JMmTKl7BDMauIhJrOCrFu3jnXr1pUdhllm7kGYFWT27NmAr4Ow4cM9CDMzS+UEYWZmqZwgzMwslROEmZml8iS1WUHmzZtXdghmNXGCMCvIZZddVnYIZjXxEJNZQVavXs3q1asB2LP/ALt6egHY1dPLnv0HygzNLJUThFlB5syZw5w5c1i7aSeXzuvkhd37AHhh9z4undfJ2k07S47Q7FBOEGYF6vt9MPPeNezd30f/PRQjYO/+vqTcPQmrH04QZgXasbeXQ26uWyUCVjz9fLEBmR2GJ6nNCrTvd338vrcv9VhPbx+btvcUHJHZ4NyDMCvQ6Nc00dLclHqspbmJ9nEtBUdkNrhcE4SkqZLWS9og6fMpx78uaV3y8wtJu6qOXSvpl8nPtXnGaVaE+fPn8627/g4p/bgE0y44rdigzA4jtyEmSU3AAuByYAuwVtLyiHi2v05EfKaq/qeAi5Ltk4BbgQ4ggCeSc1/MK16zvF144YUALH79Tmbeu4ae3spEtVTpPSy+bhKtozzqa/Ujzx7EJGBDRGyMiF7gAeCqw9T/MPC9ZPvdwCMRsTNJCo8AU3OM1Sx3nZ2ddHZ2ckn7SayZM4VTThwNwCknjmbNnClc0n5SyRGaHSrPP1dOBzZX7W8BLk2rKOkM4EzgR4c59/SU82YBswAmTpx47BGb5ej2228HKneWax11HGNamtn20j7GtDS752B1qV4mqWcAyyIifXnHICJiUUR0RERHW1tbTqGZmY1MeSaIrcCEqv3xSVmaGbwyvFTruWZmloM8E8Ra4GxJZ0pqppIElg+sJOkNwFjg8arih4F3SRoraSzwrqTMzMwKktvAZ0QckHQDlV/sTcA9EfGMpLlAV0T0J4sZwAMRr1xfGhE7JX2RSpIBmBsR/qIaM7MC5TozFhErgZUDym4ZsH/bIOfeA9yTW3BmBbv77rvLDsGsJl46YTZEzmprPeTfgc4999wiwzE7Zk4QZkNkwTUXH/b4Qw89BMD06dOLCMfsmDlBmBXkq1/9KuAEYcNHvVwHYWZmdcYJwszMUjlBmJlZKicIMzNL5Ulqs4Lcd999ZYdgVhMnCLOCTJgw4ciVzOqIh5jMCrJkyRKWLFlSdhhmmbkHYVaQu+66C4Crr7665EjMsnEPwszMUjlBmJlZKicIMzNL5QRhZmapPEltVpBly5aVHYJZTZwgzAoybty4skMwq4mHmMwKsnjxYhYvXlx2GGaZOUGYFcQJwoabXBOEpKmS1kvaIOnzg9T5kKRnJT0j6f6q8j5J65Kf5XnGaWZmr5bbHISkJmABcDmwBVgraXlEPFtV52zgJuBtEfGipNdXPcTLEXFhXvGZmdnh5dmDmARsiIiNEdELPABcNaDOXwELIuJFgIj4bY7xmJlZDfJMEKcDm6v2tyRl1c4BzpH0fyX9VNLUqmOjJXUl5e9NewJJs5I6Xd3d3UMavFnezmpr5bxTT+SsttayQzFLVfYy1+OAs4HJwHjgJ5LeGBG7gDMiYquks4AfSfqXiPhV9ckRsQhYBNDR0RGFRm5Wo5UrVx6yv+Cai0uKxCybPHsQW4HqL8Afn5RV2wIsj4jfRcS/A7+gkjCIiK3JvxuBVcBFOcZqlruWlhZaWlrKDsMsszwTxFrgbElnSmoGZgADVyP9I5XeA5LGURly2ihprKRRVeVvA57FbBhbuHAhCxcuLDsMs8xySxARcQC4AXgYeA5YGhHPSJor6T1JtYeBHZKeBR4D/ntE7ADOA7okPZWUf7l69ZPZcLR06VKWLl1adhhmmeU6BxERK4GVA8puqdoO4LPJT3Wd1cAb84zNzMwOz1dSm5lZKicIMzNL5QRhZmapVJkGGP4kdQO/PoaHGAdsH6JwhouR1uaR1l5wm0eKY2nzGRHRlnagYRLEsZLUFREdZcdRpJHW5pHWXnCbR4q82uwhJjMzS+UEYWZmqZwgXrGo7ABKMNLaPNLaC27zSJFLmz0HYWZmqdyDMDOzVE4QZmaWakQlCEn3SPqtpH8d5Lgk/W1yD+2nJQ37L+zP0ObJkl6quv/3LWn1hgtJEyQ9VnWf80+n1Gmo1zljmxvtdR4taY2kp5I2/8+UOqMkLUle559Jai8h1CGTsc0zJXVXvc4fO6YnjYgR8wP8MXAx8K+DHL8S+AEg4C3Az8qOuYA2TwZWlB3nELb3VODiZPu1VO4xcn4jv84Z29xor7OAE5Lt1wA/A94yoM4ngW8k2zOAJWXHXUCbZwJ/P1TPOaJ6EBHxE2DnYapcBXwnKn4KjJF0ajHR5SNDmxtKRGyLiCeT7f+g8lXzA29121Cvc8Y2N5TktduT7L4m+Rm44uYq4NvJ9jLgnZJUUIhDLmObh9SIShAZZLmPdiN6a9Jt/YGkPyw7mKGSDClcROUvrWoN+zofps3QYK+zpCZJ64DfAo9ExKCvc1TuT/MScHKhQQ6xDG0G+EAydLpM0oSU45k5QdiTVL6L5U3A31G5y9+wJ+kE4EFgdkTsLjueIhyhzQ33OkdEX0RcSOV2xpMk/VHJIeUuQ5sfAtoj4gLgEV7pQR0VJ4hDZbmPdkOJiN393dao3ODpNcltXoctSa+h8ovyf0XE91OqNNzrfKQ2N+Lr3C8idlG58+TUAYcOvs6SjgNeB+woNLicDNbmiNgREfuT3W8Bbz6W53GCONRy4M+TVS5vAV6KiG1lB5UnSaf0j8tKmkTlPTFsP0RJW/4BeC4ivjZItYZ6nbO0uQFf5zZJY5Lt44HLgX8bUG05cG2y/UHgR5HM5A5HWdo8YC7tPVTmo45arrccrTeSvkdlNcc4SVuAW6lM9BAR36Bye9QrgQ1AD3BdOZEOnQxt/iDwCUkHgJeBGcP5QwS8Dfgo8C/JWC3AHGAiNOzrnKXNjfY6nwp8W1ITlWS3NCJWSJoLdEXEcipJ8z5JG6gs1JhRXrhDIkub/1rSe4ADVNo881ie0F+1YWZmqTzEZGZmqZwgzMwslROEmZmlcoIwM7NUThBmZpZqRC1zNSuSpJOBR5PdU4A+oDvZnxQRvaUEZpaRl7maFUDSbcCeiPhK2bGYZeUhJjMzS+UEYWZmqZwgzMwslROEmZmlcoIwM7NUThBmZpbKy1zNzCyVexBmZpbKCcLMzFI5QZiZWSonCDMzS+UEYWZmqZwgzMwslROEmZml+v+yK78fSlE1sQAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import seaborn as sns\n", "\n", "preds = model.predict(x_test).round().squeeze()\n", "acc = (preds == y_test).astype(np.float)\n", "\n", "ax = sns.regplot(x=T_test, y=acc, x_estimator= np.mean, fit_reg=False)\n", "ax.set_ylabel(\"accuracy\")\n", "ax.set_xlabel(\"T\")\n", "plt.axvline(x=Tc, color='k', linestyle='--', label='Tc')" ] } ], "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.9" } }, "nbformat": 4, "nbformat_minor": 4 }