diff --git a/calibration.ipynb b/calibration.ipynb
new file mode 100644
index 0000000..8e49fa4
--- /dev/null
+++ b/calibration.ipynb
@@ -0,0 +1,291 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Reading transformed data...\n",
+ "\n",
+ "Done!\n"
+ ]
+ }
+ ],
+ "source": [
+ "import pandas as pd\n",
+ "from csgo_wp.data_transform import CSGODataset, transform_multichannel\n",
+ "from csgo_wp.model import LR_CNN\n",
+ "import torch\n",
+ "\n",
+ "import matplotlib.pyplot as plt\n",
+ "%matplotlib inline\n",
+ "\n",
+ "import warnings\n",
+ "warnings.filterwarnings('ignore')\n",
+ "\n",
+ "def test(model, loader, device):\n",
+ " model.eval()\n",
+ " model.to(device)\n",
+ "\n",
+ " targets = []\n",
+ " outputs = []\n",
+ "\n",
+ " with torch.no_grad():\n",
+ " for index, (data, target) in enumerate(loader):\n",
+ " targets.append(target)\n",
+ "\n",
+ " data = data.to(device)\n",
+ " output = model(data)\n",
+ " outputs.append(output)\n",
+ "\n",
+ " y_pred = torch.cat(outputs, dim=0).cpu().numpy().astype(float)\n",
+ " y_true = torch.cat(targets, dim=0).cpu().numpy().astype(float)\n",
+ "\n",
+ " df = pd.DataFrame([y_true, y_pred]).T\n",
+ " df.columns = ['y_true', 'y_pred']\n",
+ " df.to_csv('final_model_predictions.csv', index=False)\n",
+ " \n",
+ " return df\n",
+ "\n",
+ "test_dataset = CSGODataset(transform=transform_multichannel,\n",
+ " dataset_split='test',\n",
+ " verbose=False,\n",
+ " )\n",
+ "\n",
+ "test_loader = torch.utils.data.DataLoader(test_dataset,\n",
+ " batch_size=64,\n",
+ " shuffle=False,\n",
+ " num_workers=0,\n",
+ " )\n",
+ "\n",
+ "device = 'cuda:0'\n",
+ "\n",
+ "model = LR_CNN(input_size=(6, 5, 5),\n",
+ " hidden_sizes=[200, 100, 50],\n",
+ " activation='LeakyReLU',\n",
+ " activation_params={},\n",
+ " dropout=False,\n",
+ " batch_norm=False,\n",
+ " cnn_options=((4, 6, 1, 1, 0, 1, 1, 0),\n",
+ " (6, 6, 1, 1, 0, 1, 1, 0),\n",
+ " (6, 6, 5, 1, 0, 1, 1, 0),),\n",
+ " )\n",
+ "model.load_state_dict(torch.load('csgo_wp/model-final.pt'))\n",
+ "model.eval();"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "df = test(model=model,\n",
+ " loader=test_loader,\n",
+ " device=device,\n",
+ " )"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " y_true | \n",
+ " y_pred | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0.452990 | \n",
+ "
\n",
+ " \n",
+ " 1 | \n",
+ " 0.0 | \n",
+ " 0.458283 | \n",
+ "
\n",
+ " \n",
+ " 2 | \n",
+ " 0.0 | \n",
+ " 0.462887 | \n",
+ "
\n",
+ " \n",
+ " 3 | \n",
+ " 0.0 | \n",
+ " 0.473695 | \n",
+ "
\n",
+ " \n",
+ " 4 | \n",
+ " 0.0 | \n",
+ " 0.466792 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " y_true y_pred\n",
+ "0 0.0 0.452990\n",
+ "1 0.0 0.458283\n",
+ "2 0.0 0.462887\n",
+ "3 0.0 0.473695\n",
+ "4 0.0 0.466792"
+ ]
+ },
+ "execution_count": 8,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "9.132577787689378"
+ ]
+ },
+ "execution_count": 23,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "from sklearn.calibration import calibration_curve\n",
+ "import numpy as np\n",
+ "\n",
+ "def expected_calibration_error(y_true, y_pred, bins):\n",
+ " prob_true, prob_pred = calibration_curve(y_true, y_pred, n_bins=bins, strategy='quantile')\n",
+ " return np.sum(np.abs(prob_true - prob_pred))\n",
+ "\n",
+ "expected_calibration_error(df['y_true'], df['y_pred'], bins=100)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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ASw5OZnHH3+cli1bMmrUKACqVaumACYiIpIDGgkLcClp6YxftIVXv95CmZCixPaKol2DSufdLz4+nt69e/PTTz/Ru3dvnnnmGR9UKyIiUnAohAWwDbuP8/c5a9iw5zh3NKnKE7c1oHSJoufdb968edxzzz2ULl2auXPncvvtt/ugWhERkYJFISwAOed47Zut/OfLTYQWL8qkns246arKOdrPzGjZsiU9evTgueeeo0KF7C9XISIiIlnTmrAA45zj6Y9/5sXPNtL+qsp88VDr8waw9PR0Xn31VTp06EBaWhqVKlViypQpCmAiIiKXQCEswIz9cjOxS7bT5+qavNK1CWVCsp9+3LlzJzfddBMPPvggZkZCQoKPKhURESnYFMICyMRvtzLuq83cE1WdUbc2wMzO2dY5xxtvvEFERATLli3j9ddfZ+HChZQuXdqHFYuIiBRcWhMWIN5Y+ivPLfyFTpGX88xfGlKo0LkDGMDp06d58skniYyMZPr06dSqVctHlYqIiAQGhbAA8O7KnTwxfz03NqjES3+NJCibAPbRRx/Rtm1bihcvzqJFi6hatSqFCmnAVEREJLfp07WAW7BmNyPeX8u1dcrzarcmFAnKussPHz5M9+7due222xg/fjwA1atXVwATERHxEo2EFWBfbNjHQ7NXE1WzLJN6RhFcOCjLdgsXLmTAgAHs37+fMWPGMGzYMB9XKiIiEng0zFFAfbf5APe//SNXVQ1lap9oihfNOoC99NJL3HzzzZQpU4a4uDgef/xxihQ5/826RURE5NJoJKwAWr79MANnrKR2xZLM6NucksH/283p6ekUKlSIW265hYMHDzJ69GiCg4P9UK2IiEhg0khYAbN651H6TV9B1dLFebN/c0JL/HlU69SpUzz88MN069YN5xz16tXj2WefVQATERHxMYWwAuTnPcfpPXU5ZUKK8PaAGMqX/HOwWrFiBc2aNePll1+mXLlypKWl+alSERERUQgrILbsT6TnlDhKFA1i5oAYKocW+++25ORkRo0aRcuWLUlISODzzz9n/PjxFC6s2WgRERF/UQgrAHYePkmP2DgA3hrQguplS/xp+9GjR5kwYQI9evQgPj6eG2+80R9lioiISCYaCsnn9hw7RbfYZZxKSWP24BhqVygJQFpaGm+//Tbdu3enYsWKrFu3jkqVKvm5WhERETlDI2H5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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "prob_true, prob_pred = calibration_curve(df['y_true'], df['y_pred'], n_bins=10, strategy='quantile')\n",
+ "\n",
+ "plt.figure(figsize=(10, 7))\n",
+ "plt.plot(prob_pred, prob_true)\n",
+ "plt.plot([0, 1], [0, 1], 'k--')\n",
+ "plt.xlabel('Predicted probability')\n",
+ "plt.ylabel('True probability')\n",
+ "plt.title('Calibration plot for best LR-CNN model');"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "plt.figure(figsize=(10, 7))\n",
+ "df['y_pred'].hist(bins=100)\n",
+ "plt.xlabel('Predicted probability')\n",
+ "plt.ylabel('Absolute incidence')\n",
+ "plt.title('Histogram of predicted probabilities for best model');"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "0.4253303284886725"
+ ]
+ },
+ "execution_count": 27,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df['y_pred'].mean()"
+ ]
+ }
+ ],
+ "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.7.0"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}