機械学習の分類モデルを比較してみる(決定木、ランダムフォレスト、ロジスティックス回帰、SVM、k近傍法)その1
何個か機械学習モデルを調べて(お勉強)してみましたら
いろんな種類の機械学習に出会います
それぞれのなんとなくまとめてみます
Python実装編
有名どころの分類モデル
決定木、ランダムフォレスト、ロジスティックス回帰、SVM、k近傍法
をpython実装して比べてみるってのをやってみようかと
実践のことを考えるとどれをどういう時に使ったらわからんなぁ、となるので
とりあえず、それぞれサクッと作ってみて全部で比較してみやがります
まずは1行でそれぞれを紹介
【決定木】
Yes/NOの分岐条件を大量につなげて答えにたどり着く手法
【ランダムフォレスト】
決定木のたくさん集めた手法
【ロジスティックス回帰】
回帰と名前はついてるけど、どんな説明変数にも0〜1の結果を返すので、確率を分類にも使っちゃう手法
pythonで書くとこんな感じ、ロジスティック回帰(シグモイド関数)の式は一行
import numpy as np import matplotlib.pyplot as plt x = np.arange(-10, 10, 0.1) #入力x を適当(0.1刻みで -10〜+10)に設定 y = 1 / (1+np.exp(-x)) # ロジスティック回帰(シグモイド関数)の式 plt.xlabel("X label") plt.ylabel('Y label') plt.plot(x, y) plt.show()
【SVM(サポートベクターマシン)】
クラスを分ける境界線を引いて、分類しちゃう手法