免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
機(jī)器學(xué)習(xí) | 使用statsmodels和sklearn進(jìn)行回歸分析

記錄一下使用Python進(jìn)行的單變量回歸分析的操作流程。另外推薦一個sklearn機(jī)器學(xué)習(xí)的嗶哩嗶哩視頻(文末閱讀原文,進(jìn)行觀看)。

python不像R中,默認(rèn)的函數(shù)可以做回歸分析lm,可以做方差分析aov,python中進(jìn)行統(tǒng)計分析需要載入外在的包,這里經(jīng)常用到的是statsmodelssklearn包,statsmodels風(fēng)格還是和R語言類似,sklearn則偏向機(jī)器學(xué)習(xí)了,是機(jī)器學(xué)習(xí)的入門包。

「statsmodels包介紹:」

statsmodels官方文檔:https://www.statsmodels.org/stable/

statsmodels主要是偏向傳統(tǒng)統(tǒng)計分析,比如回歸分析,方差分析,時間序列等。

  • 回歸模型:線性回歸 ,通用線性回歸,魯邦線性模型  ,線性混合效應(yīng)模型等
  • 方差分析(ANOVA)
  • 時間序列分析:AR , ARMA , ARIMA , VAR等
  • 非參數(shù)方法:核密度估計 , 核回歸
  • 統(tǒng)計模型結(jié)果可視化

「sklearn包介紹:」

sklearn官方文檔:https://scikit-learn.org/stable/

sklearn 是一個機(jī)器學(xué)習(xí)包,包括各種機(jī)器學(xué)習(xí)的方法。

  • 分類 :SVM , K近鄰 ,隨機(jī)森林 , 邏輯回歸等
  • 回歸 :Lasso ,嶺回歸 等
  • 聚類 :K-means ,譜聚類等
  • 降維 :PCA ,特征選擇 ,矩陣分解等
  • 模型選擇 :網(wǎng)格搜索, 交叉驗證 ,指標(biāo)矩陣
  • 預(yù)處理:特征提取,正態(tài)化

「來自R語言用戶轉(zhuǎn)python數(shù)據(jù)分析的毒打」

?

這毒打甚是酸爽,簡單的回歸分析,R中一行代碼的事情,在python中差點勸退,這是學(xué)藝不精然后丟人現(xiàn)眼的感慨??!用法不太一樣,習(xí)慣很難改,不過隨著python語法的熟悉,套路了解之后,就淡定很多,感覺python進(jìn)行分析時,更偏向底層,R分析時更友好,但是python中的sklearn,通過建立一套規(guī)則,之后無論回歸分析,還是隨機(jī)森林,還是嶺回歸,套路都是一樣的。

?

「sklearn機(jī)器學(xué)習(xí)的一般流程包括:」

  • 數(shù)據(jù)的獲取

  • 特征的提取

  • 特征的選擇

  • 數(shù)據(jù)預(yù)處理

  • 模型的訓(xùn)練

  • 模型的評估

  • 模型的優(yōu)化

  • 模型持久化


「進(jìn)入正題」


這里,使用Python中的statsmodels和sklearn進(jìn)行回歸分析。

1. 數(shù)據(jù)來源:women

women是R中的一個數(shù)據(jù)集,我們把它保存到csv文件中:

> data(women)
> write.csv(women,"women.csv",row.names = F)

「數(shù)據(jù)預(yù)覽:」

2. statsmodels的矩陣的形式

?

statsmodels有兩種方法,一種是通過numpy矩陣操作的形式運算,這里的OLS都是大寫,另一種是formula形式,ols是小寫,風(fēng)格類似R。

?
import pandas as pd
import statsmodels.api as sm
dat = pd.read_csv("women.csv")
dat.head()
dat.describe()

x = dat['height']
X = x.values.reshape(-1,1# 轉(zhuǎn)化為矩陣形式
y = dat['weight']

# 增加常數(shù)項
X1 = sm.add_constant(X)
X1
re = sm.OLS(y,X1).fit() # 注意,這里y在前面,X在后面
print(re.summary())

「代碼思路:」

  • 載入pandas,為了讀取數(shù)據(jù)
  • 載入statsmodels為了分析數(shù)據(jù)
  • 提取height一列,將其變?yōu)榫仃嚨男问?,作為x變量
  • 提取weight一列,作為y變量
  • 增加常數(shù)(截距)
  • 使用OLS進(jìn)行模型擬合
  • 查看結(jié)果

結(jié)果:

結(jié)果可以看出,截距為-87.5167,回歸系數(shù)為3.45,兩者都達(dá)到極顯著水平。R方為0.991,調(diào)和R方為0.990.

3. statsmodels的formula的形式

?

statsmodels也可以使用類似R語言,公式的方法進(jìn)行建模。

?
import statsmodels.formula.api as smf
smf.ols("weight ~ height",data=dat).fit().summary()

結(jié)果:

可以看出,formula和前者的結(jié)果完全一致。

4. sklearn的形式

?

sklearn是非常強(qiáng)大的包,包括很多機(jī)器學(xué)習(xí)的方法,是機(jī)器學(xué)習(xí)的入門包,這里使用其分析回歸分析。

?
from sklearn.linear_model import LinearRegression

mod = LinearRegression()

re = mod.fit(X1,y) # 注意,這里X在前面,y在后面。
re.coef_
re.intercept_

「結(jié)果:」

結(jié)果可以看出,回歸系數(shù)和截距和之前的分析完全一致。

「一個坑:」

statsmodels中,進(jìn)行分析時,都是y變量在前面,X變量在后面,比如:

re = sm.OLS(y,X1).fit() # 注意,這里y在前面,X在后面
smf.ols("weight ~ height",data=dat).fit().summary()

但是sklearn中,X在前面,y在后面,比如:

re = mod.fit(X1,y) # 注意,這里X在前面,y在后面。

5. R語言作為對比

> mod = lm(weight ~ height ,data=women)
> summary(mod)

結(jié)果:

在這里插入圖片描述

可以看出,截距為-87.51667,回歸系數(shù)為3.45,R方為0.991,調(diào)和R方為0.9903,和之前的結(jié)果完全一致。

6. sklearn用于GWAS和GS的實施

sklearn中機(jī)器學(xué)習(xí)的應(yīng)用,非常具有代表性,這里總結(jié)sklearn擬合模型三部曲:

  • 第一步:實例化,建立評估模型對象
  • 第二步:通過模型接口訓(xùn)練模型
  • 第三步:通過模型接口提取需要的信息

「以回歸分析為例,sklearn是這樣做的:」

from sklearn.linear_model import LinearRegression # 載入回歸分析
mod = LinearRegression() # 第一步:實例化,我們后面就可以用mod去建模了
re = mod.fit(X1,y) # 第二步:通過接口,訓(xùn)練模型
re.coef_ # 第三步:提取結(jié)果信息
re.intercept_ # # 第三步:提取結(jié)果信息

上面是回歸分析,也可以很容易的變?yōu)殡S機(jī)森林,決策樹之類的方法,舉一反三的感覺不要太爽喔!

「然后呢?GWAS和GS什么鬼?」

然后我就想到,通過這種形式去將GWAS和GS的分析放進(jìn)去,像GS也包括貝葉斯啊,嶺回歸啊(RRBLUP),參考群,候選群,交叉驗證之類的概念,本質(zhì)上也是機(jī)器學(xué)習(xí)的一種形式,通過這種形式調(diào)用,包括后面什么卷積神經(jīng)網(wǎng)絡(luò)等前沿性的算法考慮在內(nèi),然后封裝成一個庫,對外提供接口API,提供參考群數(shù)據(jù),預(yù)測候選群,然后跑各種各樣的模型,出一個最優(yōu)模型的結(jié)果,前景不要太美好……哈哈哈……

?

我知道,已經(jīng)有不少研究這樣做了,但是想著自己以后能把比較前沿成熟的算法放到自己工作中,感覺好像已經(jīng)跨行成功進(jìn)入人工智能的樣子,套用茂茂的話:“好嗨喲”……

?

7. 怎么能少得了嗶哩嗶哩?

「推薦書籍」,之前寫了一篇西瓜書的讀后感:如何學(xué)習(xí)GWAS以及安利西瓜書,沒有給出書名,差評!這里貼出書名,據(jù)說網(wǎng)上有電子版的,但是對于買書當(dāng)作防身的我,紙質(zhì)書還是更有安全感。

上面這兩本書,我是在嗶哩嗶哩上面,看到這個up主推薦的,她是個妹子,還把課講得這么好,不推薦良心很痛的……

「快來關(guān)注我吧,看我是如何在進(jìn)軍機(jī)器學(xué)習(xí)的路上:」

  • 信心滿滿離開家,
  • 備受打擊咬著牙,
  • 以為堅持能入門,
  • 成功勸退臉被打。 
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
python中三個不常見但是非常有用的數(shù)據(jù)科學(xué)庫
Python機(jī)器學(xué)習(xí):適合新手的8個項目
Python數(shù)模筆記-StatsModels 統(tǒng)計回歸(1)簡介
Python語言下的機(jī)器學(xué)習(xí)庫
Python實現(xiàn)回歸預(yù)測及模型優(yōu)化
Python的統(tǒng)計庫-statsmodels
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服