0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【AzureML】サンプルデータの収入予測をやってみた

Posted at

今回はサンプルデータの特徴の選択による二項分類 - 収入の予測を利用してみたいと思います。

ワークスペースやクラスターの作成、実行方法等は最初の記事を参考にしてください。

サンプルを開く

今回利用するサンプルを開きます。
利用するのはBinary Classification with Feature Selection - Income Predictionです。
image.png
利用するデータも見ておきましょう。
image.png
年齢や学歴、収入などが入ったデータみたいですね。

サンプルの内容

今回のブロックは以下のようになってます。
前回とは結構違うようですね。気になる点を見ていきましょう。
image.png

Filter Based Featuer Selectionというブロックがあります。何をやっているかがコメントに書いてあります。
image.png

どうやらChiSquaredによって5個のカラムを選んでいるようです。
ChiSquaredはカイ二乗検定というものらしいで、関係があるかどうかの判定を行うために使います。
つまりここでは関係の強いカラム5つを選定しているようです。TargetColumnにincomeが設定されているので、これについての関係の強さを見ているのでしょう。
実際にどうなっているのか、ここだけ切り取って実行してみたいと思います。
image.png
実行結果はこのようになっていますね。カラムが6つだけになっています。
ちゃんと算出結果を見ることもできますね。
image.png
これによってデータ量の多すぎるものを関係の強いものに絞って学習することができますね。

それでは元のサンプルに戻ってみましょう。
アルゴリズムのある左のブロック群は前回までと同様の流れを組んでいますね。
テストのほうはなんだか複雑になっています。
それぞれ確認してみましょう。

Select Columns Transformは入力されたデータと同じカラムを返すブロックのようです。
そのカラム情報をApply Transformationに渡すことでテストデータのカラムを学習データと同じものにしているようです。
その後テストデータとして利用されていますね。
また、SelectColumnsInDatasetでincomeのデータを削除して再度結果を出しています。
これはおそらく利用時に取得できるデータを作成してるのではないでしょうか。
モデルの評価をするだけなら必要ないかと思います。
image.png

サンプルをいじってみる

それでは少しいじってみましょう。
先日のように複数のモデルの比較をしてみたいと思います。
また、3つの評価の比較はできていなかったので、pythonコードを記述して結果を結合してみたいと思います。
image.png

pythonコードでやってることは単純で、二つのEvaluteModelのデータをpd.concat()で結合してるだけですね。
既存のjoinブロックだと横に結合されちゃったのでpythonコードでやってみました。
結果がこれですね。
image.png

ちゃんと3つのデータが並んで比較できます!よかった!
ただ、EvaluteModelブロックのほうが可視化されてわかりやすいので普段はそちらを使うことがおすすめですね。
image.png
特に閾値を変動させつつ精度を確認できるのはすごくわかりやすくていいと思います!
これで最適な閾値や自身の望む閾値の精度を簡単に確認できますね。

上のグラフだと少しわかりにくいですが、データを複数選んでおくとグラフも複数表示されて比較できるようになってます。
これもいいですね。
image.png

まとめ

今回は特徴の選択による二項分類 - 収入の予測を使ってモデルの作成を行ってみました。
また、pythonコードの直接実行もやってみました。簡単に実行できるので、簡単な処理や現状pythonでやってる内容などをそのまま簡単に流用できそうなのはいいですね。
今回は初の二項のサンプルを実行してみましたが、ほとんど回帰と変わらずにブロックを組み上げることができました。
特にEvaluteModelの可視化部分がわかりやすくていいですね。上述しましたが、閾値を変動させて精度を直接確認できる点がとてもよかったと思います。
次回はこのEvaluteModelのデータや予測結果などをblobにcsvとして出力できないのかをいろいろ試してみたいと思います。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?