Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ NumPyを使用した線形回帰の構築 | セクション
Pythonによる回帰

bookNumPyを使用した線形回帰の構築

メニューを表示するにはスワイプしてください

単回帰分析の概要と、データに最も適合する直線の求め方についてはすでに理解しています。ここでは、実際のデータセットを用いて線形回帰モデルを構築する全ての手順を確認します。

データの読み込み

例で使用したデータが格納されたファイル simple_height_data.csv があります。このファイルを読み込み、中身を確認します。

123456
import pandas as pd file_link = 'https://codefinity-content-media.s3.eu-west-1.amazonaws.com/b22d1166-efda-45e8-979e-6c3ecfc566fc/simple_height_data.csv' df = pd.read_csv(file_link) # Read the file print(df.head()) # Print the first 5 instances from a dataset
copy

このデータセットには2つの列があります。1つ目は 'Father' で、入力特徴量です。2つ目は 'Height' で、目的変数です。

y 変数に目的変数を、X に特徴量を割り当て、散布図を作成します。

123456
import matplotlib.pyplot as plt X = df['Father'] # Assign the feature y = df['Height'] # Assign the target plt.scatter(X,y) # Build scatterplot plt.show()
copy

パラメータの求め方

NumPy には線形回帰のパラメータを求める便利な関数があります。

線形回帰は次数1の多項式回帰です(多項式回帰については後のセクションで説明します)。そのため、線形回帰のパラメータを取得するには deg=1 を指定する必要があります。
以下はその例です:

12345
import numpy as np beta_1, beta_0 = np.polyfit(X, y, 1) # Get the parameters print('beta_0 is', beta_0) print('beta_1 is', beta_1)
copy
Note
ノート

beta_1, beta_0 = np.polyfit(X,y,1) という構文に馴染みがない場合、これはアンパッキングと呼ばれます。2つの要素を持つイテレータ(例: list、NumPy配列、pandasシリーズ)がある場合、

a, b = my_iterator

は次のコードと同じ意味になります。

a = my_iterator[0]
b = my_iterator[1]

そして、polyfit() 関数の戻り値は2つの値を持つNumPy配列なので、このような書き方が可能です。

予測の実行

パラメータを使用して回帰直線を描画し、新しい変数の予測が可能。

123
plt.scatter(X,y) # Build a scatter plot plt.plot(X, beta_0 + beta_1 * X, color='red') # Plot the line plt.show()
copy

パラメータが得られたので、線形回帰式を用いて新しい値の予測が可能。

123
X_new = np.array([65, 70, 75]) # Feature values of new instances y_pred = beta_0 + beta_1 * X_new # Predict the target print('Predicted y: ', y_pred)
copy

線形回帰のパラメータを取得するのは比較的簡単です。しかし、一部のライブラリでは追加情報も提供されます。

question mark

NumPyの関数を使って単回帰のパラメータを求めることができます。

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 1.  3

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 1.  3
some-alt