日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:python中Box-Cox變換是什么

概念

1、Box-Cox變換是統(tǒng)計(jì)建模中常用的建模方法,主要用于連續(xù)響應(yīng)變量不滿足正態(tài)分布。

可采用Box-Cox變換。

2、使線性回歸模型在滿足線性、正態(tài)性、獨(dú)立性和方差的同時不丟失信息。

在Box-Cox轉(zhuǎn)換之前,有必要將數(shù)據(jù)歸一化。

實(shí)例

#我們這里是對訓(xùn)練集和測試集一起歸一化,也可以分開進(jìn)行歸一化,(分開)這種方式需要建立訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)分布一直的情況下,建議在數(shù)據(jù)量大的情況下使用。
# 繪圖顯示Box-Cox變換對數(shù)據(jù)分布影響
cols_numeric_left = cols_numeric[0:13]
cols_numeric_right = cols_numeric[13:] #這里是將特征分為兩部分,前13個為第一部分
## Check effect of Box-Cox transforms on distributions of continuous variables
 
train_data_process = pd.concat([train_data_process, train_data['target']], axis=1)
 
fcols = 6
frows = len(cols_numeric_left)
plt.figure(figsize=(4*fcols,4*frows))
i=0
for var in cols_numeric_left:
    dat = train_data_process[[var, 'target']].dropna()
        
    i+=1
    plt.subplot(frows,fcols,i)
    sns.distplot(dat[var] , fit=stats.norm);
    plt.title(var+' Original')
    plt.xlabel('')
        
    i+=1
    plt.subplot(frows,fcols,i)
    _=stats.probplot(dat[var], plot=plt)
    plt.title('skew='+'{:.4f}'.format(stats.skew(dat[var]))) #計(jì)算數(shù)據(jù)集的偏度
    plt.xlabel('')
    plt.ylabel('')
        
    i+=1
    plt.subplot(frows,fcols,i)
    plt.plot(dat[var],dat['target'],'.',alpha=0.5)
    plt.title('corr='+'{:.2f}'.format(np.corrcoef(dat[var],dat['target'])[0][1]))
 
    i+=1
    plt.subplot(frows,fcols,i)
    trans_var, lambda_var = stats.boxcox(dat[var].dropna()+1)
    trans_var = scale_data(trans_var)    
    sns.distplot(trans_var , fit=stats.norm);
    plt.title(var+' Tramsformed')
    plt.xlabel('')
        
    i+=1
    plt.subplot(frows,fcols,i)
    _=stats.probplot(trans_var, plot=plt)
    plt.title('skew='+'{:.4f}'.format(stats.skew(trans_var))) #歸一化后,偏度明顯變小,相關(guān)性變化不大
    plt.xlabel('')
    plt.ylabel('')
        
    i+=1
    plt.subplot(frows,fcols,i)
    plt.plot(trans_var, dat['target'],'.',alpha=0.5)
    plt.title('corr='+'{:.2f}'.format(np.corrcoef(trans_var,dat['target'])[0][1]))

以上就是python中Box-Cox變換的介紹,希望對大家有所幫助。更多Python學(xué)習(xí)指路:創(chuàng)新互聯(lián)python教程

本文教程操作環(huán)境:windows7系統(tǒng)、Python 3.9.1,DELL G3電腦。


本文名稱:創(chuàng)新互聯(lián)Python教程:python中Box-Cox變換是什么
新聞來源:http://www.5511xx.com/article/dhpjpis.html