CONTAINER技術系のこと書きます。アルゴリズムを実装したオープンソースのライブラリ。バインディングを使ってみることにする。使った環境は次の通り。必要なパッケージを一通りインストールする。インストールしておく。使っている関係で必要になる。それ以外で今回使うパッケージをインストールする。使って乳がんデータセットを二値分類するサンプルコード。モデルの検証についてはここでの本題ではないことから、交差検証ではなくホールドアウト検証にとどめている。コードの説明についてはコメントを参照のこと。main()上記のサンプルコードに適当な名前をつけて保存した上で実行する。学習過程を可視化する先ほどの例では、いつの間にか学習が終わってモデルができたという感じだった。そこで、続いては学習が進む過程をグラフで可視化してみる。次のサンプルコードでは、学習用データと検証用データに対する損失を折れ線グラフで出力する。オプションで学習用データと検証用データを渡す。オプションに過程を記録するための辞書を渡す。main()先ほどと同じように、適当な名前をつけて実行する。0.9649122807017544すると、次のようなグラフが得られる。学習が進むにつれて学習用データと検証用データの損失が減っていくことが分かる。ラウンド前後で損失の減少は止まっているように見える。損失が減らなくなったら学習を打ち切る先ほどの例で分かる通り、損失が減らなくなったらそれ以上学習する必要はない。することも考えられる。そこで、続いては損失が減らなくなったタイミングで学習を打ち切るようにしてみる。オプションを指定することでそれを実現している。このオプションを使うと、指定したラウンド数の間で損失が減らなかったときに学習を打ち切れる。main()上記を実行してみよう。かかるようになっていることが分かる。ラウンドまでしか学習が進んでいない。ラウンド目が結果として使われたことが分かる。学習過程のグラフは次のようなものが得られた。前後の学習ラウンドまでしか表示されていない。持ったインターフェースもある。続いては、これを使ってみよう。実現していることは先ほどと全く変わらない。main()上記を実行してみよう。0.9649122807017544学習ラウンド数は先ほどと違っているものの、最終的に得られた精度は変わっていないようだ。学習過程のグラフは次のようなものが得られた。この場合、二値分類とは学習するときのパラメータが異なる。データセットを使った多値分類問題を扱っている。main()上記を実行してみよう。0.9333333333333333乳がんデータセットに比べると、単純な分だけラウンド数がかなり少ないようだ。得られた学習過程のグラフは次の通り。学習用データの損失は減っているものの、検証用データの損失が減らない状況が生じていることから過学習の予兆が見られる。可視化する機能を備えている。データセットの分類にどの特徴量が有効だったのかを性能のゲインにもとづいて可視化している。main()上記を実行してみよう。eval-mlogloss:0.195911次のようなグラフが得られる。分類する上で有効なようだ。回帰問題を扱ってみる。データセットを回帰している。main()上記を実行してみよう。3.0332711348600068学習過程の損失をプロットしたグラフは次のようになった。組み込みで入っていた評価指標を用いて学習の進み具合を評価していた。続いては自分で書いたカスタムメトリックを使って学習してみる。次のサンプルコードでは、再び乳がんデータセットを使った二値分類を扱っている。計測するカスタムメトリックを使っている。自分で書いた関数を渡す。カスタムメトリックの関数は、評価指標の名前と値をタプルまたはリストで返すように作る。main()上記を実行してみる。0.9532163742690059得られた学習過程のグラフは次の通り。使うと、早々に学習が打ち切られてしまっているようだ。そのため、最終的に得られた精度も低いものになってしまっている。これは、おそらく一つの要素が正しく分類できたか・できなかったに結果が大きく左右されてしまうため。結果はそんなに良くないけど、こんな感じで書けるよという例として。そんなに使いやすいものではないけど、とりあえずあるよということで紹介しておく。組み込みで入っている交差検証の機能を使っている。いう関数が起点になる。普通に学習するときとさほど変わらない。関数から最終的に得られるのは、学習過程におけるメトリックの値の変化。main()上記を実行してみる。max_depth=1すると、次のような学習過程のグラフが得られる。機能を色々と試してみた。する今回は、前回のエントリを書くきっかけになったネタについて。ビルドする注目記事スポンサードリンクスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。