42章詳細:線形回帰
ナイーブベイズ(「41章 詳細:ナイーブベイズ分類」を参照)が分類の適切な出発点であったように、回帰の適切な出発点は線形回帰です。当てはめが高速である点と、解釈が容易であるため人気があります。線形回帰モデルの最も簡単な形式(すなわち、2次元データに直線を当てはめる)はよく知られていますが、モデルを拡張して、より複雑なデータの振る舞いをモデル化できます。
この章では、まず問題の背後にある数学を学んだ後、より複雑なデータパターンを表すために線形モデルを一般化する方法について説明します。
最初に標準的なモジュールをインポートします。
In [1]: %matplotlib inline import matplotlib.pyplot as plt plt.style.use('seaborn-whitegrid') import numpy as np
42.1 単回帰
最も馴染みの深い線形回帰である、データへの直線の当てはめから始めます。直線の当てはめは、y=ax+bという形のモデルであり、ここでaは傾き(slope)、bは切片(intercept)を表します。
傾きが2で、切片が-5の直線の周りに点在するデータを考えます(図42-1を参照)。
In [2]: rng = np.random.RandomState(1) x = 10 * rng.rand(50) y = 2 * x - 5 + rng.randn(50) plt.scatter(x, y);
図42-2に示すように、scikit-learnのLinearRegression
推定器を使用して、このデータに当てはめた最適な線を作成できます。 ...
Get Pythonデータサイエンスハンドブック 第2版 ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.