機械学習の分野では、線形回帰が一般的に使用される方法です。多変数線形回帰は、1 つ以上の独立変数と従属変数の間の線形関係を予測できる手法で、通常、不動産や株価などの市場動向を予測するために使用されます。
Python は、学習、作成、デバッグが簡単な非常に人気のあるプログラミング言語です。 Python では、Scikit-learn ライブラリを使用して多変数線形回帰モデルを簡単に実装できます。
この記事では、住宅価格予測の例を通して、Python による多変数線形回帰を紹介します。
ライブラリとデータのインポート
多変数線形回帰モデルを実装するには、いくつかの Python ライブラリをインポートする必要があります:
import pandas as pd import numpy as np import matplotlib.pyplot as plt from sklearn.linear_model import LinearRegression from sklearn.model_selection import train_test_split from sklearn.metrics import mean_squared_error
ここで使用されるデータは、ボストンから取得したものです。 Kaggle ウェブサイトの不動産データセット。 Pandas ライブラリの read_csv 関数を使用して、データ ファイルからデータを読み取ることができます。
data = pd.read_csv('Boston.csv')
データの探索と視覚化
モデルを構築する前に、データを探索し、各ディストリビューションを理解する必要があります。特徴と特徴間の関係の説明。
Pandas ライブラリの description 関数と corr 関数を使用して、データの特徴分布と特徴間の相関関係を理解できます。このうち、corr 関数は、各特徴と他の特徴の間の相関係数行列を返します。
print(data.describe()) print(data.corr())
Matplotlib ライブラリを使用してデータを視覚化することもできます。たとえば、2 つの特徴間の散布図を描画します。
plt.scatter(data['RM'], data['Price']) plt.title('House Price vs Number of Rooms') plt.xlabel('Number of Rooms') plt.ylabel('Price') plt.show()
データの前処理とモデルのトレーニング
多変量線形回帰モデルをトレーニングするには、データを 2 つの部分に分割する必要があります。トレーニングセットとテストセット。 Scikit-learn ライブラリの train_test_split 関数を使用して、データ セットをトレーニング セットとテスト セットにランダムに分割できます。
X = data.drop(['Price'], axis=1) y = data['Price'] X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
次に、Scikit-learn ライブラリの LinearRegression 関数を使用して初期化できます。多変数線形回帰モデルを作成し、トレーニング セットを使用してモデルに適合します。
model = LinearRegression() model.fit(X_train, y_train)
モデルの評価と予測
モデルのパフォーマンスを評価するには、テスト セットを使用して住宅を予測できます。価格を計算し、平均分散 (平均二乗誤差 (MSE)) を使用して、予測結果と実際の結果の差を測定します。 Scikit-learn ライブラリの means_squared_error 関数を使用して、予測結果の平均分散を計算できます。
y_pred = model.predict(X_test) mse = mean_squared_error(y_test, y_pred) print(mse)
平均分散の値が小さい場合、モデルの予測結果がより正確であることを意味します。
最後に、このモデルを使用して新築住宅の価格を予測できます。たとえば、部屋が 6 つ、バスルームが 2 つあり、ビジネス地区から 7.5 マイル離れた住宅の価格を予測したいとします。これらの特徴の値をモデルに入力し、モデルの予測関数を使用して家の価格を予測できます。
new_data = np.array([[6, 2, 4.5, 0, 0.4, 6, 79, 6.1, 5, 331, 17, 385, 11.3]]) new_prediction = model.predict(new_data) print(new_prediction)
この家の予測価格は約 239,000 ドルです。
概要
この記事では、Scikit-learn ライブラリの LinearRegression 関数を使用して、Python で多変数線形回帰モデルを実装する方法を紹介しました。ボストンの不動産データ セットを例として使用し、データのインポート、探索、視覚化、前処理、モデルのトレーニング、評価、予測の手順を説明します。この記事が、読者が Python の多変数線形回帰法をよりよく習得するのに役立つことを願っています。
以上がPython での多変数線形回帰の例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。