# ---
# jupyter:
#   jupytext:
#     text_representation:
#       extension: .py
#       format_name: light
#       format_version: '1.5'
#       jupytext_version: 1.14.4
#   kernelspec:
#     display_name: Python 3
#     name: python3
# ---

# + [markdown] id="AM1EK0o_Q1kp" colab_type="text"
# # 機械学習ハンズオン　練習問題2：レンタル自転車の需要予測
#
# [UCIのbike sharingデータセット](https://archive.ics.uci.edu/ml/datasets/Bike+Sharing+Dataset)を使って、気象データなどからその日の自転車の貸出台数を予測します。
#

# + [markdown] id="u0ABL69cV9Dv" colab_type="text"
# 【課題】
#
#  1. 貸出台数と相関がなさそうなデータはあるでしょうか？もしあれば、それらは学習させる特徴量から除外してください。
#  1. データどうしで相関が高いものはあるでしょうか？もしあれば、それらは一つの特徴量にまとめてください。
#
# 【ヒント】
#
#  * データどうしの相関を見るには、pandas.DataFrame.corr()とseaborn.heatmap()の併用が便利です。→[参考](https://note.nkmk.me/python-pandas-corr/)
#  * [seaborn.pairplot()](https://seaborn.pydata.org/generated/seaborn.pairplot.html)も役に立ちます。
#  * グラフのサイズを変えたいときは、[ここ](https://qiita.com/cnloni/items/20b5908fbae755192498#1-8-%E5%9B%B3%E3%81%AE%E3%82%B5%E3%82%A4%E3%82%BA%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%97%E3%81%9F%E3%81%84)を参考にしてみてください。

# + [markdown] id="MWQc7e8_nhwh" colab_type="text"
# 【注意点】
#
# `cnt`列は、`casual`列と`registered`列の合計です。したがって、`cnt`を予測する場合には、`casual`と`registered`は学習させる特徴量から外さなければなりません。

# + [markdown] id="HpuBAz06fz5A" colab_type="text"
# ## 前準備

# + id="lHBju_GQQU5Y" colab_type="code" colab={}
# ここで必要なimportを行ってください。
import pandas as pd
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import MinMaxScaler, StandardScaler

# + [markdown] id="wUmKXKdHTI8-" colab_type="text"
# ### データセットファイルの取得（zipの展開）

# + id="qqciUmMGRuzO" colab_type="code" colab={}
# !wget https://archive.ics.uci.edu/ml/machine-learning-databases/00275/Bike-Sharing-Dataset.zip
# !unzip -o Bike-Sharing-Dataset.zip

# + [markdown] id="beHBPzKvWm5Q" colab_type="text"
# ### データセットの読込み

# + id="X_FM0rS8SsSA" colab_type="code" colab={}
df = pd.read_csv('day.csv', sep=',', index_col=0)

StarcoderdataJupyterScriptsDedupFiltered