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、总结

  • 相关阅读:
    网络流 讲解
    二分图判定 【模板】
    POJ——T3352 Road Construction
    shell脚本编写-自动部署及监控
    万能头文件
    1284 2 3 5 7的倍数(容斥原理)
    1289 大鱼吃小鱼(栈)
    1305 Pairwise Sum and Divide(数学 ,规律)
    博客达人
    Prim算法---最小生成树
  • 原文地址:https://www.cnblogs.com/dominik/p/13767869.html
Copyright © 2011-2022 走看看