目次
ライブラリ関連(線形回帰)
線形回帰のプログラムで使用したライブラリのまとめ
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)もカバー
線形回帰の実装に必要なライブラリの役割になります。