【ラビットチャレンジ】機械学習:その1 線形回帰モデル
機械学習モデリングプロセス
線形回帰とロジスティック回帰でモデリングプロセスを体験
※感想 機械学習をあえて使う必要が無いというのは大事 運用者への配慮はコモディティ化が進むとあるような、もっとハードルが下がるような… どっちだろう
※SVMについて 資料にはあるので、そちらで学習ヨロ
環境について
- Anacondaがあれば大丈夫
ルールベースモデルと機械学習モデル
回帰問題
- ある入力(数値)から出力(連続値)を予想する問題
- 回帰で扱うデータ
- 入力はm次元のベクトル(m=1の場合はスカラ)
線形回帰モデル
- 教師あり学習(正解付きデータから学習)
- ある条件から、物件の価格を出すなどに使える
- 部屋数、築年数、駅からの距離など
線形結合
- 入力ベクトルと道野パラメータの各要素を掛け算し足し合わせたもの
- 入力ベクトルとの線形結合に加え、切片も足し合わせる
- 出力は1次元
- パラメータ
- 特徴量が予測値に対してどのように影響を与えるかを選定する重みの就業
- 未知パラメータは最小二乗法により推定
※ハットについて(データYの上についていたもの)。予測値を表す場合には統計のせかいなどで「ハット」を使う
線形単(m=1)回帰モデル
データは回帰直線に誤差が加わり観測されていると過程
※εは正規分布と考えてよいか? → 最小二乗法の場合は考えなくて良い 最尤法の場合は正規分布で考えた方が詳細な分析が出来る。後で最尤法は出てくる
データ分割
- データがn個ある場合に、全部を学習に使うことはしない
- 学習用と評価用に分ける(80%が学習、20%を評価みたいなイメージ)
- 学習 = train, 評価 = test
パラメータの推定
※線形回帰はデータからパラメータを数学で推定出来るのが良いところ
ハンズオン(線形回帰モデル)
ボストンの住宅価格の予測
- Scikit-learnを利用
- Pandas
- Numpy
jupiter notebookを使ってやる 1変量の単回帰から 2変量の重回帰もやる
model.coef : 回帰係数 model.intercept:切片
※ 犯罪率が上がると家賃が下がりがちなので… みたいな説明を数学的に出来る
スクリーンショット