質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
強化学習

強化学習とは、ある環境下のエージェントが現状を推測し行動を決定することで報酬を獲得するという見解から、その報酬を最大限に得る方策を学ぶ機械学習のことを指します。問題解決時に得る報酬が選択結果によって変化することで、より良い行動を選択しようと学習する点が特徴です。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

567閲覧

Python_XGBoost

egpt

総合スコア25

強化学習

強化学習とは、ある環境下のエージェントが現状を推測し行動を決定することで報酬を獲得するという見解から、その報酬を最大限に得る方策を学ぶ機械学習のことを指します。問題解決時に得る報酬が選択結果によって変化することで、より良い行動を選択しようと学習する点が特徴です。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

1クリップ

投稿2020/05/14 17:20

編集2020/05/14 17:21

XGBoostで学習した結果、以下のようなグラフが得られました。

rounds=500で実験を行ったとき、rounds=188でlossが最小になっていることが分かりました。
この場合を用いて推測を行いたいのですが、どのように指定すればいいのでしょうか。

イメージ説明

何が回答に必要なのかわからないので、この表を出すまでのコードを一応掲載しておきます。

Python

1from sklearn.model_selection import train_test_split 2import xgboost as xgb 3 4X_train, Y_train, X_target, Y_target = train_test_split(train, target, random_state=0) 5 6dtrain = xgb.DMatrix(X_train, label=X_target) 7dvalid = xgb.DMatrix(Y_train, label=Y_target) 8num_round = 500 9evallist = [(dvalid, "eval"), (dtrain, "train")] 10evals_result = {} 11param = { 12 "max_depth": 3, 13 "eta": 0.01, 14 "objective": "reg:squarederror", 15} 16bst = xgb.train( 17 param, dtrain, 18 num_round, 19 evallist, 20 evals_result=evals_result, 21 # 一定ラウンド回しても改善が見込めない場合は学習を打ち切る 22 early_stopping_rounds=1000 23) 24 25plt.figure(figsize=(10, 5)) 26train_metric = evals_result['train']['rmse'] 27plt.plot(train_metric, label='train rmse') 28eval_metric = evals_result['eval']['rmse'] 29plt.plot(eval_metric, label='eval rmse') 30plt.grid() 31plt.legend() 32plt.xlabel('rounds') 33plt.ylabel('rmse') 34plt.ylim(5, 40) 35plt.show()

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

xgb.trainで評価関数にて最良のもでるがbstに代入されると思いますが

いえ、まさしくそれについてです!
最良のモデルが保存されているなんて素晴らしい機能ですね...!!ありがとうございます。

投稿2020/07/05 03:24

egpt

総合スコア25

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

xgb.trainで評価関数にて最良のもでるがbstに代入されると思いますが

それとも違うご質問でしょうか

投稿2020/07/01 06:42

aokikenichi

総合スコア2218

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問