いよいよ学習 第18回 人工知能
さて、学習です。
ここのコードを参考にしています。↓
TensorFlowで電力使用量予測 with Keras - Qiita
前回まで、学習する準備をしています。
ここからが、学習に入るわけです。
最初の行
ここでの作業は、Xのカラム設定です。
これをやると x_colsは、こうなります。↓
カラムだけですね。
最初の['TEMP_okym', 'TEMP_hrsm']の2個は、さきほどの命令文の最初に手動で加えたもの。あとの残りは、dfの14個目以降のものと同じです。
電気予測なのに、電気のカラムが無い・・・・。
それは次の行と一緒に説明。
これの意味は、
「Xにさっき作ったカラムと同じ名前のカラムのところのデータをXに入れなさい。」
「Yには、求めたいMWのデータをYに入れなさい」
となっている。求めたいデータがすでにある??
ではなくdfのデータ。つまり過去のデータです。これをもとに学習する。
Tensorflowでは、グラフのYを予測で求める。
つまり、
[Xの元でYの数字はいくつか?]というのを機械学習で答え出す
というのが人工知能。
例えば、y = 2x + 20とかいう式があった場合、x = 10のとき、yはいくつか?。
この場合は、y=40と計算したら出る。
しかし、Tensorflowの場合は、このy = 2x + 20 という式も計算して式を出す、さらに、その式から、yを求める。
なので、ここで、重要なのは、Xには、仮定。Yには欲しい答えを入れる。
この段階で、Xとyの中身はこう↓
Xの中身
yの中身
じゃあ、yは、なんでもいいのか? それはノー!
過去データが無いとダメ。
次の行と合わせて解説する。
上のfrom sklearnのところから全部ワンセット。
これは、さっきまとめたXとyをテストデータ、トレーニングデータに分ける。
test_sizeというところに.2とあるのは、0.2のことで
20%をテストデータにするよという意味。
つまりdfの80%のデータで学習して数式を出す。
そして、その数式に20%のデータで、合ってるか、どうかを判断する。
一旦、ここまで。
ここのコードを参考にしています。↓
TensorFlowで電力使用量予測 with Keras - Qiita
x_cols = ["TEMP_okym","TEMP_hrsm"] + df.columns.tolist()[14:]
X = df[x_cols]
y = df["MW"]
# ラベル付きデータをトレーニングセット (X_train, y_train)とテストセット (X_test,y_test)に分割
from sklearn import model_selection
X_train, X_test, y_train, y_test = model_selection.train_test_split(X, y, test_size=.2, random_state=42)
X = df[x_cols]
y = df["MW"]
# ラベル付きデータをトレーニングセット (X_train, y_train)とテストセット (X_test,y_test)に分割
from sklearn import model_selection
X_train, X_test, y_train, y_test = model_selection.train_test_split(X, y, test_size=.2, random_state=42)
前回まで、学習する準備をしています。
ここからが、学習に入るわけです。
最初の行
x_cols = ["TEMP_okym","TEMP_hrsm"] + df.columns.tolist()[14:]
ここでの作業は、Xのカラム設定です。
これをやると x_colsは、こうなります。↓
['TEMP_okym', 'TEMP_hrsm', 'MONTH_1', 'MONTH_2', 'MONTH_3', 'MONTH_4', 'MONTH_5', 'MONTH_6', 'MONTH_7', 'MONTH_8', 'MONTH_9', 'MONTH_10', 'MONTH_11', 'MONTH_12', 'WEEK_0', 'WEEK_1', 'WEEK_2', 'WEEK_3', 'WEEK_4', 'WEEK_5', 'WEEK_6', 'HOUR_0']
カラムだけですね。
最初の['TEMP_okym', 'TEMP_hrsm']の2個は、さきほどの命令文の最初に手動で加えたもの。あとの残りは、dfの14個目以降のものと同じです。
電気予測なのに、電気のカラムが無い・・・・。
それは次の行と一緒に説明。
X = df[x_cols]
y = df["MW"]
y = df["MW"]
これの意味は、
「Xにさっき作ったカラムと同じ名前のカラムのところのデータをXに入れなさい。」
「Yには、求めたいMWのデータをYに入れなさい」
となっている。求めたいデータがすでにある??
ではなくdfのデータ。つまり過去のデータです。これをもとに学習する。
Tensorflowでは、グラフのYを予測で求める。
つまり、
[Xの元でYの数字はいくつか?]というのを機械学習で答え出す
というのが人工知能。
例えば、y = 2x + 20とかいう式があった場合、x = 10のとき、yはいくつか?。
この場合は、y=40と計算したら出る。
しかし、Tensorflowの場合は、このy = 2x + 20 という式も計算して式を出す、さらに、その式から、yを求める。
なので、ここで、重要なのは、Xには、仮定。Yには欲しい答えを入れる。
この段階で、Xとyの中身はこう↓
Xの中身
yの中身
じゃあ、yは、なんでもいいのか? それはノー!
過去データが無いとダメ。
次の行と合わせて解説する。
from sklearn import model_selection
X_train, X_test, y_train, y_test = model_selection.train_test_split(X, y, test_size=.2, random_state=42)
X_train, X_test, y_train, y_test = model_selection.train_test_split(X, y, test_size=.2, random_state=42)
上のfrom sklearnのところから全部ワンセット。
これは、さっきまとめたXとyをテストデータ、トレーニングデータに分ける。
test_sizeというところに.2とあるのは、0.2のことで
20%をテストデータにするよという意味。
つまりdfの80%のデータで学習して数式を出す。
そして、その数式に20%のデータで、合ってるか、どうかを判断する。
一旦、ここまで。
コメント
0 件のコメント :
コメントを投稿