ライブラリ関連

ライブラリ関連(線形回帰)

線形回帰のプログラムで使用したライブラリのまとめ


1. numpy(NumPy)

import numpy as np

役割:数値計算ライブラリ

  • NumPy は 数値計算や線形代数 を効率的に行うためのライブラリ。
  • 行列演算(ベクトル化)、数値配列(ndarray)を扱う機能 を提供。
  • 線形回帰 では、行列計算(逆行列や転置行列)を扱う際に使われる。

2. pandas(Pandas)

import pandas as pd

役割:データ操作ライブラリ

  • Pandas は データフレーム(表形式データ)の処理 を行うためのライブラリ。
  • CSV や Excel などのファイルを読み込み、データの前処理(欠損値処理、列の選択、フィルタリング)が可能。
  • 線形回帰のデータ分析 において、データの前処理や特徴量選択に活用。

3. seaborn(Seaborn)

import seaborn as sns

役割:データ可視化ライブラリ(統計的なグラフ作成)

  • ペアプロット(pairplot)やヒストグラム(histplot)を用いたデータの可視化 に便利。
  • 線形回帰では、説明変数(特徴量)と目的変数の関係を視覚的に確認 するのに使用。
  • sns.pairplot()変数間の相関を散布図で表示 できる。

4. matplotlib.pyplot(Matplotlib)

import matplotlib.pyplot as plt

役割:グラフ描画ライブラリ

  • データの可視化(折れ線グラフ、ヒストグラム、散布図) に使用。
  • plt.show() を使って Seaborn で描画したプロットを表示可能。
  • 線形回帰では、回帰直線の可視化や学習データの分布確認に活用

5. statsmodels.api(Statsmodels)

import statsmodels.api as sm

役割:統計モデル・回帰分析のライブラリ

  • 線形回帰の詳細な統計情報を提供するライブラリ(p値、F統計量、信頼区間など)。
  • sm.OLS(y, X).fit() を使うと、回帰分析の詳細な結果を出力可能
  • Scikit-learn (sklearn) と異なり、統計的な指標を分析しやすいのがメリット
    • p値(p-value) → 変数の有意性を評価
    • AIC/BIC → モデル選択の評価指標
    • R²値 → 決定係数(モデルの説明力)

6. sklearn.model_selection.train_test_split

from sklearn.model_selection import train_test_split

役割:データの訓練・テスト分割

  • データを学習用(訓練データ)と検証用(テストデータ)に分割 する関数。
  • train_test_split(X, y, test_size=0.4, random_state=1) で 40% をテストデータに設定。
  • 過学習を防ぎ、モデルの汎化性能を評価するために必須

7. sklearn.linear_model.LinearRegression

from sklearn.linear_model import LinearRegression

役割:線形回帰モデルの作成

  • LinearRegression() を使って 線形回帰モデルを作成・学習 する。
  • model.fit(X_train, y_train) で学習、model.predict(X_test) で予測。
  • Scikit-learn の利点:
    • 実装が簡単(fit() メソッドだけで学習)
    • 回帰係数(重み)を自動計算
    • model.score()モデルの精度評価(決定係数 R² の計算) ができる。

8. sklearn.metrics.mean_squared_error, r2_score

from sklearn.metrics import mean_squared_error, r2_score

役割:回帰モデルの評価

  • 回帰モデルの性能を評価する指標 を提供。
  • mean_squared_error()平均二乗誤差(MSE) を算出し、モデルの誤差を測る。
  • r2_score()決定係数 R²(モデルの説明力) を計算し、モデルの適合度を評価。
  • 小さいMSE、大きいR²値を目指すことで、より良い回帰モデルを作成可能

まとめ

ライブラリ目的
numpy数値計算(行列演算、線形代数)
pandasデータ処理(データフレーム、欠損値処理)
seabornデータ可視化(統計的なグラフ作成)
matplotlib.pyplotグラフ描画(折れ線グラフ、ヒストグラム)
statsmodels線形回帰の詳細な統計分析(p値、AIC/BICなど)
sklearn.model_selection.train_test_split訓練データ・テストデータの分割
sklearn.linear_model.LinearRegression線形回帰モデルの作成・学習
sklearn.metrics.mean_squared_error, r2_scoreモデルの評価(MSE、R²値)

結論

データ分析・機械学習に必要なライブラリを網羅
Scikit-learn でモデル作成・評価、Statsmodels で統計解析を実施
データの可視化(Seaborn & Matplotlib)、前処理(Pandas)、数値計算(NumPy)もカバー

線形回帰の実装に必要なライブラリの役割になります