1. 程式人生 > >sklearn中線性迴歸、嶺迴歸、多xiang式迴歸

sklearn中線性迴歸、嶺迴歸、多xiang式迴歸

原文部落格地址:

http://blog.csdn.net/lsldd/article/details/41251583

具體見程式碼

#encoding:utf-8
'''
Created on 2015年10月14日

@author: ZHOUMEIXU204
'''
import matplotlib.pylab as plt
import numpy as np
import scipy as sp
from scipy.stats import norm
from sklearn.pipeline import Pipeline #在linux下處理文字的時候經常使用管道”|”,這裡也可以用管道把前面的幾個步驟串聯起來,相當於管道的意思
from sklearn.linear_model import LinearRegression #普通的線性回顧
from sklearn.preprocessing import PolynomialFeatures  
from sklearn.linear_model import Ridge #嶺迴歸 


''''生成資料'''
x=np.arange(0,1,0.002)
y=norm.rvs(0,size=500,scale=0.1)#生成均值為0 方差為0.1的500個隨機數
y=y+x**2
''''' 均方誤差根 '''  
def rmse(y_test,y):
    return sp.sqrt(sp.mean((y_test-y)**2))
'''計算R square'''
def R2(y_test,y_true):
    return 1-((y_test-y_true)**2).sum()/((y_true-y_true.mean())**2).sum()

'''計算rmse'''
def R22(y_test, y_true):  
    y_mean = np.array(y_true)  
    y_mean[:] = y_mean.mean()  
    return 1 - rmse(y_test, y_true) / rmse(y_mean, y_true) 

plt.scatter(x, y, s=5)
degree=[1,2,5]
y_test=[]
y_test=np.array(y_test)
for  d in degree:
    clf=Pipeline([('poly',PolynomialFeatures(degree=d)),\
                  ('linear',LinearRegression(fit_intercept=False))])
#                 ('linear',Ridge(fit_intercept=False))])  嶺迴歸
    clf.fit(x[:,np.newaxis],y)
    print(u'多項式為第{0}項時的線性迴歸的係數'.format(d))
    
    print(clf.named_steps['linear'].coef_)
    y_test = clf.predict(x[:, np.newaxis]) 
    print('rmse=%.2f, R2=%.2f, R22=%.2f, clf.score=%.2f' %(rmse(y_test, y),R2(y_test, y),R22(y_test, y),clf.score(x[:, np.newaxis], y)))
    plt.plot(x, y_test, linewidth=2)
plt.grid()  
plt.legend(['1','2','1000'], loc='upper left')  
plt.show()





















相關推薦

sklearn線性迴歸迴歸xiang迴歸

原文部落格地址: http://blog.csdn.net/lsldd/article/details/41251583 具體見程式碼 #encoding:utf-8 ''' Created on 2015年10月14日 @author: ZHOUMEIXU204 ''

資料探勘經典演算法:線性迴歸區域性加權迴歸迴歸逐步線性迴歸 sklearn實現

這裡記錄一下關於迴歸方面的知識包括(線性迴歸、區域性加權迴歸、嶺迴歸、逐步線性迴歸)等基礎思想和程式碼實現。以及sklearn的實現方法。(資料來自機器學習實戰第八章) 迴歸:     分類的目標變數是標稱型資料,而回歸可以對連續型資料做預測,同樣也是尋找一條最佳的擬合線

機器學習:線性迴歸迴歸Lasso迴歸

 轉載自:https://blog.csdn.net/hzw19920329/article/details/77200475 線性迴歸作為一種迴歸分析技術,其分析的因變數屬於連續型變數,如果因變數轉變為離散型變數,將轉換為分類問題。迴歸分析屬於有監督學習問題,本部落格將重點回

機器學習筆記之七——邏輯迴歸簡單推導softmax簡單理解以及sklearn邏輯迴歸常用引數解釋

邏輯迴歸 對邏輯迴歸的理解:對線性迴歸的假設函式的 f(x) 又套上了一層sigmoid函式,即g(f(x)). 然後sigmoid函式是長這樣的: 它的影象長這樣: 對於線性迴歸得到的結果,再經過一層sigmoid函式,以x=0為界限,左邊為0,右邊為1,邏輯迴歸就是這樣一個二分類

線性迴歸迴歸Lasso迴歸邏輯迴歸的總結

對於所有的模型和演算法,都有一個目標方程,比較理想的目標方程應該有兩部分構成:損失函式和正則項,一個用來衡量模型的擬合效果,一個用來儘可能保證模型的簡單和穩定: Obj(Θ)=L(Θ)+Ω(Θ)(2)(2)Obj(Θ)=L(Θ)+Ω(Θ) 損失函式: 平方

各種迴歸全解:傳統迴歸邏輯迴歸加權迴歸/核迴歸迴歸廣義線性模型/指數族

2、從‘廣義線性模型(GLM:generalized linear models)’和‘指數族’說起: (1)指數族(the exponential family) 伯努利分佈: 高斯分佈: (2)GLM 3、為什麼sigma函式可以代表概率? 設y只取0,1 4、邏輯迴歸

分別使用普通線性迴歸迴歸lasso迴歸預測鮑魚年齡

1.匯入相關模組 import numpy as np import pandas as pd from pandas import Series,DataFrame #機器學習的普通線性模型、嶺迴歸模型、lasso模型 from sklearn.linea

利用sklearn 線性迴歸模型訓練資料 使用到的庫有numpy pandas matplotlib

** 利用sklearn 中的線性迴歸模型訓練資料 使用到的庫有numpy pandas matplotlib ** import pandas as pd import matplotlib.pyplot as plt filename='ENB2012_data.xl

十大統計技術,包括線性迴歸分類重取樣降維無監督學習等。

統計學習方法的經典研究主題包括: 線性迴歸模型 感知機 k 近鄰法 樸素貝葉斯法 決策樹 Logistic 迴歸與最大熵模型 支援向量機 提升方法 EM 演算法

機器學習實踐(十五)—sklearn之分類演算法-邏輯迴歸精確率召回率ROCAUC

邏輯迴歸雖然名字中帶有迴歸兩字,但它實際是一個分類演算法。 一、邏輯迴歸的應用場景 廣告點選率 是否為垃圾郵件 是否患病 金融詐騙 虛假賬號 看到上面的例子,我們可以發現其中的特點,那就是都屬於兩個類別之間的判斷。 邏輯迴歸就是

Bobo老師機器學習筆記第八課-方差偏差迴歸LASSO迴歸

對誤差分類 問題一、什麼是偏差和方差? 先看下面這幅圖圖: 方差: 都是圍著資料中心的,方差越大則表示距離資料中心分佈的越分散,越小說明越近越集中 偏差: 偏離資料中心, 偏差越大,說明整個資料距離中心越遠,偏差越小,說明距離資料中心越近。 這兩者的關係通常是矛盾的,降低偏

ML之LiR之PLiR:懲罰線性迴歸PLiR演算法簡介分類程式碼實現之詳細攻略

ML之LiR之PLiR:懲罰線性迴歸PLiR演算法簡介、分類、程式碼實現之詳細攻略   PLiR演算法簡介     PLiR演算法分類 1、RiR VS Lasso迴歸        

機器學習cs229——(三)區域性加權迴歸邏輯迴歸感知器牛頓方法廣義線性模型

 首先,我們先來討論一下欠擬合(underfitting)和過擬合(overfitting)問題。比如我們同樣採用線性迴歸來對一組房屋價格和房屋大小的資料進行擬合,第一種情況下我們只選取一個數據特徵(比如房屋大小 x)採用直線進行擬合。第二種情況下選取兩個資料特徵(比如房屋大

sklearn庫:分類迴歸聚類降維模型優化文字預處理實現用例(趕緊收藏)

分類演算法 # knn演算法 from sklearn.neighbors import KNeighborsClassifier knn = KNeighborsClassifier() ''' __init__函式 def __init__(self, n_neighbors=5,

Machine Learning--week3 邏輯迴歸函式(分類)決策邊界邏輯迴歸代價函式分類與(邏輯迴歸線性迴歸的)正則化

Classification It's not a good idea to use linear regression for classification problem. We can use logistic regression algorism, which is a classificati

對極大似然估計梯度下降線性迴歸邏輯迴歸的理解

極大似然 我對極大似然估計條件概率(後驗概率)和先驗概率的的理解:假設一次實驗,可能出現兩種結果,A或者B 總共進行了50次實驗,A出現了20次,B出現了30次,那麼求A的概率p。 問題來了,怎麼求一個合理的p值呢 L表示A出現的概率為p的情況下,進行50次實驗,各種

各種機器學習方法(線性迴歸支援向量機決策樹樸素貝葉斯KNN演算法邏輯迴歸)實現手寫數字識別並用準確率召回率F1進行評估

本文轉自:http://blog.csdn.net/net_wolf_007/article/details/51794254 前面兩章對資料進行了簡單的特徵提取及線性迴歸分析。識別率已經達到了85%, 完成了數字識別的第一步:資料探測。 這一章要做的就各

Ng深度學習筆記 1-線性迴歸監督學習成本函式梯度下降

他講了監督學習的兩類問題,分類和迴歸,並引入了兩個例子。一個講用現有的房屋面積和房價的資料集推算任意房子的價格(可認為是連續的),然後再引入其他模型引數,比如臥室個數等。另一個講用腫瘤的大小來推斷是否為良性或惡性腫瘤,如果引入其他引數,比如腫瘤細胞大小的一致

《Spark機器學習》筆記——Spark分類模型(線性迴歸樸素貝葉斯決策樹支援向量機)

一、分類模型的種類 1.1、線性模型 1.1.1、邏輯迴歸 1.2.3、線性支援向量機 1.2、樸素貝葉斯模型 1.3、決策樹模型 二、從資料中抽取合適的特徵 MLlib中的分類模型通過LabeledPoint(label: Double, features

Learn: OverfittingAndUnderfitting一種緩解方式之決策迴歸設定max_leaf_nodes

過擬合、欠擬合 以決策樹為例,來說。 dataset被劃分到葉子,樹太淺,假如資料集僅被split成了2個groups(劃分的粒度特粗),每個group裡必然特別多的houses。如果樹特別地深,假如資料集被split成了1024個groups(劃分的粒度特粗),葉子特別多,每個葉子