机器学习回归算法—岭回归及案例分析
生活随笔
收集整理的這篇文章主要介紹了
机器学习回归算法—岭回归及案例分析
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、回歸算法之嶺回歸
具有L2正則化的線性最小二乘法。嶺回歸是一種專用于共線性數據分析的有偏估計回歸方法,實質上是一種改良的最小二乘估計法,通過放棄最小二乘法的無偏性,以損失部分信息、降低精度為代價獲得回歸系數更為符合實際、更可靠的回歸方法,對病態數據的擬合要強于最小二乘法。當數據集中存在共線性的時候,嶺回歸就會有用。
sklearn.linear_model.Ridge
class sklearn.linear_model.Ridge(alpha=1.0, fit_intercept=True, normalize=False, copy_X=True, max_iter=None, tol=0.001, solver='auto', random_state=None)**""":param alpha:float類型,正規化的程度""" from sklearn.linear_model import Ridge clf = Ridge(alpha=1.0) clf.fit([[0, 0], [0, 0], [1, 1]], [0, .1, 1]))方法
score(X, y, sample_weight=None)
clf.score()屬性
coef_
clf.coef_ array([ 0.34545455, 0.34545455])intercept_
clf.intercept_ 0.13636...
二、嶺回歸案例分析
def linearmodel():"""線性回歸對波士頓數據集處理:return: None"""# 1、加載數據集ld = load_boston()x_train,x_test,y_train,y_test = train_test_split(ld.data,ld.target,test_size=0.25)# 2、標準化處理# 特征值處理std_x = StandardScaler()x_train = std_x.fit_transform(x_train)x_test = std_x.transform(x_test)# 目標值進行處理std_y = StandardScaler()y_train = std_y.fit_transform(y_train)y_test = std_y.transform(y_test)# 3、估計器流程# LinearRegressionlr = LinearRegression()lr.fit(x_train,y_train)# print(lr.coef_)y_lr_predict = lr.predict(x_test)y_lr_predict = std_y.inverse_transform(y_lr_predict)print("Lr預測值:",y_lr_predict)# SGDRegressorsgd = SGDRegressor()sgd.fit(x_train,y_train)# print(sgd.coef_)y_sgd_predict = sgd.predict(x_test)y_sgd_predict = std_y.inverse_transform(y_sgd_predict)print("SGD預測值:",y_sgd_predict)# 帶有正則化的嶺回歸rd = Ridge(alpha=0.01)rd.fit(x_train,y_train)y_rd_predict = rd.predict(x_test)y_rd_predict = std_y.inverse_transform(y_rd_predict)print(rd.coef_)# 兩種模型評估結果print("lr的均方誤差為:",mean_squared_error(std_y.inverse_transform(y_test),y_lr_predict))print("SGD的均方誤差為:",mean_squared_error(std_y.inverse_transform(y_test),y_sgd_predict))print("Ridge的均方誤差為:",mean_squared_error(std_y.inverse_transform(y_test),y_rd_predict))return None總結
以上是生活随笔為你收集整理的机器学习回归算法—岭回归及案例分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python中解决死锁的方法
- 下一篇: 微服务 注册中心的作用_102,谈谈微服