Python數(shù)模筆記-Sklearn(4)線性回歸

1、什么是線性回歸糊探?

回歸分析(Regression analysis)是一種統(tǒng)計分析方法挎狸,研究自變量和因變量之間的定量關(guān)系《峡回歸分析不僅包括建立數(shù)學(xué)模型并估計模型參數(shù)锨匆,檢驗數(shù)學(xué)模型的可信度,也包括利用建立的模型和估計的模型參數(shù)進(jìn)行預(yù)測或控制冬筒。按照輸入輸出變量關(guān)系的類型恐锣,回歸分析可以分為線性回歸和非線性回歸。

線性回歸(Linear regression) 假設(shè)樣本數(shù)據(jù)集中的輸出變量(y)與輸入變量(X)存在線性關(guān)系舞痰,即輸出變量是輸入變量的線性組合土榴。線性模型是最簡單的模型,也是非常重要和應(yīng)用廣泛的模型响牛。

如果模型只有一個輸入變量和一個輸出變量玷禽,稱為一元線性模型赫段,可以用一條直線來描述輸出與輸入的關(guān)系,其表達(dá)式是一元一次方程:

y = w0 + w1*x1 + e

如果模型包括兩個或多個輸入變量矢赁,則稱為多元線性模型糯笙,可以用一個平面或超平面來描述輸出與輸入的關(guān)系,其表達(dá)式是多元一次方程:

Y = w0 + w1*x1 + w2*x2+...+ wm*xm + e

采用最小二乘法(Least square method)可以通過樣本數(shù)據(jù)來估計回歸模型的參數(shù)撩银,使模型的輸出與樣本數(shù)據(jù)之間的誤差平方和最小给涕。

回歸分析還要進(jìn)一步分析究竟能不能采用線性回歸模型,或者說線性關(guān)系的假設(shè)是否合理额获、線性模型是否具有良好的穩(wěn)定性够庙?這就需要使用統(tǒng)計分析進(jìn)行顯著性檢驗,檢驗輸入與輸出變量之間的線性關(guān)系是否顯著抄邀,用線性模型來描述它們之間的關(guān)系是否恰當(dāng)耘眨。


2、SKlearn 中的線性回歸方法(sklearn.linear_model)

以機(jī)器學(xué)習(xí)的角度來看撤摸,回歸是廣泛應(yīng)用的預(yù)測建模方法毅桃,線性回歸是機(jī)器學(xué)習(xí)中重要的基礎(chǔ)算法。SKlearn 機(jī)器學(xué)習(xí)工具包提供了豐富的線性模型學(xué)習(xí)方法准夷,最重要和應(yīng)用最廣泛的無疑是普通最小二乘法(Ordinary least squares钥飞,OLS),此外多項式回歸(Polynomial regression)衫嵌、邏輯回歸(Logistic Regression)和嶺回歸(Ridge regression)也較為常用读宙,將在本文及后續(xù)文中介紹。其它方法相對比較特殊楔绞,以下根據(jù)官網(wǎng)介紹給出簡要說明结闸,普通讀者可以略過。

  1. 普通最小二乘法(Ordinary least squares):
    以模型預(yù)測值與樣本觀測值的殘差平方和最小作為優(yōu)化目標(biāo)酒朵。
  2. 嶺回歸(Ridge regression)
    在普通最小二乘法的基礎(chǔ)上增加懲罰因子以減少共線性的影響桦锄,以帶懲罰項(L2正則化)的殘差平方和最小作為優(yōu)化目標(biāo)。在指標(biāo)中同時考慮了較好的學(xué)習(xí)能力以及較小的慣性能量蔫耽,以避免過擬合而導(dǎo)致模型泛化能力差结耀。
  3. Lasso 回歸(Least absolute shrinkage and selection operator)
    在普通最小二乘法的基礎(chǔ)上增加絕對值偏差作為懲罰項(L1正則化)以減少共線性的影響,在擬合廣義線性模型的同時進(jìn)行變量篩選和復(fù)雜度調(diào)整匙铡,適用于稀疏系數(shù)模型图甜。
  4. 多元 Lasso 回歸(Multi-task Lasso)
    用于估計多元回歸稀疏系數(shù)的線性模型。注意不是指多線程或多任務(wù)鳖眼,而是指對多個輸出變量篩選出相同的特征變量(也即回歸系數(shù)整列為 0黑毅,因此該列對應(yīng)的輸入變量可以被刪除)。
  5. 彈性網(wǎng)絡(luò)回歸(Elastic-Net)
    引入L1和L2范數(shù)正則化而構(gòu)成帶有兩種懲罰項的模型钦讳,相當(dāng)于嶺回歸和 Lasso 回歸的組合矿瘦。
  6. Multi-task Elastic-Net
    用于估計多元回歸稀疏系數(shù)線性模型的彈性網(wǎng)絡(luò)回歸方法枕面。
  7. 最小角回歸算法(Least Angle Regression)
    結(jié)合前向梯度算法和前向選擇算法,在保留前向梯度算法的精確性的同時簡化迭代過程匪凡。每次選擇都加入一個與相關(guān)度最高的自變量膊畴,最多 m步就可以完成求解。特別適合于特征維度遠(yuǎn)高于樣本數(shù)的情況病游。
  8. LARS Lasso
    使用最小角回歸算法求解 Lasso模型唇跨。
  9. 正交匹配追蹤法(Orthogonal Matching Pursuit)
    用于具有非零系數(shù)變量數(shù)約束的近似線性模型。在分解的每一步進(jìn)行正交化處理衬衬,選擇刪除與當(dāng)前殘差最大相關(guān)的列买猖,反復(fù)迭代達(dá)到所需的稀疏程度。
  10. 貝葉斯回歸(Bayesian Regression)
    用貝葉斯推斷方法求解的線性回歸模型滋尉,具有貝葉斯統(tǒng)計模型的基本性質(zhì)玉控,可以求解權(quán)重系數(shù)的概率密度函數(shù)∈ㄏВ可以被用于觀測數(shù)據(jù)較少但要求提供后驗分布的問題高诺,例如對物理常數(shù)的精確估計;也可以用于變量篩選和降維碾篡。
  11. 邏輯回歸(Logistic Regression)
    邏輯回歸是一種廣義線性模型虱而,研究順序變量或?qū)傩宰兞孔鳛檩敵龅膯栴},實際是一種分類方法开泽。通過線性模型加Sigmoid映射函數(shù)牡拇,將線性模型連續(xù)型輸出變換為離散值。常用于估計某種事物的可能性穆律,如尋找危險因素惠呼、預(yù)測發(fā)病概率、判斷患病概率峦耘,是流行病學(xué)和醫(yī)學(xué)中最常用的分析方法剔蹋。
  12. 廣義線性回歸(Generalized Linear Regression)
    廣義線性回歸是線性回歸模型的推廣,實際上是非線性模型辅髓。通過單調(diào)可微的聯(lián)結(jié)函數(shù)泣崩,建立輸出變量與輸入變量的線性關(guān)系,將問題簡潔直接地轉(zhuǎn)化為線性模型來處理利朵。
  13. 隨機(jī)梯度下降(Stochastic Gradient Descent)
    梯度下降是一種基于搜索的最優(yōu)化方法,用梯度下降法來求損失函數(shù)最小時的參數(shù)估計值猎莲,適用樣本數(shù)(和特征數(shù))非常非常大的情況绍弟。隨機(jī)梯度下降法在計算下降方向時,隨機(jī)選一個數(shù)據(jù)進(jìn)行計算著洼,而不是掃描全部訓(xùn)練數(shù)據(jù)集樟遣,加快了迭代速度而叼。
  14. 感知機(jī)(Perceptron)
    感知機(jī)是一種適合大規(guī)模學(xué)習(xí)的簡單分類算法。訓(xùn)練速度比SGD稍快豹悬,并且產(chǎn)生的模型更稀疏葵陵。
  15. 被動攻擊算法(Passive Aggressive Algorithms)
    被動攻擊算法是一類用于大規(guī)模學(xué)習(xí)的算法。
  16. 魯棒性回歸(Robustness regression)
    魯棒性回歸的目的是在存在損壞數(shù)據(jù)的情況下擬合回歸模型瞻佛,如存在異常值或錯誤的情況脱篙。
  17. 多項式回歸(Polynomial regression)
    多項式回歸通過構(gòu)造特征變量的多項式來擴(kuò)展簡單的線性回歸模型。例如將特征變量組合成二階多項式伤柄,可以將拋物面擬合到數(shù)據(jù)中绊困,從而具有更廣泛的靈活性和適應(yīng)性。

3适刀、SKlearn 中的最小二乘線性回歸方法

3.1 最小二乘線性回歸類(LinearRegression )

SKlearn 包中的 LinearRegression() 方法秤朗,不宜從字面理解為線性回歸方法, LinearRegression() 僅指基于普通最小二乘法(OLS)的線性回歸方法笔喉。

sklearn.linear_model.LinearRegression 類是 OLS 線性回歸算法的具體實現(xiàn)取视,官網(wǎng)介紹詳見:https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html#sklearn.linear_model.LinearRegression

sklearn.linear_model.LinearRegression()

class sklearn.linear_model.LinearRegression(*, fit_intercept=True, normalize=False, copy_X=True, n_jobs=None, positive=False)

LinearRegression() 類的參數(shù)不多,通常幾乎不需要設(shè)置常挚。

  • fit_intercept:bool, default=True  是否計算截距作谭。默認(rèn)值 True,計算截距待侵。
  • normalize:bool, default=False  是否進(jìn)行數(shù)據(jù)標(biāo)準(zhǔn)化丢早,該參數(shù)僅在 fit_intercept = True 時有效。
  • n_jobs:int, default=None   計算時設(shè)置的任務(wù)數(shù)秧倾,為 n>1和大規(guī)模問題提供加速怨酝。默認(rèn)值 任務(wù)數(shù)為 1。

LinearRegression() 類的主要屬性:

  • coef_:   線性系數(shù)那先,即模型參數(shù) w1... 的估計值
  • intercept_:  截距农猬,即模型參數(shù) w0 的估計值

LinearRegression() 類的主要方法:

  • fit(X,y[,sample_weight])  用樣本集(X, y)訓(xùn)練模型。sample_weight 為每個樣本設(shè)權(quán)重售淡,默認(rèn)None斤葱。
  • get_params([deep])  獲取模型參數(shù)。注意不是指模型回歸系數(shù)揖闸,而是指fit_intercept,normalize等參數(shù)揍堕。
  • predict(X)  用訓(xùn)練的模型預(yù)測數(shù)據(jù)集 X 的輸出。即可以對訓(xùn)練樣本給出模型輸出結(jié)果汤纸,也可以對測試樣本給出預(yù)測結(jié)果衩茸。
  • score(X,y[,sample_weight])  R2 判定系數(shù),是常用的模型評價指標(biāo)贮泞。

3.2 一元線性回歸

LinearRegression 使用例程:

# skl_LinearR_v1a.py
# Demo of linear regression by scikit-learn
# Copyright 2021 YouCans, XUPT
# Crated:2021-05-12
#  -*- coding: utf-8 -*-

import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score, mean_squared_error, mean_absolute_error, median_absolute_error

# 生成測試數(shù)據(jù):
nSample = 100
x = np.linspace(0, 10, nSample)  # 起點為 0楞慈,終點為 10幔烛,均分為 nSample個點
e = np.random.normal(size=len(x))  # 正態(tài)分布隨機(jī)數(shù)
y = 2.36 + 1.58 * x + e  # y = b0 + b1*x1

# 按照模型要求進(jìn)行數(shù)據(jù)轉(zhuǎn)換:輸入是 array類型的 n*m 矩陣,輸出是 array類型的 n*1 數(shù)組
x = x.reshape(-1, 1)  # 輸入轉(zhuǎn)換為 n行 1列(多元回歸則為多列)的二維數(shù)組
y = y.reshape(-1, 1)  # 輸出轉(zhuǎn)換為 n行1列的二維數(shù)組
# print(x.shape,y.shape)

# 一元線性回歸:最小二乘法(OLS)
modelRegL = LinearRegression()  # 創(chuàng)建線性回歸模型
modelRegL.fit(x, y)  # 模型訓(xùn)練:數(shù)據(jù)擬合
yFit = modelRegL.predict(x)  # 用回歸模型來預(yù)測輸出

# 輸出回歸結(jié)果 # YouCans
print('回歸截距: w0={}'.format(modelRegL.intercept_))  # w0: 截距
print('回歸系數(shù): w1={}'.format(modelRegL.coef_))  # w1,..wm: 回歸系數(shù)

# 回歸模型的評價指標(biāo) # XUPT
print('R2 確定系數(shù):{:.4f}'.format(modelRegL.score(x, y)))  # R2 判定系數(shù)
print('均方誤差:{:.4f}'.format(mean_squared_error(y, yFit)))  # MSE 均方誤差
print('平均絕對值誤差:{:.4f}'.format(mean_absolute_error(y, yFit)))  # MAE 平均絕對誤差
print('中位絕對值誤差:{:.4f}'.format(median_absolute_error(y, yFit)))  # 中值絕對誤差

# 繪圖:原始數(shù)據(jù)點囊蓝,擬合曲線
fig, ax = plt.subplots(figsize=(8, 6))
ax.plot(x, y, 'o', label="data")  # 原始數(shù)據(jù)
ax.plot(x, yFit, 'r-', label="OLS")  # 擬合數(shù)據(jù)

ax.legend(loc='best')  # 顯示圖例
plt.title('Linear regression by SKlearn (Youcans)')
plt.show()  # YouCans, XUPT

程序說明:

  1. 線性回歸模型 LinearRegression() 類在模型訓(xùn)練 modelRegL.fit(x, y) 時饿悬,要求輸入 x 和輸出 y 數(shù)據(jù)格式為 array類型的 n*m 矩陣。一元回歸模型 m=1聚霜,也要轉(zhuǎn)換為 n*1 的 array類型:
x = x.reshape(-1, 1)  # 輸入轉(zhuǎn)換為 n行 1列(多元回歸則為多列)的二維數(shù)組
y = y.reshape(-1, 1)  # 輸出轉(zhuǎn)換為 n行1列的二維數(shù)組
  1. LinearRegression() 類提供的模型評價指標(biāo)只有 R2指標(biāo)狡恬,但在 sklearn.metrics 包中提供了均方誤差、平均絕對值誤差和中位絕對值誤差俯萎,例程中給出了其使用方法傲宜。

程序運行結(jié)果:

回歸截距: w0=[2.45152704]
回歸系數(shù): w1=[[1.57077698]]
R2 確定系數(shù):0.9562
均方誤差:0.9620
平均絕對值誤差:0.7905
中位絕對值誤差:0.6732

3.2 多元線性回歸

用 LinearRegression() 解決多元線性回歸問題與一元線性回歸的步驟、參數(shù)和屬性都是相同的夫啊,只是要注意樣本數(shù)據(jù)的格式要求:輸入數(shù)據(jù) X 是 array 類型的 n*m 二維數(shù)組函卒,輸出數(shù)據(jù) y 是 array類型的 n*1 數(shù)組(也可以用 n*k 表示多變量輸出)。
  
問題描述:
  數(shù)據(jù)文件 toothpaste.csv 中收集了 30個月牙膏銷售量撇眯、價格报嵌、廣告費用及同期的市場均價。
 ⌒荛弧(1)分析牙膏銷售量與價格锚国、廣告投入之間的關(guān)系,建立數(shù)學(xué)模型玄坦;
 ⊙(2)估計所建立數(shù)學(xué)模型的參數(shù),進(jìn)行統(tǒng)計分析煎楣;
 〔蜃堋(3)利用擬合模型,預(yù)測在不同價格和廣告費用下的牙膏銷售量择懂。
  需要說明的是喻喳,本文例程并不是問題最佳的求解方法和結(jié)果,只是使用該問題及數(shù)據(jù)示范讀取數(shù)據(jù)文件和數(shù)據(jù)處理的方法困曙。

LinearRegression 使用例程:

# skl_LinearR_v1b.py
# Demo of linear regression by scikit-learn
# v1.0d: 線性回歸模型(SKlearn)求解
# Copyright 2021 YouCans, XUPT
# Crated:2021-05-12

#  -*- coding: utf-8 -*-
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from scipy import stats
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, mean_absolute_error, median_absolute_error


# 主程序
def main():  # 主程序
    # 讀取數(shù)據(jù)文件
    readPath = "../data/toothpaste.csv"  # 數(shù)據(jù)文件的地址和文件名
    dfOpenFile = pd.read_csv(readPath, header=0, sep=",")  # 間隔符為逗號表伦,首行為標(biāo)題行
    dfData = dfOpenFile.dropna()  # 刪除含有缺失值的數(shù)據(jù)
    print(dfData.head())

    # Model 1:Y = b0 + b1*X1 + b2*X2 + e
    # 線性回歸:分析因變量 Y(sales) 與 自變量 x1(diffrence)、x2(advertise) 的關(guān)系
    # 按照模型要求進(jìn)行數(shù)據(jù)轉(zhuǎn)換:輸入是 array類型的 n*m 矩陣慷丽,輸出是 array類型的 n*1 數(shù)組
    feature_cols = ['difference', 'advertise']  # 創(chuàng)建特征列表
    X = dfData[feature_cols]  # 使用列表選擇樣本數(shù)據(jù)的特征子集
    y = dfData['sales']  # 選擇樣本數(shù)據(jù)的輸出變量
    # print(type(X),type(y))
    # print(X.shape, y.shape)
    # 一元線性回歸:最小二乘法(OLS)
    modelRegL = LinearRegression()  # 創(chuàng)建線性回歸模型
    modelRegL.fit(X, y)  # 模型訓(xùn)練:數(shù)據(jù)擬合
    yFit = modelRegL.predict(X)  # 用回歸模型來預(yù)測輸出
    # 輸出回歸結(jié)果
    print("\nModel1: Y = b0 + b1*x1 + b2*x2")
    print('回歸截距: w0={}'.format(modelRegL.intercept_))  # w0: 截距
    print('回歸系數(shù): w1={}'.format(modelRegL.coef_))  # w1,..wm: 回歸系數(shù)
    # 回歸模型的評價指標(biāo)
    print('R2 確定系數(shù):{:.4f}'.format(modelRegL.score(X, y)))  # R2 判定系數(shù)
    print('均方誤差:{:.4f}'.format(mean_squared_error(y, yFit)))  # MSE 均方誤差
    print('平均絕對值誤差:{:.4f}'.format(mean_absolute_error(y, yFit)))  # MAE 平均絕對誤差
    print('中位絕對值誤差:{:.4f}'.format(median_absolute_error(y, yFit)))  # 中值絕對誤差

    # Model 3:Y = b0 + b1*X1 + b2*X2 + b3*X2**2 + e
    # 線性回歸:分析因變量 Y(sales) 與 自變量 x1蹦哼、x2 及 x2平方的關(guān)系
    x1 = dfData['difference']  # 價格差,x4 = x1 - x2
    x2 = dfData['advertise']  # 廣告費
    x5 = x2**2  # 廣告費的二次元
    X = np.column_stack((x1,x2,x5))  # [x1,x2,x2**2]
    # 多元線性回歸:最小二乘法(OLS)
    modelRegM = LinearRegression()  # 創(chuàng)建線性回歸模型
    modelRegM.fit(X, y)  # 模型訓(xùn)練:數(shù)據(jù)擬合
    yFit = modelRegM.predict(X)  # 用回歸模型來預(yù)測輸出
    # 輸出回歸結(jié)果 # YouCans
    print("\nModel3: Y = b0 + b1*x1 + b2*x2 + b3*x2**2")
    print('回歸截距: w0={}'.format(modelRegM.intercept_))  # w0: 截距, YouCans
    print('回歸系數(shù): w1={}'.format(modelRegM.coef_))  # w1,..wm: 回歸系數(shù), XUPT
    # 回歸模型的評價指標(biāo)
    print('R2 確定系數(shù):{:.4f}'.format(modelRegM.score(X, y)))  # R2 判定系數(shù)
    print('均方誤差:{:.4f}'.format(mean_squared_error(y, yFit)))  # MSE 均方誤差
    print('平均絕對值誤差:{:.4f}'.format(mean_absolute_error(y, yFit)))  # MAE 平均絕對誤差
    print('中位絕對值誤差:{:.4f}'.format(median_absolute_error(y, yFit)))  # 中值絕對誤差
    # 計算 F統(tǒng)計量 和 F檢驗的 P值
    m = X.shape[1]
    n = X.shape[0]
    yMean = np.mean(y)
    SST = sum((y-yMean)**2)  # SST: 總平方和
    SSR = sum((yFit-yMean)**2)  # SSR: 回歸平方和
    SSE = sum((y-yFit)**2)  # SSE: 殘差平方和
    Fstats = (SSR/m) / (SSE/(n-m-1))  # F 統(tǒng)計量
    probFstats = stats.f.sf(Fstats, m, n-m-1)  # F檢驗的 P值
    print('F統(tǒng)計量:{:.4f}'.format(Fstats))
    print('FF檢驗的P值:{:.4e}'.format(probFstats))
    
    # 繪圖:原始數(shù)據(jù)點要糊,擬合曲線 #XUPT
    fig, ax = plt.subplots(figsize=(8, 6))  # YouCans, XUPT
    ax.plot(range(len(y)), y, 'b-.', label='Sample')  # 樣本數(shù)據(jù)
    ax.plot(range(len(y)), yFit, 'r-', label='Fitting')  # 擬合數(shù)據(jù)
    ax.legend(loc='best')  # 顯示圖例
    plt.title('Regression analysis with sales of toothpaste by SKlearn')
    plt.xlabel('period')
    plt.ylabel('sales')
    plt.show()

    return

if __name__ == '__main__':
    main()

程序運行結(jié)果:

Model1: Y = b0 + b1*x1 + b2*x2
回歸截距: w0=4.4074933246887875
回歸系數(shù): w1=[1.58828573 0.56348229]
R2 確定系數(shù):0.8860
均方誤差:0.0511
平均絕對值誤差:0.1676
中位絕對值誤差:0.1187

Model3: Y = b0 + b1*x1 + b2*x2 + b3*x2**2
回歸截距: w0=17.324368548878198
回歸系數(shù): w1=[ 1.30698873 -3.69558671  0.34861167]
R2 確定系數(shù):0.9054
均方誤差:0.0424
平均絕對值誤差:0.1733
中位絕對值誤差:0.1570
F統(tǒng)計量:82.9409
F檢驗的P值:1.9438e-13
Sklearn_09.png

程序說明:

  1. 用 LinearRegression() 類處理多元線性回歸問題纲熏,模型對訓(xùn)練樣本數(shù)據(jù)的格式要求為:輸入數(shù)據(jù) X 是 array 類型的 n*m 二維數(shù)組,輸出數(shù)據(jù) y 是 array類型的 n*1 數(shù)組(也可以用 n*k 表示多變量輸出)。例程中給出了兩種數(shù)據(jù)轉(zhuǎn)換的方式:Model 1 從 Pandas 的 dataframe 數(shù)據(jù)轉(zhuǎn)換得到模型要求的 array 類型二維數(shù)組赤套,這在 Pandas 讀取數(shù)據(jù)文件時非常方便;Model3 則用 Numpy 的 np.column_stack 數(shù)組拼接獲得 array 類型二維數(shù)組珊膜。
  2. 本例程的問題和數(shù)據(jù)《Python學(xué)習(xí)筆記-StatsModels 統(tǒng)計回歸(3)模型數(shù)據(jù)的準(zhǔn)備》中相同容握,來自:姜啟源、謝金星《數(shù)學(xué)模型(第 3版)》车柠,高等教育出版社剔氏。
  3. 為了便于與 StatsModels 統(tǒng)計回歸結(jié)果進(jìn)行比較,例程所采用的模型也與該文一致:Model1 中使用特征變量 'difference', 'advertise' 建立線性回歸模型竹祷,Model3 中使用特征變量 'difference', 'advertise' 及 'advertise' 的二次項( x2**2)建立線性回歸模型谈跛。SKlearn 與 StatsModels 對這兩個模型的參數(shù)估計結(jié)果、預(yù)測結(jié)果和 R2確定系數(shù)都完全相同塑陵,表明用 SKlearn 與 StatsModels 工具包都可以實現(xiàn)線性回歸感憾。
  4. StatsModels 工具包提供的模型檢驗的指標(biāo)非常全面、詳細(xì)令花,對模型檢驗和統(tǒng)計分析非常重要阻桅。而 SKlearn 包所提供的統(tǒng)計檢驗指標(biāo)很少,F(xiàn)檢驗兼都、T 檢驗嫂沉、相關(guān)系數(shù)的顯著性檢驗指標(biāo)都沒有谍咆,根本原因在于 SKlearn 是機(jī)器學(xué)習(xí)庫而非統(tǒng)計工具箱庙曙,關(guān)注點是模型精度和預(yù)測性能,而不在于模型的顯著性玫芦。
  5. 為了解決缺少模型顯著性檢驗指標(biāo)的問題慎王,例程中增加了一段 計算 F統(tǒng)計量 和 F檢驗P值 的程序可供參考蚓土。

版權(quán)說明:
  本文內(nèi)容及例程為作者原創(chuàng),并非轉(zhuǎn)載書籍或網(wǎng)絡(luò)內(nèi)容柬祠。
YouCans 原創(chuàng)作品
Copyright 2021 YouCans, XUPT
Crated:2021-05-12

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末北戏,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子漫蛔,更是在濱河造成了極大的恐慌嗜愈,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件莽龟,死亡現(xiàn)場離奇詭異蠕嫁,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)毯盈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進(jìn)店門剃毒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事赘阀∫娌” “怎么了?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵基公,是天一觀的道長幅慌。 經(jīng)常有香客問我,道長轰豆,這世上最難降的妖魔是什么胰伍? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮酸休,結(jié)果婚禮上骂租,老公的妹妹穿的比我還像新娘。我一直安慰自己斑司,他們只是感情好渗饮,可當(dāng)我...
    茶點故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著宿刮,像睡著了一般抽米。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上糙置,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天云茸,我揣著相機(jī)與錄音,去河邊找鬼谤饭。 笑死标捺,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的揉抵。 我是一名探鬼主播亡容,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼冤今!你這毒婦竟也來了闺兢?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤戏罢,失蹤者是張志新(化名)和其女友劉穎屋谭,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體龟糕,經(jīng)...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡桐磁,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了讲岁。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片我擂。...
    茶點故事閱讀 40,030評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡衬以,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出校摩,到底是詐尸還是另有隱情看峻,我是刑警寧澤,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布衙吩,位于F島的核電站备籽,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏分井。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一霉猛、第九天 我趴在偏房一處隱蔽的房頂上張望尺锚。 院中可真熱鬧,春花似錦惜浅、人聲如沸瘫辩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽伐厌。三九已至,卻和暖如春裸影,著一層夾襖步出監(jiān)牢的瞬間挣轨,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工轩猩, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留卷扮,地道東北人。 一個月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓均践,卻偏偏與公主長得像晤锹,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子彤委,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,976評論 2 355

推薦閱讀更多精彩內(nèi)容