ホームページ >バックエンド開発 >Python チュートリアル >Python での局所加重回帰の例
Python での局所加重回帰の例
局所加重回帰 (局所加重回帰) は、ノンパラメトリック回帰手法です。従来の回帰手法と比較して、回帰に固定パラメータを使用しませんが、サンプルデータに基づいて適応的にモデル化します。この適応特性により、局所加重回帰は回帰分析や時系列予測などの分野で広く使用されます。
Python では、scikit-learn パッケージのローカル加重散布図平滑化 (LOWESS) アルゴリズムを使用して、ローカル加重回帰分析を実行できます。この記事では、Python を使用して LOWESS アルゴリズムを実装する方法と、デモ分析の例を紹介します。
Python を使用してローカル加重回帰を実装する手順は次のとおりです:
ローカル加重回帰を Python で実装するには、次を使用します。 numpy、pandas、matplotlib.pyplot、sklearn.neighbors などのライブラリをインポートします。
パンダ ライブラリを使用してデータを読み取り、X と y のデータを準備します。このうち、X は独立変数、y は従属変数です。
X と y のデータを標準化します。これにより、データ間の測定値の差異を排除し、モデル化する前にデータをゼロ付近に集中させ、大きさの影響を軽減できます。
sklearn.neighbors ライブラリの LocallyWeightedRegression クラスを使用してモデルを近似します。この方法を使用する場合、帯域幅と重み関数という 2 つのハイパーパラメータを指定する必要があります。ほとんどの場合、帯域幅の値が小さいほど、より正確なモデルが提供されますが、計算コストも高くなります。
local_weighted_regression オブジェクトの予測メソッドを使用して、新しく入力された独立変数に対応する従属変数を予測します。
次に、局所加重回帰の例を見てみましょう。
例 1: 人口データに基づく住宅価格の予測
モデルのフィッティングと予測には、UCI データベースにあるボストンの住宅価格データ セットを使用します。データセットには 506 のサンプルと 13 の独立変数が含まれており、これには一人当たりの都市犯罪率 (CRIM)、建設後の 1940 年以前の自己所有住宅の割合 (ZN)、一酸化窒素濃度 (NOX)、一人当たりの部屋数 (RM) が含まれます。 )待って。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.preprocessing import StandardScaler
from sklearn.neighbors import KNeighborsRegressor
ボストンの住宅価格データ セットの読み取り
data = pd.read_csv('https : //archive.ics.uci.edu/ml/machine-learning-databases/housing/housing.data', header = None, sep = 's ')
X と y
を指定してください#X = data.iloc[:, :13].valuesy = data.iloc[:, 13].values
sc_X = StandardScaler()
sc_y = StandardScaler()XX = sc_X.fit_transform(X)
y = sc_y.fit_transform(y.reshape (-1, 1) ))
データセットをトレーニングセットとテストセットに分割します
from sklearn.model_selection import train_test_split
XX_train, X_test, y_train, y_test = train_test_split(X , y, test_size =0.2、random_state=0)lwr = KNeighborsRegressor(n_neighbors=2 ,weights= 'uniform')
lwr.fit(X_train, y_train)y_pred = lwr.predict(X_test)
y_pred = sc_y.inverse_transform(y_pred)y_test = sc_y.inverse_transform(y_test)
plt.scatter (X_test [:,5], y_pred, color='blue')
plt.xlabel('部屋数')plt.ylabel('価格')
plt.title('価格')
plt.show()
視覚的なグラフィックによると、モデルの予測結果がテスト セットの真の値に非常に近いことがわかります。これは、局所加重回帰モデルが住宅価格を正確に予測できることを示しています。
以上がPython での局所加重回帰の例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。