zoukankan      html  css  js  c++  java
  • 4.回归类算法目标值连续型

    一、线性回归

    1.api

    2、性能评估

     

    3、案例(波士顿房价预测)

    代码:

    from sklearn.datasets import load_boston
    from sklearn.model_selection import train_test_split
    from sklearn.preprocessing import StandardScaler
    from sklearn.linear_model import LinearRegression,SGDRegressor
    from sklearn.metrics import mean_squared_error
    
    
    def demo():
        #获取数据
        boston = load_boston()
    
        #数据划分
        x_train, x_test, y_train, y_test = train_test_split(boston.data, boston.target, train_size=0.25)
    
        #分别对特征值和目标值标准化
        s1 = StandardScaler()
        x_train = s1.fit_transform(x_train)
        x_test = s1.transform(x_test)
    
        s2 = StandardScaler()
        y_train = s2.fit_transform(y_train.reshape(-1, 1)) #reshape为二维数组-1为不知样本数量,1为每个样本有一个目标值
        y_test = s2.transform(y_test.reshape(-1, 1))
    
        #---------使用正规方程预测-------------
        lr = LinearRegression()
        lr.fit(x_train, y_train)
        print(lr.coef_)  #计算出来的w值
        y_lr_predict = lr.predict(x_test)
        print("每个样本的预测价格:",s2.inverse_transform(y_lr_predict))
        print("正规方程的均方误差:",mean_squared_error(s2.inverse_transform(y_test),s2.inverse_transform(y_lr_predict)))
    
        # ---------使用梯度下降预测-------------
        sgd = SGDRegressor()
        sgd.fit(x_train, y_train)
        print(sgd.coef_)  # 计算出来的w值
        y_sgd_predict = s2.inverse_transform(sgd.predict(x_test))
        print("每个样本的预测价格:", y_sgd_predict)
        print("梯度下降的均方误差:", mean_squared_error(s2.inverse_transform(y_test),y_sgd_predict))
    
    
    if __name__ == "__main__":
        demo()

    4、正规方程和梯度下降区别

     

    5、过拟合和欠拟合

     

    6、正则化与岭回归

     

     代码

     # ---------使用岭回归预测-------------
        rg = Ridge(alpha=1.0) #alpha可以交叉验证调优
        rg.fit(x_train, y_train)
        print(rg.coef_)  # 计算出来的w值
        y_rg_predict = s2.inverse_transform(rg.predict(x_test))
        print("每个样本的预测价格:", y_rg_predict)
        print("岭回归的均方误差:", mean_squared_error(s2.inverse_transform(y_test),y_rg_predict))

    7、总结

    当样本数据量大时使用梯度下降,当数据量小时,比较岭回归和正规方程使用。

    二、逻辑回归(解决二分类问题)

    1、api

     

    2、应用场景

    3、公式

    4、案例

     

    5、总结

  • 相关阅读:
    主成分分析(PCA)原理及R语言代写实现及分析实例
    R语言代写实现向量自回归VAR模型
    python代写在Keras中使用LSTM解决序列问题
    python代写使用MongoDB,Seaborn和Matplotlib文本分析和可视化API数据
    jl1.如何设置元素的宽高包含元素的边框和内边距
    51.纯 CSS 创作一个雷达扫描动画
    50.1扩展之小球摆动
    50.纯 CSS 创作一个永动的牛顿摆
    4.HTML+CSS制作个月亮
    49.纯 CSS 创作一支诱人的冰棍
  • 原文地址:https://www.cnblogs.com/linfinity/p/13767869.html
Copyright © 2011-2022 走看看