可視化 機械学習 統計解析

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

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

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

no image

Numpyモジュールを使った乱数生成

Pythonで乱数を扱うnumpyモジュールでよく利用する乱数生成方法を整理しました。 Contents1 乱数の生成2 ランダム抽出 乱数の生成 用途サンプル概要seedの設定np.random.s …

no image

クラスタリングの実践(好きなアイスクリームアンケート)

Contents1 概要2 データの読み込み3 データの確認4 主成分分析5 クラスタリング 概要 ・目的:このデータを使ってアイスクリームの好みの違いをクラスタリングで分類し、好みのパターンを理解す …

no image

kerasでCNN実装

Contents0.0.1 CNNとは0.0.2 畳み込み層とプーリング層について0.0.3 CNNの精度を向上させる方法0.0.4 CNN構造0.0.5 モデルの選定理由1 中間層の表示 CNNとは …

no image

クラスタリングの実践(中学生スポーツテストデータ)

Contents1 クラスタリングの実践1.1 概要1.2 データの読み込み1.3 データの確認1.4 主成分分析1.5 クラスタリング クラスタリングの実践 概要 ・目的:中学生のスポーツテストデー …