可視化 機械学習 統計解析

python/sklearn/単回帰(LinearRegression)

投稿日:

2次元のデータに対して単回帰分析を行う。

データ取得

必要なモジュールのインポート

データのロード

カラムの説明

CRIMZNINDUSCHASNOXRMAGEDISRADTAXPTRATIOBLSTAT
00.0063218.02.310.00.5386.57565.24.09001.0296.015.3396.904.98
10.027310.07.070.00.4696.42178.94.96712.0242.017.8396.909.14
20.027290.07.070.00.4697.18561.14.96712.0242.017.8392.834.03
30.032370.02.180.00.4586.99845.86.06223.0222.018.7394.632.94
40.069050.02.180.00.4587.14754.26.06223.0222.018.7396.905.33

メソッド

  • LinearRegression:回帰分析用モジュール
  • train_test_split:学習データとテストデータに分割するモジュール

可視化

  • x, y : x軸、y軸のデータ
  • s : サイズ
  • c : 色
  • mark : マーカーの形()
  • cmap : カラーマップ(cがfloatのときのみ有効)
  • alpha : 透明度(0-1)
  • linewidth : 枠線の太さ
  • edgecolors : 枠線の太さ

学習データとテストデータに分割

単回帰分析

scikit learnでは、引数を行列で受けとることを想定しているのでx_train[:,None]とする

結果のプロット

回帰直線を作る。

np.newaxis は,添え字指定の表記の中に用いる。

元の配列の大きさを維持する次元には : を指定し,新たに大きさが 1 の次元を追加するところには np.newaxis を指定する

決定係数の算出

学習データとテストデータに対して決定係数を算出し、回帰分析の結果を評価する。

-可視化, 機械学習, 統計解析

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

KFold + XGBoost + EDAチュートリアル | PortoSeguro コンペ

Contents1 概要説明2 コンペの説明3 目次4 コンペの説明5 イントロ6 データ準備6.1 データロード6.2 欠損値の確認6.3 中央値で欠損値補完7 特徴量とターゲットの分割8 データの …

no image

不均衡データの取り扱い | PortoSeguro コンペ

Contents1 概要説明2 コンペの説明3 インデックス4 不均衡データセット5 メトリックの罠6 Resampling7 Random under-sampling8 Random over-s …

no image

機械学習スタッキング例

汎化性能を上げるためkaggleでよく利用されている、スタッキングの実行例をメモしておきます。 スタッキングとは、単一の学習器をそのまま使うのではなく、複数の学習きを組み合わせることで、過学習を防ぎ予 …

no image

教師なし学習 クラスタリング

  辛さ 重厚 スパイシー 果実味 コク 酸味 落ち着き 香り 華や …

no image

タイタニック生存者予測~ランダムフォレスト~

有名なタイタニックのデータを使って、RandamForestを使って生存者を予測します。 Contents0.1 前処理について0.2 モデル選定について 0.2.1 ロジスティック回帰0.2.2 S …