LoginSignup
20
25

More than 5 years have passed since last update.

scikit-learnでニューラルネットワークを使ってみる

Last updated at Posted at 2017-01-28

はじめに

scikit-learnの最新バージョンでニューラルネットワークが使えるようになっているという話を聞いたので早速試してみました。

バージョンアップ

まず、scikit-learnのバージョンをあげます。

$ pip install scikit-learn --upgrade

ライブラリの読み込み

詳しくは以下のURLを参照していただくとして、とりあえず回帰のライブラリを読み込んでみます。

from sklearn.neural_network import MLPRegressor

電力需要を予測してみる

手前味噌ではありますが、以下の記事で紹介していた内容をニューラルネットワークで実行してみます。

必要なところだけを書き換えてみると...

from sklearn.neural_network import MLPRegressor

model = MLPRegressor(random_state=42)
model.fit(X_train, y_train)
print(model.score(X_test,y_test))

初期値でのスコアは「0.77841866071119836」でした。

隠れ層を増やしてみる

初期設定は以下のとおり。

MLPRegressor(activation='relu', alpha=0.0001, batch_size='auto', beta_1=0.9,
       beta_2=0.999, early_stopping=False, epsilon=1e-08,
       hidden_layer_sizes=(100,), learning_rate='constant',
       learning_rate_init=0.001, max_iter=200, momentum=0.9,
       nesterovs_momentum=True, power_t=0.5, random_state=None,
       shuffle=True, solver='adam', tol=0.0001, validation_fraction=0.1,
       verbose=False, warm_start=False)

そこで、以下のように書き換えてみます。

from sklearn.neural_network import MLPRegressor

model = MLPRegressor(hidden_layer_sizes=(100,100,100,100,),random_state=42)
model.fit(X_train, y_train)
print(model.score(X_test,y_test))

すると、スコアが「0.83302793729266389」になりました(^-^)
結構顕著にスコアが変わりますね。

ちなみに、予測結果をグラフ化するとこんな感じ。

Unknown.png

他に変更してみるとしたら、max_iterとかalphaとかでしょうか。

もうちょっといじってみます!!

20
25
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
25