Python-機械学習こんばんは。本日は、機械学習の定番とも言える、アイリスの花のクラス分類問題をk-最近傍法を用いて解いてみようと思います。実際、アイリスの花を分類したいというモチベーションがビジネス上役に立つかと問われると微妙ですが、学習だと割り切っていきましょう。(お花屋さんの方、すみません)k-最近傍法とはアイリスの花データを眺めてみるデータを可視化してみる学習から予測k-最近傍法の利点と欠点k-最近傍法とはk-最近傍法とは、新しいデータポイントに対して、予測する際に新しい点に最も近い点を訓練セットから探し、新しい点に最も近かった点のラベルを予測データとする手法です。いう名前から、k-NNとも呼ばれます)この手法では、近傍数というものをハイパーパラメータとして与えることができます。近傍数を複数にした場合は、該当する点のラベルから多数決で予測ラベルを決定することになります。言葉だけでの説明ではイメージしづらいと思いますので、いくつか図を紹介します。して予測を行なった結果です。左上の星は●クラス真ん中の星は▲クラス右下の星は●クラスに分類されていることが分かりますね。3とした場合はどうでしょうか。▲が0個)に分類されていることが分かりますね。左上の★について、近傍数が1のときと3の時で、予測値が変わっていることに気づきましたでしょうか?このように、近傍数の数によって、予測値が異なる可能性もあります。これで少しイメージついたでしょうか?また、下記サイトで公開されているスライドも分かりやすいです。Wakiyamawww.slideshare.netアイリスの花データを眺めてみるでは、早速アイリスの花データを眺めてみます。使いそうなライブラリをimportして、データセットを読み込みます。load_iris()データセットの中身を見てみます。dataがそれぞれ何を表しているかは、feature_namesに格納されている。それぞれ、ガクの長さ、ガクの幅、花弁の長さ、花弁の幅がNumpy配列として格納されている。(cm)']データを可視化してみるデータの中身がわかったところで、今度は可視化を行なってみます。X_trainのデータからpandasのDataframeに変換する。Dataframe変換後の値を表示してみる。print関数より、display関数を用いることで見やすくなる。print(iris_dataframe[:10])display(iris_dataframe[:10])プロットもしてみます。これを見る限り、データは比較的分離しているように見えるため、モデルの作成には問題ないことが確認できます。アイリスの花の分類を行なってみます。下記がソースコードになります。0.97僅かこれだけのコーディングで97%もの精度がでます。k-最近傍法の利点と欠点k-最近傍法には、下記のように利点と欠点があります。訓練セットが大きくなると(サンプル数が多くなると)予測が遅くなる多数の特徴量を扱うことができないよって、高度な技術の利用を考える前に、k-最近傍法をベースラインとして試すときなどに有用なアルゴリズムとなる場合が多いです。...こんにちは!たかぱい(@takapy0210)です。本記事は、AI道場...2019-06-23GloVeを使って単語の分散表現を取得するこんにちは。takapy(@takapy0210)です。コンピュータで自然...2019-02-24ランダムフォレストはなぜ「ランダム」なのかこんにちは。takapy(@takapy0210)です。toC企業でMLエンジニアとして働いています。ブログでは主に機械学習界隈の話ができればと思っています。(1)月別アーカイブリンクプライバシーポリシ。