From 3ae406901ad34796486fc6cb6272563e483af1e5 Mon Sep 17 00:00:00 2001 From: Kenta Shinozaki Date: Sun, 16 May 2021 17:27:15 +0900 Subject: [PATCH 1/2] =?UTF-8?q?challenge1=E3=82=92=E5=AE=9F=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Challenge1-checkpoint.ipynb | 1567 ++ challenge1/analysis/shino/Challenge1.html | 14920 ++++++++++++++++ challenge1/analysis/shino/Challenge1.ipynb | 1473 ++ challenge1/analysis/shino/test.py | 35 + 4 files changed, 17995 insertions(+) create mode 100644 challenge1/analysis/shino/.ipynb_checkpoints/Challenge1-checkpoint.ipynb create mode 100644 challenge1/analysis/shino/Challenge1.html create mode 100644 challenge1/analysis/shino/Challenge1.ipynb create mode 100644 challenge1/analysis/shino/test.py diff --git a/challenge1/analysis/shino/.ipynb_checkpoints/Challenge1-checkpoint.ipynb b/challenge1/analysis/shino/.ipynb_checkpoints/Challenge1-checkpoint.ipynb new file mode 100644 index 000000000..31d71b3e2 --- /dev/null +++ b/challenge1/analysis/shino/.ipynb_checkpoints/Challenge1-checkpoint.ipynb @@ -0,0 +1,1567 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.linear_model import LinearRegression\n", + "from sklearn.linear_model import LogisticRegression\n", + "from sklearn.ensemble import RandomForestClassifier" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "train_df = pd.read_csv('../../data/training_dataset_500.csv')\n", + "test_df = pd.read_csv('../../data/test_dataset_500.csv')" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
IDLabelHouseYearMonthTemperatureDaylightEnergyProduction
00012011726.2178.9740
11112011825.8169.7731
22212011922.8170.2694
333120111016.4169.1688
444120111111.4169.1650
55512011124.2199.5763
6661201211.8203.1765
7771201222.8178.2706
8881201236.7172.7788
99912012412.6182.2831
10101012012517.6214.2955
11111112012620.8143.0837
\n", + "
" + ], + "text/plain": [ + " ID Label House Year Month Temperature Daylight EnergyProduction\n", + "0 0 0 1 2011 7 26.2 178.9 740\n", + "1 1 1 1 2011 8 25.8 169.7 731\n", + "2 2 2 1 2011 9 22.8 170.2 694\n", + "3 3 3 1 2011 10 16.4 169.1 688\n", + "4 4 4 1 2011 11 11.4 169.1 650\n", + "5 5 5 1 2011 12 4.2 199.5 763\n", + "6 6 6 1 2012 1 1.8 203.1 765\n", + "7 7 7 1 2012 2 2.8 178.2 706\n", + "8 8 8 1 2012 3 6.7 172.7 788\n", + "9 9 9 1 2012 4 12.6 182.2 831\n", + "10 10 10 1 2012 5 17.6 214.2 955\n", + "11 11 11 1 2012 6 20.8 143.0 837" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train_df.head(12)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
IDLabelHouseYearMonthTemperatureDaylightEnergyProduction
1148811987115002012621.8152.1645
1148911988125002012726.2169.8661
1149011989135002012827.8257.9822
1149111990145002012924.7183.2665
11492119911550020121017.4201.2655
1149311992165002012119.7203.5582
1149411993175002012123.8194.2534
114951199418500201312.0234.6640
114961199519500201324.2201.8638
1149711996205002013311.2234.0778
1149811997215002013413.6237.1758
1149911998225002013519.2258.4838
\n", + "
" + ], + "text/plain": [ + " ID Label House Year Month Temperature Daylight \\\n", + "11488 11987 11 500 2012 6 21.8 152.1 \n", + "11489 11988 12 500 2012 7 26.2 169.8 \n", + "11490 11989 13 500 2012 8 27.8 257.9 \n", + "11491 11990 14 500 2012 9 24.7 183.2 \n", + "11492 11991 15 500 2012 10 17.4 201.2 \n", + "11493 11992 16 500 2012 11 9.7 203.5 \n", + "11494 11993 17 500 2012 12 3.8 194.2 \n", + "11495 11994 18 500 2013 1 2.0 234.6 \n", + "11496 11995 19 500 2013 2 4.2 201.8 \n", + "11497 11996 20 500 2013 3 11.2 234.0 \n", + "11498 11997 21 500 2013 4 13.6 237.1 \n", + "11499 11998 22 500 2013 5 19.2 258.4 \n", + "\n", + " EnergyProduction \n", + "11488 645 \n", + "11489 661 \n", + "11490 822 \n", + "11491 665 \n", + "11492 655 \n", + "11493 582 \n", + "11494 534 \n", + "11495 640 \n", + "11496 638 \n", + "11497 778 \n", + "11498 758 \n", + "11499 838 " + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train_df.tail(12)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "((11500, 8), (500, 8))" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train_df.shape, test_df.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "train_df_hde = train_df.drop(['Label','Year','Month','Temperature'], axis=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
IDHouseDaylightEnergyProduction
1149511994500234.6640
1149611995500201.8638
1149711996500234.0778
1149811997500237.1758
1149911998500258.4838
\n", + "
" + ], + "text/plain": [ + " ID House Daylight EnergyProduction\n", + "11495 11994 500 234.6 640\n", + "11496 11995 500 201.8 638\n", + "11497 11996 500 234.0 778\n", + "11498 11997 500 237.1 758\n", + "11499 11998 500 258.4 838" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train_df_hde.tail()" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
HouseDaylightEnergyProduction
House1.0000000.001583-0.008303
Daylight0.0015831.0000000.531577
EnergyProduction-0.0083030.5315771.000000
\n", + "
" + ], + "text/plain": [ + " House Daylight EnergyProduction\n", + "House 1.000000 0.001583 -0.008303\n", + "Daylight 0.001583 1.000000 0.531577\n", + "EnergyProduction -0.008303 0.531577 1.000000" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train_df_hde[['House','Daylight','EnergyProduction']].corr()" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None, normalize=False)" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "lr = LinearRegression()\n", + "X = train_df_hde[['Daylight']].values\n", + "Y = train_df_hde[['EnergyProduction']].values\n", + "lr.fit(X,Y)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "coefficient = [2.56478737]\n", + "intercept = [127.69148663]\n" + ] + } + ], + "source": [ + "print('coefficient = ', lr.coef_[0]) # 説明変数の係数を出力\n", + "print('intercept = ', lr.intercept_) # 切片を出力" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.scatter(X, Y, color = 'blue') # 説明変数と目的変数のデータ点の散布図をプロット\n", + "plt.plot(X, lr.predict(X), color = 'red') # 回帰直線をプロット\n", + "\n", + "plt.title('Regression Line') # 図のタイトル\n", + "plt.xlabel('Daylight') # x軸のラベル\n", + "plt.ylabel('EnergyProduction') # y軸のラベル\n", + "plt.grid() # グリッド線を表示\n", + "\n", + "plt.show() # 図の表示" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "# DaylightとEnergyProductionに相関はあるが、ばらつきが大きい。\n", + "# Houseごとに、発電能力に差があるためでは?\n", + "MeanEnergy = np.mean(train_df_hde['EnergyProduction'])" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "612.7488695652174\n" + ] + } + ], + "source": [ + "print(MeanEnergy)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "pivot_House = pd.pivot_table(train_df_hde, index='House')\n", + "# 各Houseごとの発電量の平均を求める" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "23.0\n" + ] + } + ], + "source": [ + "cases_House = train_df.shape[0]/pivot_House.shape[0]\n", + "print(cases_House)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "eachHouse_perMeanEnergy = pivot_House/MeanEnergy\n", + "# 各Houseごとの平均を、全体の平均から求める係数を算出する" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "k_Energy_House_Mean = eachHouse_perMeanEnergy[['EnergyProduction']]" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "k_Energy_House_Mean_array = k_Energy_House_Mean.values" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(500, 1)" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "k_Energy_House_Mean_array.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [], + "source": [ + "test_X = test_df[['Daylight']].values\n", + "test_Y = test_df[['EnergyProduction']].values" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 22, + "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.scatter(test_X, test_Y, color='blue')\n", + "plt.scatter(test_X, lr.predict(test_X), color='black')" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [], + "source": [ + " sim_Y = k_Energy_House_Mean_array * lr.predict(test_X)" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 24, + "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.scatter(test_X, lr.predict(test_X), color = 'black') \n", + "plt.scatter(test_X, sim_Y, color = 'red') \n", + "plt.scatter(test_X, test_Y, color='blue')\n", + "# ばらつき具合は、Houseごとの係数を考慮することで表現できている。\n", + "# 全体的に、発電量が小さい。北半球6月なら、太陽の角度が大きいことを考慮できていないため?" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
IDLabelHouseYearMonthTemperatureDaylightEnergyProduction
49511903234962013619.3125.9483
49611927234972013621.9122.4628
49711951234982013622.8127.2673
49811975234992013621.9126.8735
49911999235002013622.7122.9586
\n", + "
" + ], + "text/plain": [ + " ID Label House Year Month Temperature Daylight EnergyProduction\n", + "495 11903 23 496 2013 6 19.3 125.9 483\n", + "496 11927 23 497 2013 6 21.9 122.4 628\n", + "497 11951 23 498 2013 6 22.8 127.2 673\n", + "498 11975 23 499 2013 6 21.9 126.8 735\n", + "499 11999 23 500 2013 6 22.7 122.9 586" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "test_df.tail()" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [], + "source": [ + "# RandomForestを使い、Month, Daylight, House, TemperatureからEnergyProductionを推測してみる。" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.ensemble import RandomForestClassifier\n", + "model = RandomForestClassifier(max_depth=1000)" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [], + "source": [ + "X = train_df.drop(['ID', 'Label', 'Year'], axis=1)\n", + "test_X = test_df.drop(['ID', 'Label', 'Year'], axis=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/saber/opt/anaconda3/lib/python3.7/site-packages/sklearn/ensemble/forest.py:245: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n", + " \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n", + "/Users/saber/opt/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:1: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + " \"\"\"Entry point for launching an IPython kernel.\n" + ] + }, + { + "data": { + "text/plain": [ + "0.08" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model.fit(X,Y)\n", + "predicted = model.predict(test_X)\n", + "model.score(test_X, test_Y)" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1.0" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model.score(test_X, predicted)" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 30, + "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.scatter(test_X[['House']].values, predicted, color='red')\n", + "plt.scatter(test_X[['House']].values, test_Y, color='blue')" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 31, + "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.scatter(test_X[['Daylight']].values, predicted, color='red')\n", + "plt.scatter(test_X[['Daylight']].values, test_Y, color='blue')" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [], + "source": [ + "# RandomForestを使い、Month, Daylight, HouseからEnergyProductionを推測してみる。(Temperatureを除いた場合)\n", + "X_hdm = train_df.drop(['ID', 'Label', 'Year', 'Temperature'], axis=1)\n", + "test_X_hdm = test_df.drop(['ID', 'Label', 'Year', 'Temperature'], axis=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/saber/opt/anaconda3/lib/python3.7/site-packages/sklearn/ensemble/forest.py:245: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n", + " \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n", + "/Users/saber/opt/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:2: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + " \n" + ] + } + ], + "source": [ + "model_hdm = RandomForestClassifier(max_depth=1000)\n", + "model_hdm.fit(X_hdm,Y)\n", + "predicted_hdm = model_hdm.predict(test_X_hdm)" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 34, + "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.scatter(test_X_hdm[['House']].values, predicted, color='red')\n", + "plt.scatter(test_X_hdm[['House']].values, test_Y, color='blue')" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 35, + "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.scatter(test_X_hdm[['Daylight']].values, predicted, color='red')\n", + "plt.scatter(test_X_hdm[['Daylight']].values, test_Y, color='blue')" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.146" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Temperatureの影響は若干ある。\n", + "model_hdm.score(test_X_hdm, test_Y)" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# グラフで見ても何もわからないが…\n", + "plt.scatter(X[['Temperature']].values, Y, color='blue')" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 38, + "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.scatter(test_X[['House']].values, predicted, color='red')\n", + "plt.scatter(test_X[['House']].values, test_Y, color='blue')" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/saber/opt/anaconda3/lib/python3.7/site-packages/sklearn/utils/validation.py:724: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", + " y = column_or_1d(y, warn=True)\n" + ] + }, + { + "data": { + "text/plain": [ + "SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0,\n", + " decision_function_shape='ovr', degree=3, gamma='scale', kernel='rbf',\n", + " max_iter=-1, probability=False, random_state=None, shrinking=True,\n", + " tol=0.001, verbose=False)" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from sklearn.svm import SVC\n", + "model_svc = SVC(gamma='scale')\n", + "model_svc.fit(X, Y)" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [], + "source": [ + "test_Y_svc = model_svc.predict(test_X)" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAD4CAYAAAAXUaZHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO19faxlV3Xfb9373rW571HsuWOiCWbuA8VCkKhxzSg1BaEkQ1KYRiWt+CMzg7Erykh30ilUrZBRpKr5Y5SSSiVloBQnIJOeJxLlq7imCbUGqIZKQMd8GINxPXS+LBOPxxjjcex45r3VP8459517zv48e5/7ce76SUf33nP2x1pr773OvnuvvRYxMwQCgUDQLnRmTYBAIBAI4kOUu0AgELQQotwFAoGghRDlLhAIBC2EKHeBQCBoIVZmTQAA7N69mzc2NmZNhkAgECwUHnzwwcvMfJPq2Vwo942NDZw+fXrWZAgEAsFCgYjO657JsoxAIBC0EE7KnYjeT0QPE9F3iegD2b1dRPQAET2Wfd6Y3Sci+igRnSGih4jotiYZEAgEAkEVVuVORD8H4H0AfgHAzwP4NSK6BcDdAE4y8y0ATma/AeAdAG7JriMAPtEA3QKBQCAwwGXm/noAX2Xmv2HmawD+F4B/AuCdAD6TpfkMgF/Pvr8TwB9yiq8CuIGI9kSmWyAQCAQGuCj3hwG8lYgGRNQHcADAqwH8FDP/EACyz1dm6V8F4GIh/+PZvQkQ0REiOk1Ep5966qkQHgQCgUBQglW5M/MjAD4M4AEAfwXg2wCuGbKQqhhFufcw8z5m3nfTTUpLHoFAIBDUhNOGKjN/iplvY+a3AvgRgMcAPJkvt2Sfl7LkjyOd2ee4GcAT8UgWCAQCgQ2u1jKvzD73AvinAD4L4D4Ad2ZJ7gTwuez7fQDek1nN3A7g2Xz5RiAQCATTgaud+58R0fcA/HcAv8nMzwD49wB+hYgeA/Ar2W8A+B8A/h+AMwB+H8DRuCS3G5ubwMYG0Omkn5ub5vu2fE3Td/TodOpdNEyrPaaJWDzNQjZtbA8rmHnm1xvf+EYWMCcJc7/PDOxc/T7zaKS+nyTmfPnzJukrX03Uu2iYVntME7F4moVs2tgeOQCcZo1eJZ6DSEz79u1jcT+QzijOKw4Td7vA1lb1/nAInDunz5c/b5q+putdNEyrPaaJWDzNQjZtbI8cRPQgM+9TPhPlPj/odNJ5hSuIgO1tfb78+bTpi13vomFa7TFNxOJpFrJpY3vkMCl38S0zR9i7V32/2zWn1+XT3a8L1/Ji17tomFZ7TBOxeJqFbNrYHi4Q5T5HOH4c6Pcn7/X7wJEj6vvHj5vz5c+bpK+MJupdNEyrPaaJWDzNQjZtbA8n6Bbjp3nJhuoOkoR5OGQmSj+Lm6aq+7Z8TdM3Gk2n3kXDtNpjmojF0yxk08b2YJYNVYFAIGglZM1dIBAIlgyi3AUCgaCFEOUuEAgELYQod4FAIGghRLkLBAJBCyHKXSAQCFoIUe4CgUDQQohyFwgEghZClLtAIBC0EKLcBQKBoIUQ5S4QCAQthCh3gUAgaCFEuc8bJIhqO9DGoJ0SRHWxoHMXOc1LXP5mkCCq7UAbg3ZKENW5BMTl74JAgqi2A20M2ilBVOcSEkN1USBBVNuBNgbtlCCqcwnx574okCCq7UAbg3ZKENWFgyj3eYIEUW0H2hi0U4KoLh50i/HTvGRDtQAJotoOtDFopwRRnTtANlQFAoGgfZA1d4FAIFgyiHIXCASCFkKUu0AgELQQotwFAoGghRDlLhAIBC2EKHeBQCBoIUS5CwQCQQshyl0gEAhaCFHuAoFA0EKIchcIBIIWwkm5E9G/IqLvEtHDRPRZIrqeiF5DRF8joseI6I+JqJelvS77fSZ7vtEkAwKBQCCowqrciehVAP4lgH3M/HMAugB+A8CHAXyEmW8B8AyA92ZZ3gvgGWb+GQAfydIJBO2Bb8i2eQnxltNBBKyspJ9N01Pkfffu9JqlHOYlXOU0oPMoll8AXgXgIoBdAFYA3A/gHwK4DGAlS/MmAF/Ivn8BwJuy7ytZOjLVIV4hBQsD35Bt8xLizRQisSl6bGEZpy0HW1vMS1t5AAavkE4ueQG8H8AVAE8B2ASwG8CZwvNXA3g4+/4wgJsLz34AYLeizCMATgM4vXfv3ulJQyAIwXCoVlTDYZz0TUFHR5P02OqcthxsbTEvbeUBk3J3WZa5EcA7AbwGwE8DWAPwDtWfgDyL4dnODeZ7mHkfM++76aabbGQIBPOBCxeavd8UbPU1QY9LmdOUg60t5qWtIsFlQ/VtAM4y81PMfBXAnwP4BwBuIKKVLM3NAJ7Ivj+OdCaP7PkrAPwoKtUCwazgG7JtXkK82eprgh6XMqcpB1tbzEtbRYKLcr8A4HYi6hMRAdgP4HsAvgTgXVmaOwF8Lvt+X/Yb2fMvZn8fBILFh2/ItnkJ8WYKkdgUPbawjNOWg60t5qWtYkG3XlO8APw2gO8jXU//rwCuA/BaAF8HcAbAnwC4Lkt7ffb7TPb8tbbyZUNVsFDwDdk2LyHecjoA5m53Zz25SXqKvA8G6TVLOcxLuMpIgITZEwgEgvZBwuwJBALBkqEVyn3z6FewsfI4OrSNjZXHsXn0K7XSzIq+GLTNkj9XlGk8+rNfHv/eTU9jd+dpL/pnxbOcYfKvU84wzQC69ZppXiFr7snoFPdxZfLcAa5wMjrllaYp2OqOQdss+XOFikZgW3++xUL/rHiWM0xx6pQzTHGA0ENMTV8hyn3Yvag+d9C96JWmKdjqjkHbLPlzhY5G4/kWA/2z4lnOMMWrc9pyaOEZJqNyX/gN1Q5tQ3UWi7CNbe44p2kKtrpj0DZL/lyho9EEE/2z4rnTSYd8pV4CtrfD0zcFHR1N0mOrs6l6fenJaZiXtvJBqzdU93afsN53SdMUbHXHoG2W/LmiDi2mPLPiWc4wxauzqXp962rpGabFV+7Hj5xDH89P3OvjeRw/cs4rzazoi0HbLPlzhYpGVL1SjGGjf1Y8yxmmOHU2Wa8PPW0+wzTz9XYOXHNnTjfXht2LTNjiYfeiclPNJU1TsNUdg7ZZ8ueKMo2jN3xp/HuAyzygy170z4pnOcPkX6ecYWoGaPOau0AgECwrWr3mLhAIBIIqRLkLBAJBCyHKXSAQCFoIUe4CgUDQQohyFwgEghZClLtAIBC0EKLcBQKBoIUQ5S4QCAQthCh3gUAgaCFEuQsEAkELIcodkxFqOp30kyiNGlMnEkvsaC6m8uYhcoxPdJtyNJ6jR+PTr6JnGnLyqWNa7eYiC1MbzEP/ahKukaLqymGm8tM5nZnmFeo4jLm+wx9btJj8yh0t6RwuFZ0yEU3mDYnmYooOMxrFrSs2fbrnLtdgYOZD196q+lZXmXu96r1QJ1ZJkpah46HfT9uoTKeKRqI0rY0/X/pcZKGT/2hkptPUBi60+/BYTquSawz5qPpx3QhNunaO6bANbY7ExBwWHsslWkydxo8VzUVHX66YZh05pm50G5er11O3oam969bn+1JMklRR2spVvXx1LwSiMGXi2jaul65/5QpeRaPuvsr7oiuPLuOrKfkMh/UjNNnKjzERa71yDwmPpevArpep8csDog7q0Fe3rpj05TTEkG8ZpvYOqc/npRiqOJtQJq5tE+PK/8G63i/T7sOjq6ybkA+RvY+HlB86ETMp91asuV+44He/iNAoKxcuNFtPnXyLEN3GFSrZmto7pD6XdqyT1peGkP5cRJP9YGvL736Zdh8eXfluQj5799aP0ORSflP9CGjJhmpIeCxbtBiXum31hERz0UWHGQzU6YnmP7qND1SyNbW3qr7VVaDXq1dXSFoi9f3BQP8sRJmUESILG7pdv/tl2n14dOU7hnyKyPtx3QhNLn2/0YmYbko/zWuWa+55ft1mqOkyrbnH3DhRbTy5bMpNCz7RbcrReEYj/Rp0nTV3HT1lGsqbirHX3HPe6myGx1pzd5GFqQ36feb9+9V0tmHNvSwfU6SoEIONJgwtcqDta+7MzYTHUoUls1nLTDM816KFBDOhbHlS11rGp74Y1hY2mk311H3WFHytXxbdWmbaaKJNTcpdwuwJBALBgkLC7AkEAsGSQZS7QCAQtBCi3AUCgaCFEOUuEAgELYQod4FAIGghRLkLBAJBCyHKXSAQCFoIq3InotcR0bcK10+I6ANEtIuIHiCix7LPG7P0REQfJaIzRPQQEd3WPBsCgUAgKMKq3Jn5UWa+lZlvBfBGAH8D4C8A3A3gJDPfAuBk9hsA3gHgluw6AuATTRAeFbpoHevrqfd+ImBlZfLT5M3f5PU/hL5yeZubO/SFRBcJRYxoHb6RUnwjmPhEqPDhuyj/vL+4RAmxtV2sKA8+slD1bxOdJt7aHOFjUaA7uqq6APwqgP+dfX8UwJ7s+x4Aj2bfPwngYCHPOJ3uiuF+oDbqRpOwOQOJ5URC54RjNFI7N9E5ZGkKTUXrqOtcpm6EiiYcuqvqdWm7WM5lQqJ15GlVPnx7vXDnMoIoQCzfMgA+DeBfZN9/XHr2TPZ5P4C3FO6fBLBPUdYRAKcBnN67d+90JKFCqGNuV4fusaN16Bxnh9QVk74Y0Tp0vJjqDKlvWg7dbW0Xy6F7U07nTTy4OnQXRIFJuTv7liGiHoAnAPwsMz9JRD9m5hsKz59h5huJ6PMAfoeZv5LdPwngg8z8oK7smfqW6XTS7lcXue9WWxlEwPa2f/l16KtbVx3o6MtpiCHfMi+mOoH69fnILZQvEw2AWaauaIrGOphmn1wixPIt8w4A32DmJ7PfTxLRnqyCPQAuZfcfB/DqQr6bkb4UmkXddb5Qh8ouDt1D6tHl0znODqmrDpqO1uHr0D2kvtgO3XWwtV0sh+5N9oNQh+5AWETxWJHVpxkhO/ZenA26KX35AvBHAP5Z4fd/AHB39v1uAL+bff9HAP4SAAG4HcDXbWUHr7mHrFHKmnsYZM1df8mau572eXDo7jpu67ZHk3ohA0LX3AH0ATwN4BWFewOk6+mPZZ+7svsE4OMAfgDgO1Cst5evYOXuuUZZ8as8OqX2qL+2NnbYndBhHuIsE7Z4iLOcDI4xJ8lOWdjmYfciJzhk9vpfBwpH0EnCPBw8t0MPDhqdoIf63nalLxkcS+kqlmeKiJA75i7L3sOhe6XOvD1tESo8GVf2m6JD97y/mOrN6klGp3jYubDTfmvva8ahu6ochSySwTFl/zY6rU+ScT5gi7udrXTYDZ7j0dq9O+UNnquSbxizFZIHx9IxiIM7deEqo9j3DeNdi+FwXCaVyyrqEAWtCQ7ysHvR3DxN7sVlCFbuTV/Byt0jgm2dl7Bp8jwLwwBfHqZFf6wJ5zzWGbOeWcipCXp8/pRVytOM2QSHqrTgCo9wgvu4oi4bV1Kl7BkZPsGhSpnjsoo6pERrgoPVfCp5uUbgDkD7lbvHzL2OIYKvwUrThgG+PEyL/lhGHvNYZ8x6ZiGnJujxNcaZKE+Tedi9qO6ruGouG2e9Baira4izk0SXaE3/PTjIS2bu011z95jkW/PorsCXsRW+PEyL/jqyDcW06oxZzyzk1AQ9Qf1KM2YJ25r8uvtZ2djy/uujq4uwNalDSrQSttzktQhr7k1fUQ4xOa5Rysy9Ofpl5j5fNDdNT9DMnVk5ZrV9taNWqOOyB8/F4zv/F6DZA9HO+FXyMu03RViHWw7lXoBJz+sMCFQyz8vJ38rll+4ir7nn/Oj4qrOXF9PIwzQeys/Lxh+69gyBC2+ue6Chxl2mvm2rX7e/2vSae97PbPpN11f379fXVTbOcu27Mfl2zRdjj7yIpVLuo1FVYeW/y8pBpdxMirtcDnOYFYqLEYlpENQpX8Vzka/QF1aoUYpNYags+YrKXKXsY71wfScNtheu70BPkqoF5eqqXkGXX3Kmtq2reMrGNL6X6gW5tqYfk/m4zf915p91+24I377jr4l+uTTKPUns64Cupum6JYvBwP4vy3WW52P+rXqx2GShokE3EPO/lLa/6DFnRqqyfP/q+9Lvy4MrYsjNlkbXdnmfrKtgXZaDim1jU6h167eNiXIbutbrutwV2i9syjyENh2WRrm7dnDFBniUK1dcLgompH6XN75v+flmkGlzzXd2apKDrqy6MnGhnzne0lEZoXJzSWPjP1R2OpgUaUi95fptfbZIp0//dtmoDu0XvpM1H9pMWBrl7trRCNvaHe/8Mvl2Ml35YRpbQ4YOiuHgOeM0Q1++2kIg30QaDp5TPx86brwVpi8mqwLtxllduXcvOm12BW1mGqZ2pnK1zzKabXLPYeRfU4eT7Ib1eIt15TzaxsS4z0NvseLdthnfzuaNmr6ga78g2hywNMrdVcBDnNM2Znpt8+gNX1IcmjCbYwGpGdVw/bK+c3rSaqpn4kZpmqErf4BLxoMbSefd6uejUwbTse200tL0RTtgBs8ZTd50h1UA5lW8wD28qKdfdcAko5/ZZP62be5clqldMjpVQ247bah9ERboGlyvadPrn1PW73L1cYWT/Z8y8qZvq/Cr2DbmMbHNSfcOa98ylW9qUxf5m/qCz8vGiTZHLI1yTwbHrAo5VwQJDmobZIBLzN1u5WjyAJesDTbEWU7osHqgD45ZaNXTraqnenNoLL/Iu+nItfL5cKifFXcvppWWpnhaRTs4ZjhAcm6i/gEu8QCXJmipSz8z23nQwTblHw795VZoQ+2LsEBXQocrL7YeXuSEDlfqT/uqug91cXWSRotNrI7+HQU4OY5W8cK4zfSHj7YrbZMMjpnHZKmNdWkr/Ommx4U2dZG/qS+4vGyKcrHS5oilUe5MVBlgI5zQKoIRTlQ6SOX4sUVZ6fIqB3ppXcakxHK6gS13Gg3lK/1m+FxEhuPah8Z1qmSmkoPT0e+YVyYbKw+GvmUq1/TchVfti7BIl06eOR2lun37t4/MiuWZxpier4OVepjIi2bntA6n+5zkb+gLqvxKZW4aszWwPMq9xuKgdrBoZjO2WaUpb90dVWclHWvHVle2YXbqVaeprLqL7i51ZjQaefDtWy6L+bo6Xdq5SJcpQIamfqe+Y+uvBfq1TrtC+m9Jhj6TEqe0DjN3J/lb+kKtyZTM3B2hMgQuXy4uT3UuTV0ukzvUEFtIGw+xyjeV7WLb6OqaVVeWTe4+LmtdaYxxcsX03EUuLm06Gqnzjkb129vlNF5IX/Vtm05HnY7Iv91tbWvjS5dXd6ggpF/WxPIod2aunKowuWHNO01R4CWXphWjdmBnpjMYTJ640OV1PeWgO8VkO6bpW77uu0vZtnrLz02nmHRlmeSioq9cR4wTYCr48m7iVUWjC12j0eQJntHIXEfZXa9ONq68Ffu/qo58zBXHRa+3o7SJmNfXzfWUTzGtr1fHbU5Dcfya+HNpUx/3ACp5hfbLGjApd0qfzxYzDbMnEAgEC4pYYfYEAoFAsCAQ5S4QCAQthCh3gUAgaCFEuQsEAkELIcpdIBAIWghR7gKBQNBCiHIXCASCFkKUu0AgELQQrVHum5vAxgbQ6aSfm5vq50TAykr6WUxny+9a79GjwO7daflE6XdVWap86+s7+brd9F4duPCiS+Mjh1gyK+arW2ZovU0iRKZHj1bzbm5O9rH8evnL03S7d6eXKY+uX+rodbmnotXGZ3E8djpV+proY6o0Opn51h1jXEWD7ujqNK9Q9wNJwtzvTboW7feuTrrG6Kldj/Z7V1PXGuX8Re9yRbcClnpVblZ7K9d2sieJk2vi/F7xdHkMWZjSKOVQyutTjy99dcuMJZcm4FOvS39a7V7jLvn5DtflmeiXBhpWu9e4t3LNeq/iXtuLz+rVpa1KHUF9bHRqfPw/GRzj/sqL2rpV/JXLKLtf0HmWHPV+v1LX2AW4+JYxQxvFJguOYQuM0aVyJ83yF/xtc69XaQifgBvDwXNjh0OugQZy2mLKwpRGK4dCXp96fOmrW2YsuTQBn3pDA7jUucp0xKahCT5r9zGcG//wGYO6MsqXrkydT/shzgY7DzMp91b4lunQNlixwkTYxjZ3tM93wABInR/dnRvDIXDunLVeFQjb2B6+Fjh/Hh1sOecDGMxV2nSwycKUxigHnkzvUo8vfSkF/mW6oC69ofCp16c/xUKZjtg0NMFnSB/Lx7PfGFSXUalXW6ZFv5T0ihc9bfctsxcXjPd1z3N0seVW7oUL5ucG7MWFcX6ffDrajPVY7uvSOMvBsR5f+uqW6YImy45Vb9O0uNARm4Ym+AzpY6E0mPLVHlcXGmp33ZR+mlfwmrsupFwW1s4U0i6NJPMxt6hAJcf6rmvnPbyY0lIIRuC85o6PRZWFKY1WDoW8PvX40le3zFhyaQI+9br0p1W8wF285LWUoMsz7pcWGlRxa1X3lCEtnflULWe8pI6XW7ePWSJE2fizRbHSrrnjhJmegIAdaPuaOycJJ6t3TUZBWb1rwld10nm3OpJM9w7m0aiav9yIijV3Vb0jnCjEr9zmAS6ldZSCNqjCAa7h2XG+Dq7xCCe4zo6qURamNCo5lPP61ONLX90yY8mlCfjUq+lPE3k77+aEDk/0sfTa4nU8q44Qpsgz0S9t9HbezUn3Duu9Cq0OfBbHI+HaJH10uFpv3T7WeXclmIYxqpqqbkUZKgWv0iPaKE0NrrnPXLFzDOXO7BZsoBxUwBSYQxeEw1RvOZ8qrynoQTFvp+Ov2F1lYUrjE8iiiaAXdcsMrbdJhMhUF9Sj3JeBnSAYugAn5cAdLn3aFEjEhVYbn8VxUA684RrApC4POb0+ddsCopQDleTlFesqjvsGrWVasaEqEAgEy4jWb6gKBAKBYBKi3AUCgaCFEOUuEAgELYSTcieiG4joT4no+0T0CBG9iYh2EdEDRPRY9nljlpaI6KNEdIaIHiKi25plQWCFi8MLlXONYn5XxyQu9QoEguah22ktXgA+A+CfZ997AG4A8LsA7s7u3Q3gw9n3AwD+EumRrNsBfM1WfhRrGYEaBfPLHSPbfrp7X75fTpNbB6yuVp+rTENd6p2WhYpAsARAiCkkgL8D4CyQWtYU7j8KYE/2fQ+AR7PvnwRwUJVOdy2dco9l3uViepabX9W5ul21yV1+FQ9flGnT5cvzzMocUiBoEUKV+60Avg7gXgDfBPAHANYA/LiU7pns834AbyncPwlgn6LcIwBOAzi9d+/e6Ulj1qg7o1Xl0822iyja78a+iNxpK+YxyUBm/AKBM0zK3WrnTkT7AHwVwJuZ+WtE9J8A/ATAMWa+oZDuGWa+kYg+D+B3mPkr2f2TAD7IzA/q6lgqO/eNDeD8+ep9m/MgXT5bOa756iCvy6eO4TD91MnA9KymcyWBoK0ItXN/HMDjzPy17PefArgNwJNEtCerYA+AS4X0ry7kvxnAE3UIbyV0ToJszoNcnQuV0x0/DvT7bnl90OulZavq1KHfT/OYZFBXPgKBYAJW5c7Mfw3gIhG9Lru1H8D3ANwH4M7s3p0APpd9vw/AezKrmdsBPMvMP4xL9gJj716/+67PdekOHwbuuScN7VQXg0F6FX9/+tNp2SbaBoN0xk2Uft5zT5rHJIO68hEIBJPQrdcUL6Tr7qcBPATgvwG4EcAA6Xr6Y9nnriwtAfg4gB8A+A4U6+3la1obqk3v0zm5dBmd4gGe4gkHSY7OkMpr0RVnRKZyMudpZedRZWdPzs6fymX7OOWalfOwAMxD3zHldXUbY6vX5m7Fh/5Qmancz6jc5tjoMJXn6xJHRWNZ9qbyYvcjLIXjMAt89unqDBaX8rVWhYpwZ8o6Rqd42L2YerGjy9zrTLpxNYUgS5I0dFh1j7PsatgtVFqFd48QdknC1bBjKy/u7KdWQh4+n4Y3iwzXgebLXx06yn2HyM1vXF1LVV29pkvXT1XlrK5WHSjmFrgu/rNcaSuOMR0d+Vh2tS0w7d8X+8xgsMODzYZgNGrGVkCUO+stAsuulOsOFpfyTVaJNpfOrp1dV06IRaSNNlfZjtObQu3pyqLzUafLPgOt6RB9Op5zw6I6eUPazdgXVGHzPMrRKdiy7H3KzPkM6eMusvN9GZb5tlkH14FJuS+NV8hOJxVlGUTA9vbOb5Phh8lgw6V8XRoVHWW4GqToyjHVXbdMW9laWkyh9qijLisPUxjJYsbHaKnpEH2mtrEZCYX0qTp9Qhk2L6BvFVHk1afMnM9YdBTLLKIpwzNbO5nzildI5306k1GG6ZlL+aY9Qdt+oauxiKqczc2049fFrl1m7wM62nftUnsfMIba05WFp6NazNiMcoqeEzpQj7wiH66eFlTpTG1//ry5TNc+5VuvtkxV2LxIe93FNvEpM08bc89dJbumLIobsxXQTemnec3Tmnvdv7lBa+4O66MufzlV/IT8lQRSelXrikWafdZck4R5tHYvq9b6R2v3pjKqhG9Th4QLgWkpSS0zfQg5175l8gThsh6sK9PWp0LrtbWBa/vb6iofeFbx5ctnncu2jl/3Ggxkzb0xOFmzBG5QuZRfx7LBtFm0aN4HbGvYg/UXjM9jwKSQdTLr4qrSgsd1z8GUzlXR6taCTX3Kt17KrKkqYe9UYfkKNLgELdIpSpWSM/W9Iq86OgYD9xdMfr88jnzHT6fDvH9/tZ7iAWyxlpkhQkzLmqbLt2OEeB8gMufPvQ/41GsqMy/P9jwWdPLU1o8tpfBd6bWlK9JTR+Y6+NQ7Zq2hQaAzR1QV7dJ3bfLQtbHrWPIdP0aZNgBR7ksM7SzUwYRrOKy/TGWaLdpmur7WN7Hhbf3jmN6n3JgymLU868Jl1tw0D74z92nL1KTcW7+hWteleCxX5K4u05uiQeV9oN8HjhwxeyXo94EDB4ArV9TPe730uY6+AwfSzddymceP62nKvRnYnjcN3/p1Hh4uX55s7wMH1OWq5Kgr8+mnzf1A1WdmKc+QjWab54xp8KDqx7Okxws6rT/Nq6mZe91DA7EOG9g2Y2yHJWJtvpj+mqrWNYnSdUMd7fkpPB/HjuVDOba/rdP6W6uDb/06WZblUz69aJLjaKQuR7f/Y+ozs5Bn6EZzmW7b6dRp0J+PDdelpaaBZVuWMW2KFRtC19lj/Y0N+VtZlwYTX6qBoqNLt2zT7ab5dZFUGFkAABnuSURBVM9dll3qYjTaqbfbNZ/gDFFmpnXhOv3GJANdHtvpx27X3dJrVssvLmMwFt2u/d6nL/jS5bOfEAtLpdxdTZdMM4pYG3ohG0J1aLDNgGKZdNn4MT2vC90sVqXgQ/71mORkMu9krtfeIRveZZ6mtRHtChtvOf2hdPv2e9e+4EOXqd80GY5gqZS7y+zJNOs0lTHvM/c6m5i+MnLhxzTrrwufMkPaz1dOLv3GREOd+nTlLdLM3aVvutIdsnlft1xfXptqg6VS7i6zBd0zU2ChRVhzr2N+qKPLFmLVxI8pTV34lBkyE6wzk/YJSOWy3lynbl1Zswxi5cKbLTCXC0LMbn3p19Fl6zdN/XtaKuXuutaue54j1gZUyIaQLw0xZu7lDde8ftsafOw11DIWYeaey0xHa/nATTFPsZ1dDu/oeJr1RnQZLvtfxXR16G5q5u5Dl8zcNVfTa+4qNwDzNMOJhZA1dxv/PjJrQr6LsOYei39Vfte65xVNjrmm1txDaZhGOy2Vcmd2e9vO2wwnFnytZXz495FZE/Kdd2uZWPXr8i96n22S/iasZerSoOo3TWHplLvAE7rebxsV8zCiQhCTftXIVr1BdVq7vBaTHyZQ3Ve1QzFdp1PVLKY2LuZdW6tnTO7CVzFMUVkDqsIXqeSik4Vp/Wd93VyuiufyTGhtbbLMXMY6LT4lTS/KXaCH7n+r6XSNKd80/wuHICb9tjUv09qKzu2m6Sq7QjS5TzS15Whkd71Y99RfHb7q5O/1/Hb/XcpVtZPL5bIGGnkcmJQ7pc9ni2kE6xBooHNU3e0CW1vV+3lEBVO0C8A9EsasEJP+Jp1962BrhyJ0bam7r6tLh1nwX4QrH9OAqf8U00QaB6ZgHaLclx2+4WtsYW9yRxy6Z3VDzsRGTPpjhgByRRPhh2x16TAL/ucVpv5TTBNpHEgkJoEeujAw3a45vSn0lGvYq1kiJv2z4Msn/JCuLXX3dXXVfd40XPmYBkz9p5hmCmiVct/cNIeDm0b9Ph7wiNK0JnqPHgVWVtLnKyvA296mr0NVfzn/0aMlYo4fx+bqXdjAWRC2sIKrIGxj42VPYnP1rp2ycRAbdB6d82dT75ZPfx8dbGEDZ7GJg2kii9vHzQOJsX1M8nORrS3NxPMrD4/528RBbOAsOtjC7svfN/Omgs19YY7V1dSdZk4PDmID56p12dDrTbrQXF0tlXl2p8zVu5QuQDdX78LGy54stLmGBhdXhyr+V1e9le5EO+ASduNS5XuFxl6vwl9FBsX0Croq6Tvvxmb3jol7R3ECu3EJhG0QtrEbl/SyUo6pQntMy3WkbjF+mleMDVXdvpJLBKUYcN2Ds+29FenV2Xa77uHkG/rlq+ydsd+7qi67d5WTwTFOcIj79LyehjzknMHaJBmdMrZP6P6mLY3yee8qj9bu5T6u+PGm6wAe1jIqmfZxhRMc3MnraS2T4GCFl37vapq80B7J4Ji+zXGFk7X3Td1aJtn/KWMfU8pJYS2jlAGe5wSHlHSp0q92r3Fv5Vqp3nJYyCzsIB0e85DTYh1TEfURlsFaxngKrnMhrpmfR/3DwXMTJlXDzgVr581Ps3U7W06d3ecEKpCGi8sVzxBno5RdOYFXkp8utJ6tDuOz9ct2+eOssX6noCVZGTEN3a0nJ2sYuruexpzVaUoT/T7919TfdP152L0YpV4jHRYampDvUih3Y2gybO38CDXz86x/om6ACXaFTdhmThJWzRZ06ckxbXptO9PjWjZhe0cYCvmZ6jHVYX62Nf4bYkxjrN+Ft6wNIx5RNfGrNS201G0ss9hXLTyX00eBRSZ+/Vff33TtXNEBeb0BXjmBgs8YBxoqeSJgKZS7ceaOs5M3GnALaZw5Fm7Y3upANssYDrkL9V87Vfph96Jzh+ziqjM9rmUPuxeNwjDVY6rD+Axnx85ljGkM9bvIuNJ/bP3Cof+Y+PWaTrqWWSTP0p7l9FFgkYlP/zX1N+3MvdyGeb0eojaK34EGXXcJwVIod+2aO17cWce0XAkOZUtxhYjvOMgJDvIQZ5mwpT22r5qYpG/wLR7gEg9wiQlbvIZn2TRbTOk9xEzEI5xQpJ38na4/HkrXcEtrhx38rTL/Op4dy0S15jhJfyqHHl7U0pynG8tDMR1KcJBX8UIlbxcv8QCXGNiqzHhMvE2sTzPzfnyhwusqXiiUfU0pi+vwvJG3NM9WpU9MCkDvpH2i7+DSeAlaRQ9hi0f4mN90slC3Sk5jmov7Ezik5TmXWUy3CXmduRyGOFvof4cyvVhtf9f+NsLHCvLMr6oO0LaFk7jVY3a87F9qc92Yin2WbymUO3O2T0KXzQMRUM7cU+VT7fBdvGQc/OXVnPwF7j4+t6v0FhaaRziRzS63uYurvB9/VR0kWfpi582fjXBCqUiKyjHPB2xldVUH2njQF15WSoXc53QDUsFsgoNZvpTfNTxbkW3+QnThLW/LdOO5qrg7KG+Kqa/iCwYOCqYyYdDM3E2DXNuf6Hmt/JRXse5MTjsy1vTTwTHFi1bdHqEOz8aroIrN4xFOVO6rJkSm/pYaDZiXdFbxQlqXoS3y8Vodt+m4HOHERN+19fnqmNqu9bK0YWmUOzOPe5hKGSQ4yEM6z4RtHtL5iQE6pPNeg7B4DQaTsxUfl61A6S+jyXxkdZWT7h0TnWyAp3i0/xEeDp6bGAhFvvV/E7cnFWUuC036Dq5NykyTLqXjqUlFrDj2rcs/wKXxqElGp3iw9gJrX9ijkdYqyO+qDlrT1cG1lD86z8nolLIPuizBKfvD4Dlt20/MPPFU2peHvGMR0+9n/UNR7jAlT7u5rFmiUi0jqIyDTG6ZdTK0jgeH/uJyuSy/aVdrC/To9cT2eGJUGVMNut5YLuXOzMnoVGVGsIoXuIe/nbjXpx0TKd8NnZjXeLOnbOamMifsus1Gxzx2csVoSIPnU/O3rIeb/h6PZ62djvPf6D49nyrAkmmcaZMzGRzTm0/mS1ejESfJbNpsgj/V2E0SZ/lU+gOp215nXlekIRmd0rZ3voKj/1dpzlfslnFCNho2wYvrn9n3uvI01eXUHtgat4Ornhj/M25iul7A0in3OvtRoRsrIZfrBktdGp3M/Ybu9dSRmYpH4yb40P581u0Wwl8TZYXKzGZnUJcvX/9huvEQ0tYuNLjwH9rnY2PplHud/Sibc72mrhjhxFzrcZFDLgtXmbnO4HRBhU3pjeat1lnodC/foMm+/cE1+LYpnc3S12YhXKcf1gnZ6ON802VJzoUGV/5D+3xsLJ1yr/t2LR+o03WcTse+vj4YGNYaC/l9/rGFzASLa6Q2OTCb9w3KMvP9Z+BST+gsNFY82Tr9qAib3PNVh9AwbjaZlUP8aa1aHM5o2WhRhV4sl2saNyao6DOd5O521TSYrN5s/Nva1NYnYmLplHvNMyBO5fgce69xFsrKl++/i7ohBrWmpQp3DrbZjK8r9KL8bDTUmYW6zL5sZ9p82zS0L7jSELvP+dLiWlcTY2PaIQRiyCEUS6fcmdVvYJe3sks5Pmnq1GmjR+euwzV8nitNqrpMaX1ocKXHhYY6s1DT7EtFcwh/Lnz65jfRELvPmWjJZ8c6ubmUEXNsNM23rs4QOYTApNwpfT5biD93gUAg8EewP3ciOkdE3yGibxHR6ezeLiJ6gIgeyz5vzO4TEX2UiM4Q0UNEdFs8VgQCgUDgAh9/7r/EzLcW3hJ3AzjJzLcAOJn9BoB3ALglu44A+EQsYgUCgUDghpBgHe8E8Jns+2cA/Hrh/h9mS0JfBXADEe0JqMcdodE6dPmLUR52704vW0SJYjrdd1NEjxzWaBsevLlEEvFN71tu7Pw5VHIq3iu26fr6zu/19Z02L+YvfhYjqvj2K1WfKJbt2x9c4RW5pPC8qfaMVV+tiDRLCt1ifPECcBbANwA8COBIdu/HpTTPZJ/3A3hL4f5JAPsUZR4BcBrA6b1794bvLPiYd/jk73bNkdB9TDB8t9V1Nl7FaBuusvExJfAxqYltAlLHzMAlqknsy6VfxTR094FNrnVMjELq1ZXrW5+qfJeINC0GQq1lAPx09vlKAN8G8FaDcv+8Qrm/0VR+FGsZHyNu3/y2y2aU7ZJfBZOzjhiy8T0K6HpUMfTIra+BsO8RyFiXjc6YR1R9YJNr6BFV33p9nc7EOKLqO0YWFCbl7m0tQ0T/DsAVAO8D8IvM/MNs2eXLzPw6Ivpk9v2zWfpH83S6MqNYy5gisLtEGw+J4O4S8dyWX0VfXq4KPnXpeNPV65ret9xQunQwyalJ2Ois26d8+XetNy/Xl67Q9vSFb7/UIQYtc44gaxkiWiOil+ffAfwqgIcB3AfgzizZnQA+l32/D8B7MquZ2wE8a1Ls0WCKKO4SbTwkIrlLxPM6dYdGrbeVH3rfN39o/Tr4yiMWmopyH9KXTPnz+779LbQ9fftxjH4xqz4xT9BN6fMLwGuRLsV8G8B3AfxWdn+AdMnlsexzV3afAHwcwA8AfAeK9fbyFWVZRtbczbxFXnNPEh67GZ5wcTqlNfeJAyvrl7UBWbR+4AOvpHtHyr/pEJHCtbSVnjlZcy/73jcdYLPWO6M199Fo0tXE+no90cY8fBb7gBOW5oRq+Tijbi0OmGz1vIMMBsxrazv3dRHoXa61tcmyVFf5eGnRWYbKAQoR83XXVe/3ejs86NKsrVVcqBqPdOpoHwzSSPWoBl9QKk4VPeWo9aojqIa2tEZmKihSl3Teit1QrvpZ6lo66d2lyXeo2lZ5e3a7zPv3V2WRt2e5L+v6bF5e8bi26qjzYKCNmtXDi6lr6PJkJ6+/PH6Kdar6uaqNbW+R4pFQg5Og0dq9rHLzu4KXqu1v6I+1+lC3O56AJQlzf6UUAGXlxWgKfnmUe44kcXMXp7p8nIqYrm7XvtGn+lego5sofOOw1/ObRWku5ziVNlp0/3gUgT3q1B+FTs/6tc+u/2se4lwj9HhflvY2xrutS6uPe0UXp08WJ0um4BxKHvKxUSo3qA+NRjxcv6zOv345iqozKfd2uh/Y2ADOn6+ffzgEzp0LL2ce0e0CW1vu9xXoYAus2K4hbGMbHmudw2H66Slj1/qj0elRP4Baz0LoqQVDe+v4AwJpzccVYB9bxbRlOIzLVN7qjXYtDwqZBPWhbhedrZf0+TnkmFFWTqj7gYXDhQtx8oeWM4/QKXBHxQ4Ae6GWi+6+Fhcu1JKxa/3R6PSov+6zqcPQ3iZ6gmgttrWt3U3PHfpMFzX4U8gkqM22tmbb5rop/TSv6MsyITbngN0eeJEvX5tjxRVtLbvm+QDX+udnzd3+bG76AWBecw+h1Sekkcm23qHPjHCCndfcDTIJarNulxM6rM5Ph6OoOsiau7oDT0Ynz6wXVu9SrrkXrRxUQagrVhB0eKZr7kqrDMuae7J6l5NlScWSohy02oWe7h3WNXeTZYkrDY1Zy1hoqzzbvz8Ncl16NsKJRugzXpo193IfX8OzXm1slE9xXJXGlpK+wDV3RqrgCdfGPKzjWT0PhTV3Uxupxr62zUejdFzpnkXA8il35rQDqCw+ut2s0dXBdvu9q5P9Kkk4GRyrvH0ndBFe4B5erJYzOjXeea8oI7rMyegUJ6NTPOxeTBu+ezHNo7HhSkaneNi5UO1Y3Tt4iHM7nZH+s9piY3RqRzYly4Uk4UoA5lRGkx16gMvc67xULXv/pzjpKV4ORJx031OlpyhnBT2j/Y8o2ihXMof0M6ruHROWJslP/5sJ2YyDFufWG8BY1pOD8BwnbzheddZdtgjRKYqitUs+kMuWGGvvq1pS4AqPuv+lQHNGh6+1TIHulK9zk32MeaLvDUjVrjv/OPL8A1zmAZ6qtPG47sEgs2YqWVOVx1Wx3Yvy9Qi0kKy9b6e9Ohc42f+pyX60f79b2K2CtUwyOqWxBMv7XPXZCCeqfbFoETMa7fBX7A8RsJzKXYMksbe36yl725WX42NCr5u0+JgQ6/gL/KdrHR86k2VfLwO2Nur3zeH5bDLzkW+TQRd0cinz3kSEIlfjKFW72miL5VWiDl+h7WWivSmvDSEQ5V6AixIrB7atG3MzL8dXcao6hW/HcuErBo8uvJjimdZtIxcefZTMNBRSGT4yr0tHjH7jS5tve8fkK7S9YsbenXWA7HZayxjgYpzhesretRxfgxBVel0ZHkYuwR4a6uDCBf/T5CFGSsUydeX4yLdJgykfmdelI0a/8a0jllcJnzpt911hor0prw1NYemUu03g/T5w/PjkvePH0/s6rK4CvZ6+HN9GVqUP7Sgqvoqw8WgrezBQP+t0gAMHqmWb6HHltewvjCity1aOj3w7nUnX4bHczwNqmet8oJXpKMJEk69CKsLUrkXs2jX5W8WXrf/5oqkXiG4cXLmi78dHjjTPby3opvTTvKa95q5bQ7QFizYFJzb5j2hqzd3n76HLHo7jyW5eXa3yb3Kpnq/xuvrXCOHVxYWKqm4Xl/Crq+7t5Ypyv3FZC/fh0WfNXdWuLm2hct/UpD8VF75Dy1bt6Zj6cdP86oBlXXMvblIXFbiPolHB1SVG+YVQdlujeynoNtdNm5PFF4buxeXLo+llVoYLXT7yVtXvq+hztyy2tk6SuGvQRTc+IfyarF9tRzHyek3GKK4KqZhOZ6lbrM93XNXJp3NJFAsuG/auaFLxL6Vyt80kQ6wPdCa2xRlM3ZmFiyPIOps+TW/u+Gw21ZV/XWVr+tcS8i8hFr+mvmJrT5tVUax+79IGdeqrM06atmxKEj2PvuOoaVqXUrnbZmKxrQ/K5dbdzdfR7WoFYrKOmIVZX0z5151d57yrZk/TOoRc1wxVx/NgkObVzTCbMs/zbQNbfXXGSZ08Pv9ETe1RNrW1zcibtsJaSuVu63R1Z7K2GaptRmWr11S2y7+CkIN/IfCdAdeRf4hy9Z0Zx75im6FqnBiOn8Xu93XbwFZfnXHim8fWN8vjwtQevv/Mm/4nvZTKvW0z93Je2wbuLA5WqNZ4Y8rf9K+kjoK0/dNR7dnUvZo4QGaa1Tc1Y4x9kGcaM3cX+Rbz6tLn/5Z8aJCZu6y5O9Ht87af1dq7Cw1APfnbZOpi8VKWRYi1iYN7E6d2j73u78JXXfhY38zLmrvLi784LlzKdx1fsuY+ZWuZGB3c11rGp971dXXH8Xnbz+LEpSsNxRmQL2wyVVka2WRhK1P3XGcyF2It46PEbbPlpqw0TPKYprWMax7fmbtL+T7jS6xlBGPEeNs3PWNYFBrmiQ4XqGjV2dfXnS0vG3zX3OuWOQvZi3JfQMR42zc5Y1gkGuaJDheoaI09W142+FjL1ClzVrI3KXdKn88W0cPsCQQCwRJg+cLsCQQCwZJDlLtAIBC0EKLcBQKBoIUQ5S4QCAQthCh3gUAgaCFEuQsEAkELIcpdIBAIWoi5sHMnoqcAnI9Q1G4AlyOUswhYJl4B4bftEH7rYcjMN6kezIVyjwUiOq0z6G8blolXQPhtO4Tf+JBlGYFAIGghRLkLBAJBC9E25X7PrAmYIpaJV0D4bTuE38ho1Zq7QCAQCFK0beYuEAgEAohyFwgEglaiFcqdiN5ORI8S0RkiunvW9MQAEX2aiC4R0cOFe7uI6AEieiz7vDG7T0T00Yz/h4jottlRXg9E9Goi+hIRPUJE3yWi92f3W8czEV1PRF8nom9nvP52dv81RPS1jNc/JqJedv+67PeZ7PnGLOmvCyLqEtE3iej+7Hdr+SWic0T0HSL6FhGdzu5NtS8vvHInoi6AjwN4B4A3ADhIRG+YLVVRcC+At5fu3Q3gJDPfAuBk9htIeb8lu44A+MSUaIyJawD+NTO/HsDtAH4za8c28vy3AH6ZmX8ewK0A3k5EtwP4MICPZLw+A+C9Wfr3AniGmX8GwEeydIuI9wN4pPC77fz+EjPfWrBnn25f1oVoWpQLwJsAfKHw+0MAPjRruiLxtgHg4cLvRwHsyb7vAfBo9v2TAA6q0i3qBeBzAH6l7TwD6AP4BoC/j/TE4kp2f9yvAXwBwJuy7ytZOpo17Z583oxUof0ygPsBUMv5PQdgd+neVPvyws/cAbwKwMXC78eze23ETzHzDwEg+3xldr9VMsj+hv89AF9DS3nOlii+BeASgAcA/ADAj5n5WpakyM+Y1+z5swAG06U4GL8H4IMAtrPfA7SbXwbwP4noQSI6kt2bal9eCS1gDkCKe8tm39kaGRDROoA/A/ABZv4JkYq1NKni3sLwzMxbAG4lohsA/AWA16uSZZ8LzSsR/RqAS8z8IBH9Yn5bkbQV/GZ4MzM/QUSvBPAAEX3fkLYRftswc38cwKsLv28G8MSMaGkaTxLRHgDIPi9l91shAyJaRarYN5n5z7PbreaZmX8M4MtI9xluIKJ8wlXkZ8xr9vwVAH40XUqD8GYA/5iIzgH4I6RLM7+H9vILZn4i+7yE9OX9C5hyX26Dcv8/AG7Jdt57AH4DwH0zpqkp3Afgzuz7nUjXpfP778l23W8H8Gz+929RQOkU/VMAHmHm/1h41DqeieimbMYOInoZgLch3Wj8EoB3ZcnKvOYyeBeAL3K2OLsIYOYPMfPNzLyBdHx+kZkPo6X8EtEaEb08/w7gVwE8jGn35VlvPETavDgA4P8iXbf8rVnTE4mnzwL4IYCrSN/s70W67ngSwGPZ564sLSG1GPoBgO8A2Ddr+mvw+xakf0UfAvCt7DrQRp4B/F0A38x4fRjAv83uvxbA1wGcAfAnAK7L7l+f/T6TPX/trHkI4P0XAdzfZn4zvr6dXd/NddK0+7K4HxAIBIIWog3LMgKBQCAoQZS7QCAQtBCi3AUCgaCFEOUuEAgELYQod4FAIGghRLkLBAJBCyHKXSAQCFqI/w8czmvK0R/yrgAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.scatter(test_X[['House']].values, test_Y_svc, color='red')\n", + "plt.scatter(test_X[['House']].values, test_Y, color='blue')" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.0" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model_svc.score(test_X, test_Y)" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/saber/opt/anaconda3/lib/python3.7/site-packages/sklearn/utils/validation.py:724: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", + " y = column_or_1d(y, warn=True)\n" + ] + }, + { + "data": { + "text/plain": [ + "SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0,\n", + " decision_function_shape='ovr', degree=3, gamma='scale', kernel='rbf',\n", + " max_iter=-1, probability=False, random_state=None, shrinking=True,\n", + " tol=0.001, verbose=False)" + ] + }, + "execution_count": 43, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model_svc_hdm = SVC(gamma='scale')\n", + "model_svc_hdm.fit(X_hdm, Y)" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": {}, + "outputs": [], + "source": [ + "# test_Y_svc_hdm = model_svc_hdm.predict(test_X_hdm)" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 45, + "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.scatter(test_X[['House']].values, test_Y_svc, color='yellow')\n", + "# plt.scatter(test_X[['House']].values, test_Y_svc_hdm, color='red')\n", + "# plt.scatter(test_X[['House']].values, test_Y, color='blue')" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.0" + ] + }, + "execution_count": 46, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# model_svc_hdm.score(test_X_hdm, test_Y)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "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.4" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/challenge1/analysis/shino/Challenge1.html b/challenge1/analysis/shino/Challenge1.html new file mode 100644 index 000000000..7c7bbb859 --- /dev/null +++ b/challenge1/analysis/shino/Challenge1.html @@ -0,0 +1,14920 @@ + + + + +Challenge1 + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
In [1]:
+
+
+
import numpy as np
+import pandas as pd
+import matplotlib.pyplot as plt
+import seaborn as sns
+
+ +
+
+
+ +
+
+
+
In [2]:
+
+
+
from sklearn.linear_model import LinearRegression
+from sklearn.linear_model import LogisticRegression
+from sklearn.ensemble import RandomForestClassifier
+
+ +
+
+
+ +
+
+
+
In [3]:
+
+
+
train_df = pd.read_csv('../../data/training_dataset_500.csv')
+test_df = pd.read_csv('../../data/test_dataset_500.csv')
+
+ +
+
+
+ +
+
+
+
In [4]:
+
+
+
train_df.head(12)
+
+ +
+
+
+ +
+
+ + +
+ +
Out[4]:
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDLabelHouseYearMonthTemperatureDaylightEnergyProduction
00012011726.2178.9740
11112011825.8169.7731
22212011922.8170.2694
333120111016.4169.1688
444120111111.4169.1650
55512011124.2199.5763
6661201211.8203.1765
7771201222.8178.2706
8881201236.7172.7788
99912012412.6182.2831
10101012012517.6214.2955
11111112012620.8143.0837
+
+
+ +
+ +
+
+ +
+
+
+
In [5]:
+
+
+
train_df.tail(12)
+
+ +
+
+
+ +
+
+ + +
+ +
Out[5]:
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDLabelHouseYearMonthTemperatureDaylightEnergyProduction
1148811987115002012621.8152.1645
1148911988125002012726.2169.8661
1149011989135002012827.8257.9822
1149111990145002012924.7183.2665
11492119911550020121017.4201.2655
1149311992165002012119.7203.5582
1149411993175002012123.8194.2534
114951199418500201312.0234.6640
114961199519500201324.2201.8638
1149711996205002013311.2234.0778
1149811997215002013413.6237.1758
1149911998225002013519.2258.4838
+
+
+ +
+ +
+
+ +
+
+
+
In [6]:
+
+
+
train_df.shape, test_df.shape
+
+ +
+
+
+ +
+
+ + +
+ +
Out[6]:
+ + + + +
+
((11500, 8), (500, 8))
+
+ +
+ +
+
+ +
+
+
+
In [7]:
+
+
+
train_df_hde = train_df.drop(['Label','Year','Month','Temperature'], axis=1)
+
+ +
+
+
+ +
+
+
+
In [8]:
+
+
+
train_df_hde.tail()
+
+ +
+
+
+ +
+
+ + +
+ +
Out[8]:
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDHouseDaylightEnergyProduction
1149511994500234.6640
1149611995500201.8638
1149711996500234.0778
1149811997500237.1758
1149911998500258.4838
+
+
+ +
+ +
+
+ +
+
+
+
In [9]:
+
+
+
train_df_hde[['House','Daylight','EnergyProduction']].corr()
+
+ +
+
+
+ +
+
+ + +
+ +
Out[9]:
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
HouseDaylightEnergyProduction
House1.0000000.001583-0.008303
Daylight0.0015831.0000000.531577
EnergyProduction-0.0083030.5315771.000000
+
+
+ +
+ +
+
+ +
+
+
+
In [10]:
+
+
+
lr = LinearRegression()
+X = train_df_hde[['Daylight']].values
+Y = train_df_hde[['EnergyProduction']].values
+lr.fit(X,Y)
+
+ +
+
+
+ +
+
+ + +
+ +
Out[10]:
+ + + + +
+
LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None, normalize=False)
+
+ +
+ +
+
+ +
+
+
+
In [11]:
+
+
+
print('coefficient = ', lr.coef_[0]) # 説明変数の係数を出力
+print('intercept = ', lr.intercept_) # 切片を出力
+
+ +
+
+
+ +
+
+ + +
+ +
+ + +
+
coefficient =  [2.56478737]
+intercept =  [127.69148663]
+
+
+
+ +
+
+ +
+
+
+
In [12]:
+
+
+
plt.scatter(X, Y, color = 'blue')         # 説明変数と目的変数のデータ点の散布図をプロット
+plt.plot(X, lr.predict(X), color = 'red') # 回帰直線をプロット
+
+plt.title('Regression Line')            # 図のタイトル
+plt.xlabel('Daylight')                     # x軸のラベル
+plt.ylabel('EnergyProduction')    # y軸のラベル
+plt.grid()                                 # グリッド線を表示
+
+plt.show()                                 # 図の表示
+
+ +
+
+
+ +
+
+ + +
+ +
+ + + + +
+ +
+ +
+ +
+
+ +
+
+
+
In [13]:
+
+
+
# DaylightとEnergyProductionに相関はあるが、ばらつきが大きい。
+# Houseごとに、発電能力に差があるためでは?
+MeanEnergy = np.mean(train_df_hde['EnergyProduction'])
+
+ +
+
+
+ +
+
+
+
In [14]:
+
+
+
print(MeanEnergy)
+
+ +
+
+
+ +
+
+ + +
+ +
+ + +
+
612.7488695652174
+
+
+
+ +
+
+ +
+
+
+
In [15]:
+
+
+
pivot_House = pd.pivot_table(train_df_hde, index='House')
+# 各Houseごとの発電量の平均を求める
+
+ +
+
+
+ +
+
+
+
In [16]:
+
+
+
cases_House = train_df.shape[0]/pivot_House.shape[0]
+print(cases_House)
+
+ +
+
+
+ +
+
+ + +
+ +
+ + +
+
23.0
+
+
+
+ +
+
+ +
+
+
+
In [17]:
+
+
+
eachHouse_perMeanEnergy = pivot_House/MeanEnergy
+# 各Houseごとの平均を、全体の平均から求める係数を算出する
+
+ +
+
+
+ +
+
+
+
In [18]:
+
+
+
k_Energy_House_Mean = eachHouse_perMeanEnergy[['EnergyProduction']]
+
+ +
+
+
+ +
+
+
+
In [19]:
+
+
+
k_Energy_House_Mean_array = k_Energy_House_Mean.values
+
+ +
+
+
+ +
+
+
+
In [20]:
+
+
+
k_Energy_House_Mean_array.shape
+
+ +
+
+
+ +
+
+ + +
+ +
Out[20]:
+ + + + +
+
(500, 1)
+
+ +
+ +
+
+ +
+
+
+
In [21]:
+
+
+
test_X = test_df[['Daylight']].values
+test_Y = test_df[['EnergyProduction']].values
+
+ +
+
+
+ +
+
+
+
In [22]:
+
+
+
plt.scatter(test_X, test_Y, color='blue')
+plt.scatter(test_X, lr.predict(test_X), color='black')
+
+ +
+
+
+ +
+
+ + +
+ +
Out[22]:
+ + + + +
+
<matplotlib.collections.PathCollection at 0x7fa7cbd2c750>
+
+ +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+
+ +
+
+
+
In [23]:
+
+
+
 sim_Y = k_Energy_House_Mean_array * lr.predict(test_X)
+
+ +
+
+
+ +
+
+
+
In [24]:
+
+
+
plt.scatter(test_X, lr.predict(test_X), color = 'black') 
+plt.scatter(test_X, sim_Y, color = 'red') 
+plt.scatter(test_X, test_Y, color='blue')
+# ばらつき具合は、Houseごとの係数を考慮することで表現できている。
+# 全体的に、発電量が小さい。北半球6月なら、太陽の角度が大きいことを考慮できていないため?
+
+ +
+
+
+ +
+
+ + +
+ +
Out[24]:
+ + + + +
+
<matplotlib.collections.PathCollection at 0x7fa7cbfc9a50>
+
+ +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+
+ +
+
+
+
In [25]:
+
+
+
test_df.tail()
+
+ +
+
+
+ +
+
+ + +
+ +
Out[25]:
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDLabelHouseYearMonthTemperatureDaylightEnergyProduction
49511903234962013619.3125.9483
49611927234972013621.9122.4628
49711951234982013622.8127.2673
49811975234992013621.9126.8735
49911999235002013622.7122.9586
+
+
+ +
+ +
+
+ +
+
+
+
In [26]:
+
+
+
# RandomForestを使い、Month, Daylight, House, TemperatureからEnergyProductionを推測してみる。
+
+ +
+
+
+ +
+
+
+
In [27]:
+
+
+
from sklearn.ensemble import RandomForestClassifier
+model = RandomForestClassifier(max_depth=1000)
+
+ +
+
+
+ +
+
+
+
In [28]:
+
+
+
X = train_df.drop(['ID', 'Label', 'Year'], axis=1)
+test_X = test_df.drop(['ID', 'Label', 'Year'], axis=1)
+
+ +
+
+
+ +
+
+
+
In [29]:
+
+
+
model.fit(X,Y)
+predicted = model.predict(test_X)
+model.score(test_X, test_Y)
+
+ +
+
+
+ +
+
+ + +
+ +
+ + +
+
/Users/saber/opt/anaconda3/lib/python3.7/site-packages/sklearn/ensemble/forest.py:245: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.
+  "10 in version 0.20 to 100 in 0.22.", FutureWarning)
+/Users/saber/opt/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:1: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().
+  """Entry point for launching an IPython kernel.
+
+
+
+ +
+ +
Out[29]:
+ + + + +
+
0.08
+
+ +
+ +
+
+ +
+
+
+
In [47]:
+
+
+
model.score(test_X, predicted)
+
+ +
+
+
+ +
+
+ + +
+ +
Out[47]:
+ + + + +
+
1.0
+
+ +
+ +
+
+ +
+
+
+
In [30]:
+
+
+
plt.scatter(test_X[['House']].values, predicted, color='red')
+plt.scatter(test_X[['House']].values, test_Y, color='blue')
+
+ +
+
+
+ +
+
+ + +
+ +
Out[30]:
+ + + + +
+
<matplotlib.collections.PathCollection at 0x7fa7c7b66150>
+
+ +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+
+ +
+
+
+
In [31]:
+
+
+
plt.scatter(test_X[['Daylight']].values, predicted, color='red')
+plt.scatter(test_X[['Daylight']].values, test_Y, color='blue')
+
+ +
+
+
+ +
+
+ + +
+ +
Out[31]:
+ + + + +
+
<matplotlib.collections.PathCollection at 0x7fa7cbce7750>
+
+ +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+
+ +
+
+
+
In [32]:
+
+
+
# RandomForestを使い、Month, Daylight, HouseからEnergyProductionを推測してみる。(Temperatureを除いた場合)
+X_hdm = train_df.drop(['ID', 'Label', 'Year', 'Temperature'], axis=1)
+test_X_hdm = test_df.drop(['ID', 'Label', 'Year', 'Temperature'], axis=1)
+
+ +
+
+
+ +
+
+
+
In [33]:
+
+
+
model_hdm = RandomForestClassifier(max_depth=1000)
+model_hdm.fit(X_hdm,Y)
+predicted_hdm = model_hdm.predict(test_X_hdm)
+
+ +
+
+
+ +
+
+ + +
+ +
+ + +
+
/Users/saber/opt/anaconda3/lib/python3.7/site-packages/sklearn/ensemble/forest.py:245: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.
+  "10 in version 0.20 to 100 in 0.22.", FutureWarning)
+/Users/saber/opt/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:2: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().
+  
+
+
+
+ +
+
+ +
+
+
+
In [34]:
+
+
+
plt.scatter(test_X_hdm[['House']].values, predicted, color='red')
+plt.scatter(test_X_hdm[['House']].values, test_Y, color='blue')
+
+ +
+
+
+ +
+
+ + +
+ +
Out[34]:
+ + + + +
+
<matplotlib.collections.PathCollection at 0x7fa7cc179450>
+
+ +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+
+ +
+
+
+
In [35]:
+
+
+
plt.scatter(test_X_hdm[['Daylight']].values, predicted, color='red')
+plt.scatter(test_X_hdm[['Daylight']].values, test_Y, color='blue')
+
+ +
+
+
+ +
+
+ + +
+ +
Out[35]:
+ + + + +
+
<matplotlib.collections.PathCollection at 0x7fa7b5172450>
+
+ +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+
+ +
+
+
+
In [36]:
+
+
+
# Temperatureの影響があるかは、はっきりしない。
+model_hdm.score(test_X_hdm, test_Y)
+
+ +
+
+
+ +
+
+ + +
+ +
Out[36]:
+ + + + +
+
0.146
+
+ +
+ +
+
+ +
+
+
+
In [39]:
+
+
+
# SVCも試してみる。
+from sklearn.svm import SVC
+model_svc = SVC(gamma='scale')
+model_svc.fit(X, Y)
+
+ +
+
+
+ +
+
+ + +
+ +
+ + +
+
/Users/saber/opt/anaconda3/lib/python3.7/site-packages/sklearn/utils/validation.py:724: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
+  y = column_or_1d(y, warn=True)
+
+
+
+ +
+ +
Out[39]:
+ + + + +
+
SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0,
+    decision_function_shape='ovr', degree=3, gamma='scale', kernel='rbf',
+    max_iter=-1, probability=False, random_state=None, shrinking=True,
+    tol=0.001, verbose=False)
+
+ +
+ +
+
+ +
+
+
+
In [40]:
+
+
+
test_Y_svc = model_svc.predict(test_X)
+
+ +
+
+
+ +
+
+
+
In [41]:
+
+
+
plt.scatter(test_X[['House']].values, test_Y_svc, color='red')
+plt.scatter(test_X[['House']].values, test_Y, color='blue')
+
+ +
+
+
+ +
+
+ + +
+ +
Out[41]:
+ + + + +
+
<matplotlib.collections.PathCollection at 0x7fa7b53d8d90>
+
+ +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+
+ +
+
+
+
In [42]:
+
+
+
model_svc.score(test_X, test_Y)
+
+ +
+
+
+ +
+
+ + +
+ +
Out[42]:
+ + + + +
+
0.0
+
+ +
+ +
+
+ +
+
+
+
In [43]:
+
+
+
model_svc_hdm = SVC(gamma='scale')
+model_svc_hdm.fit(X_hdm, Y)
+
+ +
+
+
+ +
+
+ + +
+ +
+ + +
+
/Users/saber/opt/anaconda3/lib/python3.7/site-packages/sklearn/utils/validation.py:724: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().
+  y = column_or_1d(y, warn=True)
+
+
+
+ +
+ +
Out[43]:
+ + + + +
+
SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0,
+    decision_function_shape='ovr', degree=3, gamma='scale', kernel='rbf',
+    max_iter=-1, probability=False, random_state=None, shrinking=True,
+    tol=0.001, verbose=False)
+
+ +
+ +
+
+ +
+
+
+
In [48]:
+
+
+
# RandomForestを使い、Month, Daylight, HouseからEnergyProductionを推測したものが、この中では一番よかった。
+plt.scatter(test_X[['House']].values, predicted, color='red')
+plt.scatter(test_X[['House']].values, test_Y, color='blue')
+
+ +
+
+
+ +
+
+ + +
+ +
Out[48]:
+ + + + +
+
<matplotlib.collections.PathCollection at 0x7fa7cbfc9610>
+
+ +
+ +
+ +
+ + + + +
+ +
+ +
+ +
+
+ +
+
+
+
In [ ]:
+
+
+
 
+
+ +
+
+
+ +
+
+
+ + + + + + diff --git a/challenge1/analysis/shino/Challenge1.ipynb b/challenge1/analysis/shino/Challenge1.ipynb new file mode 100644 index 000000000..0dc9011f6 --- /dev/null +++ b/challenge1/analysis/shino/Challenge1.ipynb @@ -0,0 +1,1473 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.linear_model import LinearRegression\n", + "from sklearn.linear_model import LogisticRegression\n", + "from sklearn.ensemble import RandomForestClassifier" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "train_df = pd.read_csv('../../data/training_dataset_500.csv')\n", + "test_df = pd.read_csv('../../data/test_dataset_500.csv')" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
IDLabelHouseYearMonthTemperatureDaylightEnergyProduction
00012011726.2178.9740
11112011825.8169.7731
22212011922.8170.2694
333120111016.4169.1688
444120111111.4169.1650
55512011124.2199.5763
6661201211.8203.1765
7771201222.8178.2706
8881201236.7172.7788
99912012412.6182.2831
10101012012517.6214.2955
11111112012620.8143.0837
\n", + "
" + ], + "text/plain": [ + " ID Label House Year Month Temperature Daylight EnergyProduction\n", + "0 0 0 1 2011 7 26.2 178.9 740\n", + "1 1 1 1 2011 8 25.8 169.7 731\n", + "2 2 2 1 2011 9 22.8 170.2 694\n", + "3 3 3 1 2011 10 16.4 169.1 688\n", + "4 4 4 1 2011 11 11.4 169.1 650\n", + "5 5 5 1 2011 12 4.2 199.5 763\n", + "6 6 6 1 2012 1 1.8 203.1 765\n", + "7 7 7 1 2012 2 2.8 178.2 706\n", + "8 8 8 1 2012 3 6.7 172.7 788\n", + "9 9 9 1 2012 4 12.6 182.2 831\n", + "10 10 10 1 2012 5 17.6 214.2 955\n", + "11 11 11 1 2012 6 20.8 143.0 837" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train_df.head(12)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
IDLabelHouseYearMonthTemperatureDaylightEnergyProduction
1148811987115002012621.8152.1645
1148911988125002012726.2169.8661
1149011989135002012827.8257.9822
1149111990145002012924.7183.2665
11492119911550020121017.4201.2655
1149311992165002012119.7203.5582
1149411993175002012123.8194.2534
114951199418500201312.0234.6640
114961199519500201324.2201.8638
1149711996205002013311.2234.0778
1149811997215002013413.6237.1758
1149911998225002013519.2258.4838
\n", + "
" + ], + "text/plain": [ + " ID Label House Year Month Temperature Daylight \\\n", + "11488 11987 11 500 2012 6 21.8 152.1 \n", + "11489 11988 12 500 2012 7 26.2 169.8 \n", + "11490 11989 13 500 2012 8 27.8 257.9 \n", + "11491 11990 14 500 2012 9 24.7 183.2 \n", + "11492 11991 15 500 2012 10 17.4 201.2 \n", + "11493 11992 16 500 2012 11 9.7 203.5 \n", + "11494 11993 17 500 2012 12 3.8 194.2 \n", + "11495 11994 18 500 2013 1 2.0 234.6 \n", + "11496 11995 19 500 2013 2 4.2 201.8 \n", + "11497 11996 20 500 2013 3 11.2 234.0 \n", + "11498 11997 21 500 2013 4 13.6 237.1 \n", + "11499 11998 22 500 2013 5 19.2 258.4 \n", + "\n", + " EnergyProduction \n", + "11488 645 \n", + "11489 661 \n", + "11490 822 \n", + "11491 665 \n", + "11492 655 \n", + "11493 582 \n", + "11494 534 \n", + "11495 640 \n", + "11496 638 \n", + "11497 778 \n", + "11498 758 \n", + "11499 838 " + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train_df.tail(12)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "((11500, 8), (500, 8))" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train_df.shape, test_df.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "train_df_hde = train_df.drop(['Label','Year','Month','Temperature'], axis=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
IDHouseDaylightEnergyProduction
1149511994500234.6640
1149611995500201.8638
1149711996500234.0778
1149811997500237.1758
1149911998500258.4838
\n", + "
" + ], + "text/plain": [ + " ID House Daylight EnergyProduction\n", + "11495 11994 500 234.6 640\n", + "11496 11995 500 201.8 638\n", + "11497 11996 500 234.0 778\n", + "11498 11997 500 237.1 758\n", + "11499 11998 500 258.4 838" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train_df_hde.tail()" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
HouseDaylightEnergyProduction
House1.0000000.001583-0.008303
Daylight0.0015831.0000000.531577
EnergyProduction-0.0083030.5315771.000000
\n", + "
" + ], + "text/plain": [ + " House Daylight EnergyProduction\n", + "House 1.000000 0.001583 -0.008303\n", + "Daylight 0.001583 1.000000 0.531577\n", + "EnergyProduction -0.008303 0.531577 1.000000" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "train_df_hde[['House','Daylight','EnergyProduction']].corr()" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None, normalize=False)" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "lr = LinearRegression()\n", + "X = train_df_hde[['Daylight']].values\n", + "Y = train_df_hde[['EnergyProduction']].values\n", + "lr.fit(X,Y)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "coefficient = [2.56478737]\n", + "intercept = [127.69148663]\n" + ] + } + ], + "source": [ + "print('coefficient = ', lr.coef_[0]) # 説明変数の係数を出力\n", + "print('intercept = ', lr.intercept_) # 切片を出力" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.scatter(X, Y, color = 'blue') # 説明変数と目的変数のデータ点の散布図をプロット\n", + "plt.plot(X, lr.predict(X), color = 'red') # 回帰直線をプロット\n", + "\n", + "plt.title('Regression Line') # 図のタイトル\n", + "plt.xlabel('Daylight') # x軸のラベル\n", + "plt.ylabel('EnergyProduction') # y軸のラベル\n", + "plt.grid() # グリッド線を表示\n", + "\n", + "plt.show() # 図の表示" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "# DaylightとEnergyProductionに相関はあるが、ばらつきが大きい。\n", + "# Houseごとに、発電能力に差があるためでは?\n", + "MeanEnergy = np.mean(train_df_hde['EnergyProduction'])" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "612.7488695652174\n" + ] + } + ], + "source": [ + "print(MeanEnergy)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "pivot_House = pd.pivot_table(train_df_hde, index='House')\n", + "# 各Houseごとの発電量の平均を求める" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "23.0\n" + ] + } + ], + "source": [ + "cases_House = train_df.shape[0]/pivot_House.shape[0]\n", + "print(cases_House)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "eachHouse_perMeanEnergy = pivot_House/MeanEnergy\n", + "# 各Houseごとの平均を、全体の平均から求める係数を算出する" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "k_Energy_House_Mean = eachHouse_perMeanEnergy[['EnergyProduction']]" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "k_Energy_House_Mean_array = k_Energy_House_Mean.values" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(500, 1)" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "k_Energy_House_Mean_array.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [], + "source": [ + "test_X = test_df[['Daylight']].values\n", + "test_Y = test_df[['EnergyProduction']].values" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 22, + "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.scatter(test_X, test_Y, color='blue')\n", + "plt.scatter(test_X, lr.predict(test_X), color='black')" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [], + "source": [ + " sim_Y = k_Energy_House_Mean_array * lr.predict(test_X)" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 24, + "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.scatter(test_X, lr.predict(test_X), color = 'black') \n", + "plt.scatter(test_X, sim_Y, color = 'red') \n", + "plt.scatter(test_X, test_Y, color='blue')\n", + "# ばらつき具合は、Houseごとの係数を考慮することで表現できている。\n", + "# 全体的に、発電量が小さい。北半球6月なら、太陽の角度が大きいことを考慮できていないため?" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
IDLabelHouseYearMonthTemperatureDaylightEnergyProduction
49511903234962013619.3125.9483
49611927234972013621.9122.4628
49711951234982013622.8127.2673
49811975234992013621.9126.8735
49911999235002013622.7122.9586
\n", + "
" + ], + "text/plain": [ + " ID Label House Year Month Temperature Daylight EnergyProduction\n", + "495 11903 23 496 2013 6 19.3 125.9 483\n", + "496 11927 23 497 2013 6 21.9 122.4 628\n", + "497 11951 23 498 2013 6 22.8 127.2 673\n", + "498 11975 23 499 2013 6 21.9 126.8 735\n", + "499 11999 23 500 2013 6 22.7 122.9 586" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "test_df.tail()" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [], + "source": [ + "# RandomForestを使い、Month, Daylight, House, TemperatureからEnergyProductionを推測してみる。" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.ensemble import RandomForestClassifier\n", + "model = RandomForestClassifier(max_depth=1000)" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [], + "source": [ + "X = train_df.drop(['ID', 'Label', 'Year'], axis=1)\n", + "test_X = test_df.drop(['ID', 'Label', 'Year'], axis=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/saber/opt/anaconda3/lib/python3.7/site-packages/sklearn/ensemble/forest.py:245: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n", + " \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n", + "/Users/saber/opt/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:1: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + " \"\"\"Entry point for launching an IPython kernel.\n" + ] + }, + { + "data": { + "text/plain": [ + "0.08" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model.fit(X,Y)\n", + "predicted = model.predict(test_X)\n", + "model.score(test_X, test_Y)" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1.0" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model.score(test_X, predicted)" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 30, + "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.scatter(test_X[['House']].values, predicted, color='red')\n", + "plt.scatter(test_X[['House']].values, test_Y, color='blue')" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAD4CAYAAAAXUaZHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAATeUlEQVR4nO3df6xkZX3H8fd3d6sI/bH82CUI6GK6tVYriLdIf0isW0mhtotVUrUtG0q6bULaqrGVpv2j/ifWxJQ0odkUyZJYWsRS+AOpsG20qYX0Lr8RDStVWJeyV1CMblV299s/5rnu7J25987cO3Pm3Gfer+Rkzjxz5s73zp353Gee88w5kZlIkuqybtIFSJJGz3CXpAoZ7pJUIcNdkipkuEtShTZMugCA0047Lbds2TLpMiRpTdm7d+83MnNTv9taEe5btmxhdnZ20mVI0poSEV9b7DaHZSSpQgOFe0T8SUQ8GhGPRcT7StspEXF3RDxRLk8u7RER10XEvoh4OCLOH+cvIEnqtWy4R8TrgN8HLgDOBd4eEVuBa4A9mbkV2FOuA1wCbC3LTuD6MdQtSVrCID331wD3ZuahzDwMfA54B7Ad2F222Q1cVta3Azdlx73Axog4Y8R1S5KWMEi4PwpcFBGnRsSJwKXA2cDpmfkMQLncXLY/E3i66/77S9txImJnRMxGxOzc3NxqfgdJ0gLLhntmPg5cC9wN3AU8BBxe4i7R78f0+bm7MnMmM2c2beo7k0eStEID7VDNzBsy8/zMvAh4HngCeHZ+uKVcHiyb76fTs593FnBgdCVLkpYz6GyZzeXyFcBvAjcDdwA7yiY7gNvL+h3AFWXWzIXAC/PDN5I0zdavh4hjy/r143usQb/E9OmIOBV4Ebg6M78ZER8BbomIq4CngMvLtnfSGZffBxwCrhxxzZK05qxfD0ePHt929Gin/ciR0T/eQOGemW/u0/YcsK1PewJXr740SarHwmBfrn21/IaqJFXIcJekChnuktSAdYuk7WLtq3688fxYSVK3I0d6g3zduvHsTIWWHPJXkqbBuIK8H3vuklQhw12SKmS4S1KFDHdJqpDhLkkVMtwlqUKGuyRVyHCXpAoZ7pJUIcNdkipkuEtShQx3SaqQ4S5JFTLcJalChrskVchwl6QKGe6SVCHDXZIqZLhLUoUMd0mqkOEuSRUy3CWpQoa7JFXIcJekChnuklQhw12SKmS4S1KFDHdJqpDhLkkVMtwlqUKGuyRVaKBwj4j3R8RjEfFoRNwcESdExDkRcV9EPBER/xQRLynbvrRc31du3zLOX0CS1GvZcI+IM4E/BmYy83XAeuDdwLXAxzNzK/BN4Kpyl6uAb2bmTwIfL9tJkho06LDMBuBlEbEBOBF4BngrcGu5fTdwWVnfXq5Tbt8WETGacqUJiOhdpJZbNtwz8+vAx4Cn6IT6C8Be4FuZebhsth84s6yfCTxd7nu4bH/qwp8bETsjYjYiZufm5lb7e0jjsViQG/BquUGGZU6m0xs/B3g5cBJwSZ9Nc/4uS9x2rCFzV2bOZObMpk2bBq9YkrSsQYZlfgX4n8ycy8wXgX8GfgHYWIZpAM4CDpT1/cDZAOX2nwCeH2nVkqQlDRLuTwEXRsSJZex8G/BF4N+Bd5VtdgC3l/U7ynXK7f+WmT09d0nS+Awy5n4fnR2j9wOPlPvsAj4EfCAi9tEZU7+h3OUG4NTS/gHgmjHULUlaQrShUz0zM5Ozs7OTLkPqr9/O0xa8b6SI2JuZM/1u29CvUdIx0TsfoE+L1C4efkBagjMhtVYZ7pJUIcNdkipkuEtShQx3SaqQ4S4tYbEZj86EVNs5FVJahkGutcieuyRVyHCXpAoZ7pJUIcNdkipkuEtShQx3SaqQ4S5JFTLcJalChrskVchwl6QKGe6SVCGPLSM1zFOyqgmGu9SgpU7b12TA+w+mfg7LSFPG88JOB8NdkipkuEtShQx3SaqQ4S41yNP2qSnOlpEaNukgz3S2zDQw3KUpZJDXz2EZSaqQPfdB+TlWo9KG11IbaphG69fD0aPHrq9bB0eOjOWh7LkPwm99aFTa8FpqQw3TaGGwQ+f6+vVjeTjDXZKasDDYl2tfJcNdkipkuEtShQx3SWrCukXidrH21T7cchtExKsj4sGu5dsR8b6IOCUi7o6IJ8rlyWX7iIjrImJfRDwcEeePpfIm+bVCjUobXkttqGEaHTnSG+STnC2TmV/OzPMy8zzgjcAh4DbgGmBPZm4F9pTrAJcAW8uyE7h+HIU3LrN3kVaiDa+lNtQwjY4cOf45H1Oww/DDMtuAr2Tm14DtwO7Svhu4rKxvB27KjnuBjRFxxkiqlSQNZNhwfzdwc1k/PTOfASiXm0v7mcDTXffZX9qOExE7I2I2Imbn5uaGLEOStJSBwz0iXgL8BvCp5Tbt09bzmS8zd2XmTGbObNq0adAyJEkDGKbnfglwf2Y+W64/Oz/cUi4Plvb9wNld9zsLOLDaQpcU0btIag/fo40bJtzfw7EhGYA7gB1lfQdwe1f7FWXWzIXAC/PDN2PhV6mldvM9OhEDHTgsIk4E3gb8QVfzR4BbIuIq4Cng8tJ+J3ApsI/OzJorR1atpDUpOMLxI7ZJMp5jqqhjoHDPzEPAqQvanqMze2bhtglcPZLqJK15x4I9etqdgDk+HvJX0pj1Bnv/eRcaJQ8/IEkVWvvh7leppZZbrJdu732c6hiWMcilRnkip/arItx9oUnNWWpmY7/3Xabv0UlY8+E+7AtNUvNG8V70H8Rw1v6Yu6Tq+T2o4RnuklQhw12SKmS4SxqKs4/XhjW/Q9U98VLzfH+135oPd/CFJtXOTtzwqgh3SfUzyIfjmLskVchwl6QKGe6SVCHH3CUNbxJ7N92jOhR77pKGM4ljAXj8gaEZ7pJUIcNdkipkuEtShQx3SaqQ4S5pOJM4cphHKxuaUyEH5CwsqcskXvy+4YZiuA9gEqfyizjK8WeHTzL9oCVpMKZFCx0L9uOXTrskLc+eeyvNB/rCNkkajD13SaqQ4S5JFTLcB9D8LKwsy3JtktSfY+4DanIWVua6PjtPnS0jaXCGe0v1Brk7VCUNzq6gJFXInvukLPeVV78SK2kV7LlPwnInHvDEBJJWaaBwj4iNEXFrRHwpIh6PiJ+PiFMi4u6IeKJcnly2jYi4LiL2RcTDEXH+eH8FSdJCg/bc/wa4KzN/GjgXeBy4BtiTmVuBPeU6wCXA1rLsBK4facWSpGUtG+4R8ePARcANAJn5g8z8FrAd2F022w1cVta3Azdlx73Axog4Y+SVS5IWNUjP/VXAHHBjRDwQEX8fEScBp2fmMwDlcnPZ/kzg6a777y9tkqSGDBLuG4Dzgesz8w3Adzk2BNNPv71+PdM8ImJnRMxGxOzc3NxAxVZjua+8NvWV2IjeZdwm8ZjSFBok3PcD+zPzvnL9Vjph/+z8cEu5PNi1/dld9z8LOLDwh2bmrsycycyZTZs2rbT+tSuzdxnm9tWaxIwcZwFJjVk23DPzf4GnI+LVpWkb8EXgDmBHadsB3F7W7wCuKLNmLgRemB++kSQ1Y9AvMf0R8MmIeAnwJHAlnX8Mt0TEVcBTwOVl2zuBS4F9wKGyrRZow3eUgiP0nO2J9c0WIWksBgr3zHwQmOlz07Y+2yZw9SrrqtokTtvX81g/DPboaR9nCcFhjv/AeJT0i9LSyPmumlrNn+3pWLB3P846gsMezFgaMcN9ai0W5OMM+H5DPrFIu6TVMNy1qDbsF5C0Mh44TH05a1Fa2wz3CWj+tH3trEHS+DgsMyFtCNGma8h0qEdqiuGuRhnkUjMM94p1TrK94EtKQ51kO3vu77lcpbXBMfdKHQv245dO+/KSoBPmxy9puEtrgj33aq3+S0qrPRTB6j85SFop32kai9V+cpC0OvbcNSbNH95A0jH23Ks1P06+XJukGhnuleqMbffZITromLffcpLWNIdlKtYb5EMOi6wqyOfvu3AqZUIsqKvJfxh+i0pTwp67xiK3XUz/qZR9ZuA0dcAaD5ijKWLPXeOxZ49ndZImyJ67JFXIcJekChnuGo9tPafXldQgw13jcc89vQG/WOA3NVvF6Z2aIu5Q1fjcc09PU9+ZiA2U8sPH7/NoRrtqZM9djZn0TMRJP77UJMNdkipkuEtShQx3SaqQO1S1YpM4GYeHhpEGY89dK7KSk3GsdiZiJ9h7D2M86A7Rkc2EjOhdpJax564VWtnJOFbXy+53gu5YpH0cjw9EEByh5xNLhB8h1CqGuzSEY8EePe1Gu9rEcJeG4ukDtTY45q4V8jR+UpsZ7lqRVZ/GT9JYOSyjFVv1afyG1m/n6eA7U+upQVqe3SytGZ3JKL3j3U1OUmlDDdIg7LlrTWlDiLahBmk5A/XcI+KrEfFIRDwYEbOl7ZSIuDsiniiXJ5f2iIjrImJfRDwcEeeP8xeQJPUaZljmlzPzvMycKdevAfZk5lZgT7kOcAmwtSw7getHVawkaTCrGXPfDuwu67uBy7rab8qOe4GNEXHGKh5HkjSkQcM9gc9GxN6I2FnaTs/MZwDK5ebSfibwdNd995e240TEzoiYjYjZubm5lVUvSepr0B2qv5iZByJiM3B3RHxpiW37zQnr2QWVmbuAXQAzMzPuopKkERqo556ZB8rlQeA24ALg2fnhlnJ5sGy+Hzi76+5nAQdGVbAkaXnLhntEnBQRPza/DlwMPArcAewom+0Abi/rdwBXlFkzFwIvzA/fSFNptYcI9hDDWoFBhmVOB26LzgtqA/APmXlXRPw3cEtEXAU8BVxetr8TuBTYBxwCrhx51dJasdpDBC91Vm8n3GsJy4Z7Zj4JnNun/TlgW5/2BK4eSXXSGuchgjUpfkNVGisPEazJMNylYXkiV60BHjhMGsZSY+BSixju0ljNHyK42xCHCB7ZWb01bRyWkYbUd/YL6/tumwnR06sf8hDBBrlWwHCXhrCS2S9msybBcNd0WfXO0BHMfhmyhpHsv3Un8NRxzF3TYyQ7QxfbdsCfMWQNoynZncDTyHCXpAo5LKOpMszOUGkts+euqXH8ztBjS6d9MM5M1Fphz11TZDSHAlhtkPvpQU2w564pssqdoSOpYP4LTAs/PfT/jzGSTwp+3JhK9tylxg336WEUGdzvn4fRXjd77lLlnAk5nQx3TQ1HJzRNHJbRVDHINS3suUsN8tODmmLPXWqYQa4m2HOXKuenhelkz12aAgb59LHnLkkVMtwlqUKGuyRVyHCXpAoZ7pJUIcNdkipkuEtShSJbMAE2IuaArzXwUKcB32jgcVbDGkfDGkfDGkdjXDW+MjM39buhFeHelIiYzcyZSdexFGscDWscDWscjUnU6LCMJFXIcJekCk1buO+adAEDsMbRsMbRsMbRaLzGqRpzl6RpMW09d0maCoa7JFWoqnCPiE9ExMGIeLSr7a8j4ksR8XBE3BYRG0v72yJib0Q8Ui7f2sIaL4iIB8vyUES8o201dt3+ioj4TkR8sG01RsSWiPi/rufy79pWY7nt9RHxXxHxWHldntCW+iLit7uevwcj4mhEnDfO+lZQ449ExO7y3D0eEX8+7vpWUONLIuLGUuNDEfGWsRWWmdUswEXA+cCjXW0XAxvK+rXAtWX9DcDLy/rrgK+3sMYTu9rPAA7OX29LjV23fxr4FPDBFj6PW7q3a+nrcQPwMHBuuX4qsL4t9S24388CT7bwOXwv8I9l/UTgq8CWltV4NXBjWd8M7AXWjaOuqnrumfl54PkFbZ/NzMPl6r3AWaX9gcw8UNofA06IiJe2rMZDXe0nAI3s/R6mRoCIuAx4ks7z2Ihha5yEIWu8GHg4Mx8q2z2XmUdaVF+39wA3j7O2rnqGqTGBkyJiA/Ay4AfAt1tW488Ae8o2B4FvAWP5clNV4T6A3wM+06f9ncADmfn9huvp57gaI+JNEfEY8Ajwh10vmEn6YY0RcRLwIeDDE62o18K/9TkR8UBEfC4i3jypohborvGngIyIf42I+yPizyZY17zF3i+/RUPhPoDuGm8Fvgs8AzwFfCwzn1/sjg3qrvEhYHtEbIiIc4A3AmeP40Gn5hyqEfEXwGHgkwvaX0vnY9PFk6hrQS09NWbmfcBrI+I1wO6I+Exmfq9FNX4Y+HhmficiJlXWcfrU+Azwisx8LiLeCPxLRLw2M8feqxuixg3ALwE/BxwC9kTE3szc05L65tvfBBzKzEf73rFBfWq8ADgCvBw4GfiPiLgnM5+cUIn9avwE8Bpgls7xtL5Qbh+5qQj3iNgBvB3YlmWwq7SfBdwGXJGZX5lUfaWWvjXOy8zHI+K7dPYPzDZdHyxa45uAd0XER4GNwNGI+F5m/m1baiyfyL5f1vdGxFfo9JTb9DzuBz6Xmd8o29xJZxy38XBf5rX4blrQa1+kxvcCd2Xmi8DBiPhPOkMeEwn3RV6Lh4H3d23zBeCJsRQw7p0NTS8s2HkG/CrwRWDTgu020vmI9M4W13gOx3bKvBI4AJzWphoX3OevaGiH6pDP4ybKzkngVcDXgVNaVuPJwP2UnejAPcCvtaW+cts6Ov+EXtXU33jI5/BDwI1AACeVbV7fshpPBE4q628DPj+2mpr8IzXwBN9M5yP4i+VFeBWwD3gaeLAsf1e2/Us643MPdi2bW1bj79LZSflgeeNf1rbnccH9Ggv3IZ/Hd5bn8aHyPP5622os2/9OqfNR4KMtrO8twL1NPHcr/Dv/KJ0ZW4+VYP3TFta4Bfgy8Didf+CvHFddHn5Akio0bbNlJGkqGO6SVCHDXZIqZLhLUoUMd0mqkOEuSRUy3CWpQv8P94yK6S/OrGYAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.scatter(test_X[['Daylight']].values, predicted, color='red')\n", + "plt.scatter(test_X[['Daylight']].values, test_Y, color='blue')" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [], + "source": [ + "# RandomForestを使い、Month, Daylight, HouseからEnergyProductionを推測してみる。(Temperatureを除いた場合)\n", + "X_hdm = train_df.drop(['ID', 'Label', 'Year', 'Temperature'], axis=1)\n", + "test_X_hdm = test_df.drop(['ID', 'Label', 'Year', 'Temperature'], axis=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/saber/opt/anaconda3/lib/python3.7/site-packages/sklearn/ensemble/forest.py:245: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.\n", + " \"10 in version 0.20 to 100 in 0.22.\", FutureWarning)\n", + "/Users/saber/opt/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:2: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples,), for example using ravel().\n", + " \n" + ] + } + ], + "source": [ + "model_hdm = RandomForestClassifier(max_depth=1000)\n", + "model_hdm.fit(X_hdm,Y)\n", + "predicted_hdm = model_hdm.predict(test_X_hdm)" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 34, + "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.scatter(test_X_hdm[['House']].values, predicted, color='red')\n", + "plt.scatter(test_X_hdm[['House']].values, test_Y, color='blue')" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 35, + "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.scatter(test_X_hdm[['Daylight']].values, predicted, color='red')\n", + "plt.scatter(test_X_hdm[['Daylight']].values, test_Y, color='blue')" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.146" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Temperatureの影響があるかは、はっきりしない。\n", + "model_hdm.score(test_X_hdm, test_Y)" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/saber/opt/anaconda3/lib/python3.7/site-packages/sklearn/utils/validation.py:724: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", + " y = column_or_1d(y, warn=True)\n" + ] + }, + { + "data": { + "text/plain": [ + "SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0,\n", + " decision_function_shape='ovr', degree=3, gamma='scale', kernel='rbf',\n", + " max_iter=-1, probability=False, random_state=None, shrinking=True,\n", + " tol=0.001, verbose=False)" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# SVCも試してみる。\n", + "from sklearn.svm import SVC\n", + "model_svc = SVC(gamma='scale')\n", + "model_svc.fit(X, Y)" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [], + "source": [ + "test_Y_svc = model_svc.predict(test_X)" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 41, + "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.scatter(test_X[['House']].values, test_Y_svc, color='red')\n", + "plt.scatter(test_X[['House']].values, test_Y, color='blue')" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.0" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model_svc.score(test_X, test_Y)" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/saber/opt/anaconda3/lib/python3.7/site-packages/sklearn/utils/validation.py:724: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n", + " y = column_or_1d(y, warn=True)\n" + ] + }, + { + "data": { + "text/plain": [ + "SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0,\n", + " decision_function_shape='ovr', degree=3, gamma='scale', kernel='rbf',\n", + " max_iter=-1, probability=False, random_state=None, shrinking=True,\n", + " tol=0.001, verbose=False)" + ] + }, + "execution_count": 43, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model_svc_hdm = SVC(gamma='scale')\n", + "model_svc_hdm.fit(X_hdm, Y)" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 48, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# RandomForestを使い、Month, Daylight, HouseからEnergyProductionを推測したものが、この中では一番よかった。\n", + "plt.scatter(test_X[['House']].values, predicted, color='red')\n", + "plt.scatter(test_X[['House']].values, test_Y, color='blue')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "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.4" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/challenge1/analysis/shino/test.py b/challenge1/analysis/shino/test.py new file mode 100644 index 000000000..b142986b4 --- /dev/null +++ b/challenge1/analysis/shino/test.py @@ -0,0 +1,35 @@ +import numpy as np +import pandas as pd +import matplotlib.pyplot as plt +import seaborn as sns + +train_df = pd.read_csv('../../data/training_dataset_500.csv') +test_df = pd.read_csv('../../data/test_dataset_500.csv') + +from sklearn.ensemble import RandomForestClassifier + +model = RandomForestClassifier(max_depth=1000) + +X = train_df.drop(['ID', 'Label', 'Year'], axis=1) +test_X = test_df.drop(['ID', 'Label', 'Year'], axis=1) +Y = train_df[['EnergyProduction']].values +test_Y = test_df[['EnergyProduction']].values + +model.fit(X,Y) +predicted = model.predict(test_X) +model.score(test_X, test_Y) + +plt.scatter(test_X[['House']].values, predicted, color='red') +plt.scatter(test_X[['House']].values, test_Y, color='blue') + +X_hdm = train_df.drop(['ID', 'Label', 'Year', 'Temperature'], axis=1) +test_X_hdm = test_df.drop(['ID', 'Label', 'Year', 'Temperature'], axis=1) + +model_hdm = RandomForestClassifier(max_depth=1000) +model_hdm.fit(X_hdm,Y) +predicted_hdm = model_hdm.predict(test_X_hdm) + +plt.scatter(test_X_hdm[['House']].values, predicted, color='red') +plt.scatter(test_X_hdm[['House']].values, test_Y, color='blue') + +model_hdm.score(test_X_hdm, test_Y) \ No newline at end of file From 45fddd6dae67d9b8a03d0d89ebe5a91afe7a48c3 Mon Sep 17 00:00:00 2001 From: Kenta Shinozaki Date: Sun, 16 May 2021 17:46:15 +0900 Subject: [PATCH 2/2] =?UTF-8?q?challenge1/Output=E3=82=92=E5=AE=9F?= =?UTF-8?q?=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Challenge1-checkpoint.ipynb | 131 ++--- challenge1/analysis/shino/Challenge1.html | 72 +++ challenge1/analysis/shino/Challenge1.ipynb | 51 ++ .../shino/predicted_energy_production.csv | 501 ++++++++++++++++++ 4 files changed, 668 insertions(+), 87 deletions(-) create mode 100644 challenge1/analysis/shino/predicted_energy_production.csv diff --git a/challenge1/analysis/shino/.ipynb_checkpoints/Challenge1-checkpoint.ipynb b/challenge1/analysis/shino/.ipynb_checkpoints/Challenge1-checkpoint.ipynb index 31d71b3e2..32fed455e 100644 --- a/challenge1/analysis/shino/.ipynb_checkpoints/Challenge1-checkpoint.ipynb +++ b/challenge1/analysis/shino/.ipynb_checkpoints/Challenge1-checkpoint.ipynb @@ -1275,76 +1275,10 @@ } ], "source": [ - "# Temperatureの影響は若干ある。\n", + "# Temperatureの影響があるかは、はっきりしない。\n", "model_hdm.score(test_X_hdm, test_Y)" ] }, - { - "cell_type": "code", - "execution_count": 37, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 37, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "# グラフで見ても何もわからないが…\n", - "plt.scatter(X[['Temperature']].values, Y, color='blue')" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 38, - "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.scatter(test_X[['House']].values, predicted, color='red')\n", - "plt.scatter(test_X[['House']].values, test_Y, color='blue')" - ] - }, { "cell_type": "code", "execution_count": 39, @@ -1373,6 +1307,7 @@ } ], "source": [ + "# SVCも試してみる。\n", "from sklearn.svm import SVC\n", "model_svc = SVC(gamma='scale')\n", "model_svc.fit(X, Y)" @@ -1474,31 +1409,22 @@ }, { "cell_type": "code", - "execution_count": 44, - "metadata": {}, - "outputs": [], - "source": [ - "# test_Y_svc_hdm = model_svc_hdm.predict(test_X_hdm)" - ] - }, - { - "cell_type": "code", - "execution_count": 45, + "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 45, + "execution_count": 48, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -1510,29 +1436,60 @@ } ], "source": [ - "# plt.scatter(test_X[['House']].values, test_Y_svc, color='yellow')\n", - "# plt.scatter(test_X[['House']].values, test_Y_svc_hdm, color='red')\n", - "# plt.scatter(test_X[['House']].values, test_Y, color='blue')" + "# RandomForestを使い、Month, Daylight, HouseからEnergyProductionを推測したものが、この中では一番よかった。\n", + "plt.scatter(test_X[['House']].values, predicted, color='red')\n", + "plt.scatter(test_X[['House']].values, test_Y, color='blue')" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "metadata": {}, + "outputs": [], + "source": [ + "solution = pd.DataFrame({'House': test_df['House'], 'EnergyProduction': predicted})" ] }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 55, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "0.0" + "" ] }, - "execution_count": 46, + "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "# model_svc_hdm.score(test_X_hdm, test_Y)" + "solution.info" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "metadata": {}, + "outputs": [], + "source": [ + "solution.to_csv(\"predicted_energy_production.csv\")" ] }, { diff --git a/challenge1/analysis/shino/Challenge1.html b/challenge1/analysis/shino/Challenge1.html index 7c7bbb859..f46ab9562 100644 --- a/challenge1/analysis/shino/Challenge1.html +++ b/challenge1/analysis/shino/Challenge1.html @@ -14896,6 +14896,78 @@ + +
+
+
In [54]:
+
+
+
solution = pd.DataFrame({'House': test_df['House'], 'EnergyProduction': predicted})
+
+ +
+
+
+ +
+
+
+
In [55]:
+
+
+
solution.info
+
+ +
+
+
+ +
+
+ + +
+ +
Out[55]:
+ + + + +
+
<bound method DataFrame.info of      House  EnergyProduction
+0        1               794
+1        2               605
+2        3               714
+3        4               549
+4        5               549
+..     ...               ...
+495    496               486
+496    497               714
+497    498               645
+498    499               714
+499    500               605
+
+[500 rows x 2 columns]>
+
+ +
+ +
+
+ +
+
+
+
In [56]:
+
+
+
solution.to_csv("predicted_energy_production.csv")
+
+ +
+
+
+
diff --git a/challenge1/analysis/shino/Challenge1.ipynb b/challenge1/analysis/shino/Challenge1.ipynb index 0dc9011f6..32fed455e 100644 --- a/challenge1/analysis/shino/Challenge1.ipynb +++ b/challenge1/analysis/shino/Challenge1.ipynb @@ -1441,6 +1441,57 @@ "plt.scatter(test_X[['House']].values, test_Y, color='blue')" ] }, + { + "cell_type": "code", + "execution_count": 54, + "metadata": {}, + "outputs": [], + "source": [ + "solution = pd.DataFrame({'House': test_df['House'], 'EnergyProduction': predicted})" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 55, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "solution.info" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "metadata": {}, + "outputs": [], + "source": [ + "solution.to_csv(\"predicted_energy_production.csv\")" + ] + }, { "cell_type": "code", "execution_count": null, diff --git a/challenge1/analysis/shino/predicted_energy_production.csv b/challenge1/analysis/shino/predicted_energy_production.csv new file mode 100644 index 000000000..0eb120308 --- /dev/null +++ b/challenge1/analysis/shino/predicted_energy_production.csv @@ -0,0 +1,501 @@ +,House,EnergyProduction +0,1,794 +1,2,605 +2,3,714 +3,4,549 +4,5,549 +5,6,688 +6,7,645 +7,8,561 +8,9,519 +9,10,465 +10,11,465 +11,12,688 +12,13,565 +13,14,465 +14,15,794 +15,16,605 +16,17,605 +17,18,519 +18,19,605 +19,20,486 +20,21,688 +21,22,561 +22,23,478 +23,24,688 +24,25,478 +25,26,645 +26,27,645 +27,28,714 +28,29,605 +29,30,523 +30,31,714 +31,32,523 +32,33,714 +33,34,592 +34,35,592 +35,36,565 +36,37,714 +37,38,645 +38,39,519 +39,40,714 +40,41,523 +41,42,478 +42,43,688 +43,44,714 +44,45,645 +45,46,519 +46,47,465 +47,48,478 +48,49,465 +49,50,645 +50,51,465 +51,52,688 +52,53,605 +53,54,519 +54,55,714 +55,56,478 +56,57,592 +57,58,549 +58,59,605 +59,60,714 +60,61,714 +61,62,523 +62,63,688 +63,64,465 +64,65,519 +65,66,565 +66,67,794 +67,68,523 +68,69,486 +69,70,565 +70,71,486 +71,72,605 +72,73,519 +73,74,592 +74,75,549 +75,76,605 +76,77,688 +77,78,549 +78,79,486 +79,80,549 +80,81,794 +81,82,688 +82,83,605 +83,84,605 +84,85,714 +85,86,714 +86,87,465 +87,88,465 +88,89,465 +89,90,688 +90,91,565 +91,92,549 +92,93,549 +93,94,714 +94,95,645 +95,96,714 +96,97,486 +97,98,592 +98,99,519 +99,100,549 +100,101,519 +101,102,465 +102,103,688 +103,104,714 +104,105,605 +105,106,714 +106,107,486 +107,108,519 +108,109,714 +109,110,794 +110,111,549 +111,112,561 +112,113,519 +113,114,605 +114,115,465 +115,116,478 +116,117,465 +117,118,688 +118,119,549 +119,120,549 +120,121,565 +121,122,688 +122,123,523 +123,124,605 +124,125,561 +125,126,592 +126,127,519 +127,128,645 +128,129,561 +129,130,605 +130,131,565 +131,132,688 +132,133,592 +133,134,549 +134,135,565 +135,136,565 +136,137,478 +137,138,549 +138,139,714 +139,140,592 +140,141,645 +141,142,523 +142,143,486 +143,144,519 +144,145,565 +145,146,519 +146,147,565 +147,148,486 +148,149,549 +149,150,565 +150,151,561 +151,152,714 +152,153,645 +153,154,549 +154,155,478 +155,156,486 +156,157,605 +157,158,565 +158,159,519 +159,160,714 +160,161,714 +161,162,519 +162,163,605 +163,164,465 +164,165,486 +165,166,688 +166,167,519 +167,168,465 +168,169,565 +169,170,561 +170,171,565 +171,172,465 +172,173,688 +173,174,714 +174,175,465 +175,176,478 +176,177,794 +177,178,549 +178,179,714 +179,180,549 +180,181,605 +181,182,565 +182,183,592 +183,184,645 +184,185,794 +185,186,519 +186,187,714 +187,188,519 +188,189,714 +189,190,794 +190,191,549 +191,192,714 +192,193,605 +193,194,592 +194,195,645 +195,196,565 +196,197,486 +197,198,478 +198,199,519 +199,200,645 +200,201,519 +201,202,486 +202,203,549 +203,204,561 +204,205,561 +205,206,465 +206,207,465 +207,208,645 +208,209,486 +209,210,714 +210,211,478 +211,212,794 +212,213,465 +213,214,519 +214,215,688 +215,216,519 +216,217,519 +217,218,549 +218,219,465 +219,220,465 +220,221,714 +221,222,645 +222,223,561 +223,224,519 +224,225,519 +225,226,486 +226,227,486 +227,228,523 +228,229,465 +229,230,714 +230,231,549 +231,232,605 +232,233,523 +233,234,645 +234,235,523 +235,236,714 +236,237,519 +237,238,592 +238,239,519 +239,240,519 +240,241,465 +241,242,549 +242,243,519 +243,244,486 +244,245,465 +245,246,519 +246,247,549 +247,248,561 +248,249,565 +249,250,523 +250,251,561 +251,252,465 +252,253,523 +253,254,523 +254,255,465 +255,256,605 +256,257,519 +257,258,688 +258,259,465 +259,260,561 +260,261,519 +261,262,794 +262,263,486 +263,264,465 +264,265,714 +265,266,714 +266,267,465 +267,268,465 +268,269,565 +269,270,465 +270,271,645 +271,272,714 +272,273,565 +273,274,465 +274,275,486 +275,276,561 +276,277,714 +277,278,565 +278,279,523 +279,280,714 +280,281,794 +281,282,605 +282,283,645 +283,284,523 +284,285,519 +285,286,565 +286,287,486 +287,288,523 +288,289,714 +289,290,688 +290,291,714 +291,292,549 +292,293,519 +293,294,478 +294,295,565 +295,296,465 +296,297,592 +297,298,592 +298,299,645 +299,300,714 +300,301,465 +301,302,486 +302,303,561 +303,304,714 +304,305,565 +305,306,565 +306,307,605 +307,308,565 +308,309,465 +309,310,465 +310,311,561 +311,312,519 +312,313,645 +313,314,688 +314,315,714 +315,316,519 +316,317,714 +317,318,714 +318,319,714 +319,320,465 +320,321,465 +321,322,592 +322,323,592 +323,324,605 +324,325,645 +325,326,549 +326,327,565 +327,328,519 +328,329,714 +329,330,523 +330,331,688 +331,332,465 +332,333,714 +333,334,645 +334,335,486 +335,336,605 +336,337,565 +337,338,794 +338,339,714 +339,340,645 +340,341,794 +341,342,714 +342,343,523 +343,344,549 +344,345,486 +345,346,549 +346,347,605 +347,348,714 +348,349,592 +349,350,688 +350,351,714 +351,352,478 +352,353,605 +353,354,523 +354,355,714 +355,356,592 +356,357,486 +357,358,592 +358,359,486 +359,360,714 +360,361,486 +361,362,714 +362,363,714 +363,364,645 +364,365,714 +365,366,645 +366,367,486 +367,368,465 +368,369,465 +369,370,519 +370,371,714 +371,372,605 +372,373,519 +373,374,688 +374,375,688 +375,376,688 +376,377,592 +377,378,714 +378,379,465 +379,380,523 +380,381,714 +381,382,645 +382,383,478 +383,384,688 +384,385,605 +385,386,794 +386,387,565 +387,388,645 +388,389,645 +389,390,519 +390,391,794 +391,392,561 +392,393,645 +393,394,592 +394,395,714 +395,396,625 +396,397,592 +397,398,519 +398,399,714 +399,400,519 +400,401,625 +401,402,465 +402,403,565 +403,404,625 +404,405,625 +405,406,549 +406,407,688 +407,408,688 +408,409,645 +409,410,549 +410,411,645 +411,412,592 +412,413,714 +413,414,565 +414,415,592 +415,416,549 +416,417,714 +417,418,565 +418,419,688 +419,420,523 +420,421,592 +421,422,688 +422,423,714 +423,424,465 +424,425,486 +425,426,688 +426,427,645 +427,428,519 +428,429,519 +429,430,523 +430,431,561 +431,432,519 +432,433,605 +433,434,645 +434,435,519 +435,436,549 +436,437,714 +437,438,486 +438,439,486 +439,440,592 +440,441,486 +441,442,549 +442,443,714 +443,444,465 +444,445,592 +445,446,519 +446,447,794 +447,448,605 +448,449,465 +449,450,592 +450,451,519 +451,452,625 +452,453,688 +453,454,714 +454,455,592 +455,456,549 +456,457,714 +457,458,714 +458,459,645 +459,460,519 +460,461,794 +461,462,478 +462,463,465 +463,464,549 +464,465,625 +465,466,465 +466,467,565 +467,468,565 +468,469,486 +469,470,549 +470,471,714 +471,472,549 +472,473,478 +473,474,592 +474,475,519 +475,476,565 +476,477,688 +477,478,565 +478,479,465 +479,480,592 +480,481,519 +481,482,592 +482,483,478 +483,484,519 +484,485,645 +485,486,549 +486,487,625 +487,488,592 +488,489,549 +489,490,592 +490,491,549 +491,492,688 +492,493,714 +493,494,549 +494,495,465 +495,496,486 +496,497,714 +497,498,645 +498,499,714 +499,500,605