自由度調整済み決定係数とは
自由度調整済み決定係数とは、決定係数の欠点である説明変数を増やしてしまうと、数値が意味もなく大きくなる点を改善した手法です。重回帰分析において、変数の数に応じて決定係数が小さくなるように補正されます。
自由度調整済み決定係数を算出する
sklearnには実装されていないため、独自関数を実装するか、もしくはstatsmodels
ライブラリを利用します。
summary関数のAdj. R-squaredの部分を参考にすることが出来ます。
import statsmodels.api as sm
import pandas as pd
from sklearn.datasets import load_boston
boston = load_boston()
x = boston.data
x = pd.DataFrame(x, columns=boston.feature_names)
y = boston.target
y = pd.DataFrame(y, columns=["target"])
df = pd.concat([x, y], axis=1)
x = df[["RM", "AGE", "DIS"]]
# 全要素が1のconst列(切片)を説明変数の先頭に追加
X = sm.add_constant(x)
#モデルの設定
model = sm.OLS(y, X)
# 学習
results = model.fit()
# 結果の表示
print(results.summary())
機械学習や統計を効率よく学ぶには?
機械学習や統計を効率よく学ぶには、普段から機械学習や統計学を用いて業務をしている現役のデータサイエンティストに質問できる環境で学ぶことです。
質問し放題かつ、体系的に学べる動画コンテンツでデータ分析技術を学びたい方は、オンラインで好きな時間に勉強できるAI Academy Bootcampがオススメです。受講料も業界最安値の35,000円(6ヶ月間質問し放題+オリジナルの動画コンテンツ、テキストコンテンツの利用可能)なので、是非ご活用ください。