3秒でわかる
数値そのものを予測する教師あり学習の手法。売上や価格、気温といった連続した量を、過去のデータから見積もるときに使います。
30秒図解
もう少し詳しく
どういうものか
回帰は、入力となる特徴量から連続した数値を予測する教師あり学習の手法です。予測したい対象が「いくらか」「何度か」「何個か」という量であれば回帰、「どれか」というラベルであれば分類になります。最も基本的な線形回帰は、予測値と実測値の差の二乗の平均(平均二乗誤差)が最小になるよう直線の傾きと切片を決めます。
なぜ必要か
平均や前年比といった単純な集計では、複数の要因が絡む予測に対応できません。家賃を面積だけで見ると駅からの距離が説明できず、距離だけを見ると広さが説明できません。回帰は複数の特徴量それぞれの寄与を係数として同時に推定します。副産物として、どの特徴量が結果をどれだけ動かしているかが係数から読み取れます。
具体例
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_absolute_error, r2_score
model = LinearRegression()
model.fit(X_train, y_train) # X は面積や築年数、y は家賃
pred = model.predict(X_test)
print(model.coef_) # 各特徴量の係数
print(mean_absolute_error(y_test, pred))
print(r2_score(y_test, pred))線形回帰で足りない場合は、リッジ回帰やラッソ回帰で係数を抑えたり、勾配ブースティングで非線形な関係を捉えたりします。
つまずきやすいところ
似た用語との違い
ロジスティック回帰は名前に回帰と付きますが、確率を経由してラベルを当てる分類の手法です。
覚え方
「点の集まりに最もよく沿う線を引く」ことが回帰です。線が引ければ、まだ観測していない位置の値を線から読み取れます。