可視化 機械学習 統計解析

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

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

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

no image

python/相関行列(correlation_matrix)

多変量に対して各変数の関係性を可視化するのに役立ちます。 Contents1 データ取得2 メソッド3 相関行列の算出4 可視化 データ取得 必要なモジュールのインポート [crayon-609a79 …

no image

ハイパーパラメータの調整(分類器)

分類問題用にk-NN、SVM、ランダムフォレストの3つの手法及び各手法のハイパーパラメータを最適化するランダムサーチ、グリッドサーチのサンプルスクリプトです。 Contents1 データセット作成1. …

no image

kaggle:メルカリ チュートリアル(EDA探索的データ解析)

Contents1 概要説明1.1 データ探索の流れ2 ライブラリインポート3 データ読み込み4 目的変数5 送料6 アイテムカテゴリ¶7 ブランド8 アイテム説明8.1 前処理 tokenizati …

no image

探索的データ分析 | PortoSeguro コンペ

Contents1 概要説明2 コンペの説明3 パッケージの読み込み4 データについて5 メタデータ6 記述統計6.1 間隔変数6.1.1 reg変数6.1.2 car変数6.2 calc変数6.3 …