42章詳細:線形回帰

ナイーブベイズ(「41章 詳細:ナイーブベイズ分類」を参照)が分類の適切な出発点であったように、回帰の適切な出発点は線形回帰です。当てはめが高速である点と、解釈が容易であるため人気があります。線形回帰モデルの最も簡単な形式(すなわち、2次元データに直線を当てはめる)はよく知られていますが、モデルを拡張して、より複雑なデータの振る舞いをモデル化できます。

この章では、まず問題の背後にある数学を学んだ後、より複雑なデータパターンを表すために線形モデルを一般化する方法について説明します。

最初に標準的なモジュールをインポートします。

In [1]: %matplotlib inline
        import matplotlib.pyplot as plt
        plt.style.use('seaborn-whitegrid')
        import numpy as np

42.1 単回帰

最も馴染みの深い線形回帰である、データへの直線の当てはめから始めます。直線の当てはめは、yaxbという形のモデルであり、ここで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-1 線形回帰用のデータ

図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.