シンプルで粗製の理解と機械学習の線形回帰(VII)の実装:ボストン住宅価格の見通し

直線回帰

学習目標

  • 線形回帰の実装プロセスにおける所有権
  • アプリケーションの線形回帰やSGDRegressor回帰予測を実現
  • 私たちは、評価基準を知っていると数式回帰アルゴリズム
  • underfitting原因と解決策を知っている過剰適合
  • 私たちは、原則リッジ回帰と線形回帰の違いを知っています
  • アプリケーションリッジ回帰予測を実現します
  • アプリケーションは、保存と読み込みモデルを達成JOBLIB

2.7ケース:ボストン住宅価格の見通し

ここに画像を挿入説明

  • データ・プレゼンテーション

チェーンが失敗した[画像ダンプ、発信局は、直接アップロードダウン画像を保存することが推奨され、セキュリティチェーン機構を有していてもよい(IMG-x0ToRgCJ-1583245183925)(../画像/%E6%88%BF%E4%BB%B7%E6 %95%B0%E6%8D%AE%E9%9B%86%E4%BB%8B%E7%BB%8D.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ew3VVu5s-1583245183926)(../images/%E5%B1%9E%E6%80%A7.png)]

これらの特性を考えると、専門家は、プロパティ結果の価格に影響を与えるようになってきています。私たちは、あなただけのこれらの機能を使用する必要があり、機能を探求するのに便利であるかどうか、この段階でする必要はありません。バックは、私たちが自分自身を見つけるために必要な機能の多くを定量化します

1つの分析

リターンの大きさの間でデータの不整合が、結果は大きなインパクトにつながります。これは、正規化行う必要があります。

  • 正規化されたデータを分割
  • 回帰予測
  • の効果を評価するための線形回帰アルゴリズム

2リターン性能評価

平均二乗誤差(平均二乗誤差)MSE)評価メカニズム:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vofC3ZUK-1583245183926)(../images/%E7%BA%BF%E6%80%A7%E5%9B%9E%E5%BD%92%E8%AF%84%E4%BC%B0.png)]

注:予測値としてYI、Yが真の値であります

  • sklearn.metrics.mean_squared_error(y_true、y_pred)
    • リターンロスの平均二乗誤差
    • y_true:真の値
    • y_pred:予測値
    • 戻り値:浮動小数点の結果

コード3

def linear_model1():
    """
    线性回归:正规方程
    :return:None
    """
    # 1.获取数据
    data = load_boston()

    # 2.数据集划分
    x_train, x_test, y_train, y_test = train_test_split(data.data, data.target, random_state=22)

    # 3.特征工程-标准化
    transfer = StandardScaler()
    x_train = transfer.fit_transform(x_train)
    x_test = transfer.fit_transform(x_test)

    # 4.机器学习-线性回归(正规方程)
    estimator = LinearRegression()
    estimator.fit(x_train, y_train)

    # 5.模型评估
    # 5.1 获取系数等值
    y_predict = estimator.predict(x_test)
    print("预测值为:\n", y_predict)
    print("模型中的系数为:\n", estimator.coef_)
    print("模型中的偏置为:\n", estimator.intercept_)

    # 5.2 评价
    # 均方误差
    error = mean_squared_error(y_test, y_predict)
    print("误差为:\n", error)


def linear_model2():
    """
    线性回归:梯度下降法
    :return:None
    """
    # 1.获取数据
    data = load_boston()

    # 2.数据集划分
    x_train, x_test, y_train, y_test = train_test_split(data.data, data.target, random_state=22)

    # 3.特征工程-标准化
    transfer = StandardScaler()
    x_train = transfer.fit_transform(x_train)
    x_test = transfer.fit_transform(x_test)

    # 4.机器学习-线性回归(特征方程)
    estimator = SGDRegressor(max_iter=1000)
    estimator.fit(x_train, y_train)

    # 5.模型评估
    # 5.1 获取系数等值
    y_predict = estimator.predict(x_test)
    print("预测值为:\n", y_predict)
    print("模型中的系数为:\n", estimator.coef_)
    print("模型中的偏置为:\n", estimator.intercept_)

    # 5.2 评价
    # 均方误差
    error = mean_squared_error(y_test, y_predict)
    print("误差为:\n", error)

また、学習率を変更しようとすることができます

estimator = SGDRegressor(max_iter=1000,learning_rate="constant",eta0=0.1)

この時点で、私たちは学習率、より良い値を見つけるために、パラメータを調整することができます。

596元記事公開 ウォンの賞賛790 ビューに10万+を

おすすめ

転載: blog.csdn.net/qq_35456045/article/details/104642992