線形回帰は、連続変数と 1 つ以上の独立変数の間の線形関係を予測するために使用される、一般的に使用される機械学習アルゴリズムです。この記事では、線形回帰がどのように機能するかを紹介し、例と Python コードを通じて予測プロセスを示します。
線形回帰は、一連の独立変数 (または特徴) を使用して、連続変数の値を予測します。単線形回帰では、1 つの独立変数のみが従属変数の値を予測しますが、重線形回帰では、複数の独立変数が従属変数の値を予測します。このアルゴリズムは、住宅価格や売上などの連続変数の値を予測するために使用できます。線形回帰は、最適な直線を見つけることで、従属変数の予測と説明を提供できます。
線形回帰の基本的な考え方は、最適な直線を見つけて、予測値と実際の値の間の誤差を最小限に抑えることです。直線は y=mx b の形式で表すことができます。ここで、y は従属変数、x は独立変数、m は傾き、b は切片を表します。
最適な直線を見つけるために、最小二乗法を使用します。この方法の中心的な考え方は、直線までのすべてのデータ ポイントの距離の合計を最小にする直線を見つけることです。
次に例を見てみましょう。住宅面積を表す一連のデータがあるとします。特定の都市と価格。線形回帰を使用して、住宅の面積の価格を予測したいと考えています。家の面積を独立変数 x 、価格を従属変数 y として取ることができます。
まず、必要なライブラリとデータをインポートする必要があります。
import numpy as np import matplotlib.pyplot as plt # 数据 x = np.array([70, 80, 100, 120, 150, 180, 200]) y = np.array([320, 360, 420, 480, 600, 720, 800])
次に、データ図:
plt.scatter(x, y) plt.xlabel('房屋面积(平方米)') plt.ylabel('价格(万元)') plt.show()
散布図から、住宅面積と価格の間には一定の線形関係があることがわかります。これで、線形回帰を使用してデータを当てはめ、新築住宅の平方フィートの価格を予測できるようになりました。
from sklearn.linear_model import LinearRegression # 创建线性回归模型 model = LinearRegression() # 训练模型 model.fit(x.reshape(-1, 1), y) # 预测房屋面积为120平方米的价格 new_x = np.array([120]) predicted_y = model.predict(new_x.reshape(-1, 1)) print(predicted_y) # 输出 [452.85714286]
Scikit-learn ライブラリの LinearRegression モデルを使用して線形回帰モデルを作成し、トレーニング データを使用してそれをトレーニングします。次に、モデルを使用して面積 120 平方メートルの新築住宅の価格を予測したところ、予測結果は 452,857 元でした。
最後に、フィッティング直線と予測結果を描画できます。
# 绘制拟合直线 line_x = np.linspace(50, 220, 100) line_y = model.predict(line_x.reshape(-1, 1)) plt.plot(line_x, line_y, color='r') #绘制预测结果 plt.scatter(new_x, predicted_y, color='g') # 绘制原始数据 plt.scatter(x, y) # 添加标签和标题 plt.xlabel('房屋面积(平方米)') plt.ylabel('价格(万元)') plt.title('房屋面积与价格的线性关系') plt.show()
上の図からわかるように、フィッティング直線はデータによく適合しています。 , そして予測結果は比較的正確です。
この記事では、線形回帰の動作原理を紹介し、実際の例を通じて Python を使用して線形回帰を実行する方法を示します。予測する。線形回帰は、住宅価格の予測や販売予測など、多くの実際的な問題の解決に使用できる、シンプルだが効果的な機械学習アルゴリズムです。実際のアプリケーションでは、特定の問題に応じて適切な特徴とモデルを選択し、より良い予測結果を得るためにデータの前処理とモデルの最適化を実行する必要があります。
以上が線形回帰の例: 連続変数を予測する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。