版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)第4章數(shù)據(jù)預(yù)處理本章內(nèi)容數(shù)據(jù)預(yù)處理的必要性數(shù)據(jù)清洗數(shù)據(jù)集成數(shù)據(jù)標(biāo)準(zhǔn)化數(shù)據(jù)規(guī)約數(shù)據(jù)變換與離散化利用sklearn進(jìn)行數(shù)據(jù)預(yù)處理10十一月20242低質(zhì)量的數(shù)據(jù)導(dǎo)致低質(zhì)量的數(shù)據(jù)挖掘結(jié)果數(shù)據(jù)是數(shù)據(jù)挖掘的目標(biāo)對象和原始資源,對數(shù)據(jù)挖掘最終結(jié)果起著決定性的作用?,F(xiàn)實(shí)世界中的數(shù)據(jù)是多種多樣的,具有不同的特征,這就要求數(shù)據(jù)的存儲采用合適的數(shù)據(jù)類型,并且數(shù)據(jù)挖掘算法的適用性會受到具體的數(shù)據(jù)類型限制。第4章數(shù)據(jù)預(yù)處理1.數(shù)據(jù)預(yù)處理的必要性現(xiàn)實(shí)世界中的數(shù)據(jù)大多都是“臟”的,原始數(shù)據(jù)通常存在著噪聲、不一致、部分?jǐn)?shù)據(jù)缺失等問題。數(shù)據(jù)的不一致各應(yīng)用系統(tǒng)的數(shù)據(jù)缺乏統(tǒng)一的標(biāo)準(zhǔn)和定義,數(shù)據(jù)結(jié)構(gòu)有較大的差異2.噪聲數(shù)據(jù)收集數(shù)據(jù)時很難得到精確的數(shù)據(jù),如數(shù)據(jù)采集設(shè)備故障、數(shù)據(jù)傳輸過程中會出現(xiàn)錯誤或存儲介質(zhì)可能出現(xiàn)的損壞等情況3.缺失值系統(tǒng)設(shè)計時可能存在的缺陷或者在系統(tǒng)使用過程中人為因素的影響10十一月202441.數(shù)據(jù)預(yù)處理的必要性數(shù)據(jù)質(zhì)量要求數(shù)據(jù)挖掘需要的數(shù)據(jù)必須是高質(zhì)量的數(shù)據(jù),即數(shù)據(jù)挖掘所處理的數(shù)據(jù)必須具有準(zhǔn)確性(Correctness)、完整性(Completeness)和一致性(Consistency)等性質(zhì)。此外,時效性(Timeliness)、可信性(Believability)和可解釋性(Interpretability)也會影響數(shù)據(jù)的質(zhì)量。10十一月202452.數(shù)據(jù)清洗現(xiàn)實(shí)世界中的數(shù)據(jù)一般是不完整的、有噪聲和不一致的“臟”數(shù)據(jù),數(shù)據(jù)清理試圖填充缺失的數(shù)據(jù)值、光滑噪聲、識別離群點(diǎn)并糾正數(shù)據(jù)中的不一致。數(shù)據(jù)并不總是完整的引起空缺值的原因設(shè)備故障和其他數(shù)據(jù)不一致可能被刪除數(shù)據(jù)沒有被錄入-------Missingdata需要經(jīng)過推斷而補(bǔ)上10十一月202462.數(shù)據(jù)清洗數(shù)據(jù)清洗方法1.缺失值的處理(1)忽略元組(2)人工填寫缺失值(3)使用一個全局常量填充缺失值(4)使用屬性的中心度量(如均值或中位數(shù))填充缺失值(5)使用與給定元組屬同一類的所有樣本的屬性均值或中位數(shù)(6)使用最可能的值填充缺失值10十一月202472.數(shù)據(jù)清洗2.噪聲數(shù)據(jù)的處理噪聲(Noise)是被測量的變量的隨機(jī)誤差或方差。噪聲的處理方法一般有分箱、回歸和離群點(diǎn)分析等方法。(1)分箱分箱(Binning)方法通過考察數(shù)據(jù)的“近鄰”(即周圍的值)來光滑有序數(shù)據(jù)值。10十一月202482.數(shù)據(jù)清洗2.噪聲數(shù)據(jù)的處理(2)回歸回歸(Regression)用一個函數(shù)擬合數(shù)據(jù)來光滑數(shù)據(jù)。(3)離群點(diǎn)分析離群點(diǎn)分析(OutlierAnalysis)可以通過如聚類的方法來檢測離群點(diǎn)。10十一月202492.數(shù)據(jù)清洗利用Pandas進(jìn)行數(shù)據(jù)清洗:1.缺失值的處理(1)檢測與處理缺失值函數(shù)isnull()可以直接判斷該列中的哪個數(shù)據(jù)為NaN。10十一月202410In[1]:string_data=pd.Series(['aardvark','artichoke',np.nan,'avocado'])print(string_data)string_data.isnull()2.數(shù)據(jù)清洗1.缺失值的處理(2)缺失值的統(tǒng)計利用isnull().sum()統(tǒng)計缺失值10十一月202411In[3]:df=pd.DataFrame(np.arange(12).reshape(3,4),columns=['A','B','C','D'])df.iloc[2,:]=np.nandf[3]=np.nanprint(df)df.isnull().sum()2.數(shù)據(jù)清洗1.缺失值的處理(3)info方法查看缺失值10十一月202412In[4]:()Out[4]:<class'pandas.core.frame.DataFrame'>RangeIndex:3entries,0to2Datacolumns(total5columns):A2non-nullfloat64B2non-nullfloat64C2non-nullfloat64D2non-nullfloat6430non-nullfloat64dtypes:float64(5)memoryusage:200.0bytes2.數(shù)據(jù)清洗1.缺失值的處理(4)刪除缺失值10十一月202413dropna(axis=0,how=‘a(chǎn)ny’,thresh=None,subset=None,
inplace=False)2.數(shù)據(jù)清洗1.缺失值的處理(4)刪除缺失值10十一月202414參數(shù)名稱使用說明axis默認(rèn)為axis=0,當(dāng)某行出現(xiàn)缺失值時,將該行丟棄并返回,當(dāng)axis=1,當(dāng)某列出現(xiàn)缺失值時,將該列丟棄how確定缺失值個數(shù),缺省時how=‘a(chǎn)ny’、how=‘a(chǎn)ny’表明只要某行有缺失值就將該行丟棄,how=‘a(chǎn)ll’表明某行全部為缺失值才將其丟棄thresh閾值設(shè)定,當(dāng)行列中非缺省值的數(shù)量少于給定的值就將該行丟棄subset
inplace部分標(biāo)簽中刪除某行列,如:subset=[’a’,’d’],即丟棄子列ad中含有缺失值的行bool取值,默認(rèn)False,當(dāng)inplace=True,即對原數(shù)據(jù)操作,無返回值2.數(shù)據(jù)清洗1.缺失值的處理(4)刪除缺失值10十一月202415fromnumpyimportnanasNAdata=pd.DataFrame([[1.,5.5,3.],[1.,NA,NA],[NA,NA,NA],
[NA,5.5,3.]])print(data)cleaned=data.dropna()print('刪除缺失值后的:\n',cleaned)刪除缺失值后的:
0
1
20
1.0
5.5
3.0傳入how=‘a(chǎn)ll’將只丟棄全為NA的那些行。2.數(shù)據(jù)清洗1.缺失值的處理(4)刪除缺失值10十一月202416如果用同樣的方式丟棄dataframe的列,只需傳入axis=1即可。【例4-9】dropna中的axis參數(shù)應(yīng)用。In[9]:data=pd.DataFrame([[1.,5.5,NA],[1.,NA,NA],[NA,NA,NA],[NA,5.5,NA]])print(data)data.dropna(axis=1,how='all')2.數(shù)據(jù)清洗1.缺失值的處理(4)刪除缺失值10十一月202417可以?thresh參數(shù),當(dāng)傳入thresh=N時,表示要求一行至少具有N個非NaN才能保留?!纠?-10】dropna中的thresh參數(shù)應(yīng)用。In[10]:df=pd.DataFrame(np.random.randn(7,3))df.iloc[:4,1]=NAdf.iloc[:2,2]=NAprint(df)df.dropna(thresh=2)2.數(shù)據(jù)清洗1.缺失值的處理(5)填充缺失值缺失值所在的特征為數(shù)值型時,通常利用其均值、中位數(shù)和眾數(shù)等描述其集中趨勢的統(tǒng)計量來填充;缺失值所在特征為類別型數(shù)據(jù)時,則選擇眾數(shù)來填充。Pandas庫中提供了缺失值替換的方法fillna。pandas.DataFrame.fillna(value=None,method=None,asxi=None,inplace=False,limit=None)10十一月2024182.數(shù)據(jù)清洗1.缺失值的處理(5)填充缺失值10十一月202419fillna參數(shù)及其說明參數(shù)名稱參數(shù)說明value用于填充缺失值的標(biāo)量值或字典對象method插值方式axis待填充的軸,默認(rèn)axis=0inplace修改調(diào)用者對象而不產(chǎn)生副本limit(對于前向和后向填充)可以連續(xù)填充的最大數(shù)量2.數(shù)據(jù)清洗1.缺失值的處理(5)填充缺失值10十一月202420通過字典形式填充缺失值。In[11]:df=pd.DataFrame(np.random.randn(5,3))df.loc[:3,1]=NAdf.loc[:2,2]=NAprint(df)df.fillna({1:0.88,2:0.66})2.數(shù)據(jù)清洗1.缺失值的處理(5)填充缺失值10十一月202421fillna中method的應(yīng)用。In[12]:df=pd.DataFrame(np.random.randn(6,3))df.iloc[2:,1]=NAdf.iloc[4:,2]=NAprint(df)df.fillna(method='ffill')2.數(shù)據(jù)清洗1.缺失值的處理(5)填充缺失值10十一月202422DataFrame中用均值填充。In[14]:df=pd.DataFrame(np.random.randn(4,3))df.iloc[2:,1]=NAdf.iloc[3:,2]=NAprint(df)df[1]=df[1].fillna(df[1].mean())print(df)2.數(shù)據(jù)清洗1.缺失值的處理(5)填充缺失值10十一月202423replace替換數(shù)據(jù)值。In[15]:data={'姓名':['張三','小明','馬芳','國志'],'性別':['0','1','0','1'],
'籍貫':['北京','甘肅','','上海']}df=pd.DataFrame(data)df=df.replace('','不詳')print(df)2.數(shù)據(jù)清洗1.缺失值的處理(5)填充缺失值10十一月202424replace替換數(shù)據(jù)值。In[16]:df=df.replace(['不詳','甘肅'],['蘭州','蘭州'])print(df)In[17]:df=df.replace({'1':'男','0':'女'})print(df)2.數(shù)據(jù)清洗1.缺失值的處理(5)填充缺失值10十一月202425利用函數(shù)或映射進(jìn)行數(shù)據(jù)轉(zhuǎn)換在數(shù)據(jù)分析中,經(jīng)常需要進(jìn)行數(shù)據(jù)的映射或轉(zhuǎn)換,在Pandas中可以自定義函數(shù),然后通過map方法實(shí)現(xiàn)。data={'姓名':['張三','小明','馬芳','國志'],'性別':['0','1','0','1'],'籍貫':['北京','蘭州','蘭州','上海']}df=pd.DataFrame(data)df['成績']=[58,86,91,78]print(df)defgrade(x):
ifx>=90:
return'優(yōu)'
elif70<=x<90:
return'良'
elif60<=x<70:
return'中'
else:
return'差'df['等級']=df['成績'].map(grade)print(df)2.數(shù)據(jù)清洗3.數(shù)據(jù)異常值檢測異常值是指數(shù)據(jù)中存在的數(shù)值明顯偏離其余數(shù)據(jù)的值。異常值的存在會嚴(yán)重干擾數(shù)據(jù)分析的結(jié)果,因此經(jīng)常要檢驗數(shù)據(jù)中是否有輸入錯誤或含有不合理的數(shù)據(jù)。在利用簡單的數(shù)據(jù)統(tǒng)計方法中一般常用散點(diǎn)圖、箱線圖和3σ法則。10十一月2024262.數(shù)據(jù)清洗3.數(shù)據(jù)異常值檢測1)散點(diǎn)圖方法:10十一月202427In[19]:wdf=pd.DataFrame(np.arange(20),columns=['W'])wdf['Y']=wdf['W']*1.5+2wdf.iloc[3,1]=128wdf.iloc[18,1]=150wdf.plot(kind='scatter',x='W',y='Y')Out[19]:
2.數(shù)據(jù)清洗3.數(shù)據(jù)異常值檢測2)盒圖:利用箱線圖進(jìn)行異常值檢測時,根據(jù)經(jīng)驗,將最大(最?。┲翟O(shè)置為與四分位數(shù)值間距為1.5個IQR(IQR=Q3-Q2)的值,即min=Q1-1.5IQR,max=Q3+1.5IQR,小于min和大于max的值被認(rèn)為是異常值。10十一月2024283.數(shù)據(jù)集成3.數(shù)據(jù)異常值檢測3)3σ法則:若數(shù)據(jù)服從正態(tài)分布,在3σ原則下,異常值被定義為一組測定值中與平均值的偏差超過3倍標(biāo)準(zhǔn)差的值,因為在正態(tài)分布的假設(shè)下,距離平均值3σ之外的值出現(xiàn)的概率小于0.003。因此根據(jù)小概率事件,可以認(rèn)為超出3σ之外的值為異常數(shù)據(jù)。10十一月202429defoutRange(S):
blidx=(S.mean()-3*S.std()>S)|(S.mean()+3*S.std()<S)
idx=np.arange(S.shape[0])[blidx]
outRange=S.iloc[idx]
returnoutRangeoutier=outRange(wdf['Y'])outier3.數(shù)據(jù)集成數(shù)據(jù)集成是將多個數(shù)據(jù)源中的數(shù)據(jù)合并,存放于一個一致的數(shù)據(jù)存儲中。數(shù)據(jù)集成過程中的關(guān)鍵問題1.實(shí)體識別2.數(shù)據(jù)冗余和相關(guān)分析3.元組重復(fù)4.數(shù)據(jù)值沖突檢測與處理10十一月2024303.數(shù)據(jù)集成數(shù)據(jù)集成過程中的關(guān)鍵問題1.實(shí)體識別實(shí)體識別問題是數(shù)據(jù)集成中的首要問題,因為來自多個信息源的現(xiàn)實(shí)世界的等價實(shí)體才能匹配。如數(shù)據(jù)集成中如何判斷一個數(shù)據(jù)庫中的customer_id和另一數(shù)據(jù)庫中的cust_no是指相同的屬性?10十一月2024313.數(shù)據(jù)集成數(shù)據(jù)集成過程中的關(guān)鍵問題2.數(shù)據(jù)冗余和相關(guān)分析冗余是數(shù)據(jù)集成的另一重要問題。如果一個屬性能由另一個或另一組屬性值“推導(dǎo)”出,則這個屬性可能是冗余的。屬性命名不一致也會導(dǎo)致結(jié)果數(shù)據(jù)集中的冗余。10十一月202432有些冗余可以被相關(guān)分析檢測到,對于標(biāo)稱屬性,使用
(卡方)檢驗,對于數(shù)值屬性,可以使用相關(guān)系數(shù)(correlationcoefficient)和協(xié)方差(covariance)評估屬性間的相關(guān)性。3.數(shù)據(jù)集成數(shù)據(jù)集成過程中的關(guān)鍵問題2.數(shù)據(jù)冗余和相關(guān)分析10十一月202433(1)標(biāo)稱數(shù)據(jù)的
相關(guān)檢驗(2)數(shù)值數(shù)據(jù)的相關(guān)系數(shù)(3)數(shù)值數(shù)據(jù)的協(xié)方差3.數(shù)據(jù)集成10十一月202434利用Python計算屬性間的相關(guān)性。In[22]:importpandasaspdimportnumpyasnpa=[47,83,81,18,72,41,50,66,47,20,96,21,16,60,37,59,22,16,32,63]b=[56,96,84,21,87,67,43,64,85,67,68,64,95,58,56,75,6,11,68,63]data=np.array([a,b]).Tdfab=pd.DataFrame(data,columns=['A','B'])#display(dfab)print('屬性A和B的協(xié)方差:',dfab.A.cov(dfab.B))print('屬性A和B的相關(guān)系數(shù):',dfab.A.corr(dfab.B))Out[22]:屬性A和B的協(xié)方差:310.2157894736842屬性A和B的相關(guān)系數(shù):0.499248710465243943.數(shù)據(jù)集成數(shù)據(jù)集成過程中的關(guān)鍵問題3.元組重復(fù)除了檢查屬性的冗余之外,還要檢測重復(fù)的元組,如給定唯一的數(shù)據(jù)實(shí)體,存在兩個或多個相同的元組。利用Pandas.DataFrame.duplicates方法檢測重復(fù)的數(shù)據(jù)利用Pandas.DataFrame.drop_duplicates方法刪除重復(fù)的數(shù)據(jù)10十一月2024353.數(shù)據(jù)集成數(shù)據(jù)集成過程中的關(guān)鍵問題4.數(shù)據(jù)值沖突檢測與處理數(shù)據(jù)集成還涉及數(shù)據(jù)值沖突的檢測與處理。例如不同學(xué)校的學(xué)生交換信息時,由于不同學(xué)校有各自的課程計劃和評分方案,同一門課的成績所采取的評分分?jǐn)?shù)也有可能不同,如十分制或百分制。10十一月2024363.數(shù)據(jù)集成2.利用Pandas合并數(shù)據(jù)在實(shí)際的數(shù)據(jù)分析中,可能有不同的數(shù)據(jù)來源,因此,需要對數(shù)據(jù)進(jìn)行合并處理。(1)merge數(shù)據(jù)合并merge(left,right,how='inner',on=None,left_on=None,right_on=None,left_index=False,right_index=False,sort=False,suffixes=('_x','_y'),copy=True,indicator=False,validate=None)10十一月2024373.數(shù)據(jù)集成2.利用Pandas合并數(shù)據(jù)(1)merge數(shù)據(jù)合并10十一月202438參數(shù)使用說明left參與合并的左側(cè)DataFrameright參與合并的右側(cè)DataFramehow連接方法:inner,left,right,outeron用于連接的列名left_on左側(cè)DataFrame中用于連接鍵的列right_on右側(cè)DataFrame中用于連接鍵的列l(wèi)eft_index左側(cè)DataFrame中行索引作為連接鍵right_index右側(cè)DataFrame中行索引作為連接鍵sort合并后會對數(shù)據(jù)排序,默認(rèn)為Truesuffixes修改重復(fù)名3.數(shù)據(jù)集成2.利用Pandas合并數(shù)據(jù)(1)merge數(shù)據(jù)合并10十一月202439price=pd.DataFrame({'fruit':['apple','grape','orange','orange'],'price':[8,7,9,11]})amount=pd.DataFrame({'fruit':['apple','grape','orange'],'amout':[5,11,8]})display(price,amount,pd.merge(price,amount))3.數(shù)據(jù)集成2.利用Pandas合并數(shù)據(jù)(1)merge數(shù)據(jù)合并10十一月202440merge合并時默認(rèn)是內(nèi)連接(inner),即返回交集。通過how參數(shù)可以選擇連接方法:左連接(left),右連接(right)和外連接(outer)。【例4-25】左連接。display(pd.merge(price,amount,how='left'))3.數(shù)據(jù)集成2.利用Pandas合并數(shù)據(jù)(1)merge數(shù)據(jù)合并10十一月202441也可以通過多個鍵進(jìn)行合并?!纠?-27】merge通過多個鍵合并。In[27]:left=pd.DataFrame({'key1':['one','one','two'],
'key2':['a','b','a'],'value1':range(3)})right=pd.DataFrame({'key1':['one','one','two','two'],
'key2':['a','a','a','b'],'value2':range(4)})display(left,right,pd.merge(left,right,on=['key1','key2'],how='left'))3.數(shù)據(jù)集成2.利用Pandas合并數(shù)據(jù)(2)concat數(shù)據(jù)連接如果要合并的DataFrame之間沒有連接鍵,就無法使用merge方法。pandas中的concat方法可以實(shí)現(xiàn),默認(rèn)情況下會按行的方向堆疊數(shù)據(jù)。如果在列向上連接設(shè)置axis=1即可。10十一月2024423.數(shù)據(jù)集成2.利用Pandas合并數(shù)據(jù)(2)concat數(shù)據(jù)連接10十一月202443兩個DataFrame的數(shù)據(jù)連接。In[30]:data1=pd.DataFrame(np.arange(6).reshape(2,3),columns=list('abc'))data2=pd.DataFrame(np.arange(20,26).reshape(2,3),columns=list('ayz'))data=pd.concat([data1,data2],axis=0)display(data1,data2,data)3.數(shù)據(jù)集成2.利用Pandas合并數(shù)據(jù)(2)concat數(shù)據(jù)連接10十一月202444指定索引順序。In[31]:importpandasaspds1=pd.Series([0,1],index=['a','b'])s2=pd.Series([2,3,4],index=['a','d','e'])s3=pd.Series([5,6],index=['f','g'])s4=pd.concat([s1*5,s3],sort=False)s5=pd.concat([s1,s4],axis=1,sort=False)s6=pd.concat([s1,s4],axis=1,join='inner',sort=False)display(s5,s6)3.數(shù)據(jù)集成2.利用Pandas合并數(shù)據(jù)(3)combine_first合并數(shù)據(jù)10十一月202445如果需要合并的兩個DataFrame存在重復(fù)索引,則使用merge和concat都無法正確合并,此時需要使用combine_first方法。4.數(shù)據(jù)標(biāo)準(zhǔn)化不同特征之間往往具有不同的量綱,由此造成數(shù)值間的差異很大。因此為了消除特征之間量綱和取值范圍的差異可能會造成的影響,需要對數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理。數(shù)據(jù)標(biāo)準(zhǔn)化(DataStandardization)一直是一項重要的處理流程。一般將數(shù)據(jù)標(biāo)準(zhǔn)化放在預(yù)處理過程中,作為一項通用技術(shù)而存在。機(jī)器學(xué)習(xí)中有部分模型是基于距離度量進(jìn)行模型預(yù)測和分類的。由于距離對特征之間不同取值范圍非常敏感,所以基于距離讀量的模型是十分有必要做數(shù)據(jù)標(biāo)準(zhǔn)化處理的。10十一月2024464.數(shù)據(jù)標(biāo)準(zhǔn)化離差標(biāo)準(zhǔn)化數(shù)據(jù)離差標(biāo)準(zhǔn)化是對原始數(shù)據(jù)所做的一種線性變換,將原始數(shù)據(jù)的數(shù)值映射到[0,1]區(qū)間。消除大單位和小單位的影響(消除量綱)變異大小的差異影響;10十一月202447defMinMaxScale(data):
data=(data-data.min())/(data.max()-data.min())
returndatax=np.array([[1.,-1.,
2.],[2.,
0.,
0.],[0.,
1.,-1.]])print('原始數(shù)據(jù)為:\n',x)x_scaled=MinMaxScale(x)print('標(biāo)準(zhǔn)化后矩陣為:\n',x_scaled,end='\n')原始數(shù)據(jù)為:
[[1.-1.
2.]
[2.
0.
0.]
[0.
1.-1.]]標(biāo)準(zhǔn)化后矩陣為:
[[0.666666670.
1.
]
[1.
0.333333330.33333333]
[0.333333330.666666670.
]]4.數(shù)據(jù)標(biāo)準(zhǔn)化標(biāo)準(zhǔn)差標(biāo)準(zhǔn)化數(shù)據(jù)標(biāo)準(zhǔn)差標(biāo)準(zhǔn)化又稱零均值標(biāo)準(zhǔn)化或z分?jǐn)?shù)標(biāo)準(zhǔn)化,是當(dāng)前使用最廣泛的數(shù)據(jù)標(biāo)準(zhǔn)化方法。經(jīng)過該方法處理的數(shù)據(jù)均值為0,標(biāo)準(zhǔn)化為1。消除單位影響及自身變量的差異。10十一月202448defStandardScale(data):
data=(data-data.mean())/data.std()
returndatax=np.array([[1.,-1.,
2.],[2.,0.,0.],[0.,1.,-1.]])print('原始數(shù)據(jù)為:\n',x)x_scaled=StandardScale(x)print('標(biāo)準(zhǔn)化后矩陣為:\n',x_scaled,end='\n')5.數(shù)據(jù)歸約
數(shù)據(jù)歸約(DataReduction)用于在盡可能保持?jǐn)?shù)據(jù)完整性的基礎(chǔ)上得到數(shù)據(jù)的歸約表示。也就是說,在歸約后的數(shù)據(jù)集上挖掘?qū)⒏行?,而且仍會產(chǎn)生相同或相似的分析結(jié)果。數(shù)據(jù)歸約包括維歸約、數(shù)量歸約和數(shù)據(jù)壓縮。10十一月2024495.數(shù)據(jù)規(guī)約
維歸約的思路是減少所考慮的隨機(jī)變量或?qū)傩缘膫€數(shù),用的方法有屬性子集選擇、小波變換和主成分分析。屬性子集選擇是一種維歸約方法,其中不相關(guān)、弱相關(guān)或冗余的屬性或維被檢測或刪除。而后兩種方法是原始數(shù)據(jù)變換或投影到較小的空間。10十一月2024505.數(shù)據(jù)規(guī)約
維歸約1.屬性子集選擇屬性子集選擇通過刪除不相關(guān)或者冗余屬性(或維)減少數(shù)據(jù)量。(1)逐步向前選擇由空屬性集作為規(guī)約集的起始,迭代確定原屬性集中最好的屬性并添加到規(guī)約集中。(2)逐步向后刪除由整個屬性集開始,在每次迭代中刪除尚在屬性集中最差的屬性。10十一月2024515.數(shù)據(jù)規(guī)約-維歸約
維歸約1.屬性子集選擇(3)逐步向前選擇和逐步向后刪除的組合每一步選擇一個最好的屬性,并在屬性中刪除一個最差的屬性。(4)決策樹歸納由給定的數(shù)據(jù)構(gòu)造決策樹,不出現(xiàn)在樹中的所有屬性假定是不相關(guān)的,出現(xiàn)在樹中的屬性形成規(guī)約后的屬性子集。這些方法的約束條件可以不同,可以使用一個度量閾值決定何時終止屬性選擇過程。10十一月2024525.數(shù)據(jù)規(guī)約-維歸約
傅里葉變換-理解傅里葉變換,需要理解兩個核心概念:時域:時間和振幅的關(guān)系圖,橫坐標(biāo)是時間,縱坐標(biāo)是振幅。頻域:頻率和振幅的關(guān)系圖,橫坐標(biāo)是頻率,縱坐標(biāo)是振幅。任何「周期(T)「函數(shù),都可以使用」傅立葉級數(shù)展開法」將它們分解為有限或無限個不同「頻率」不同「振幅」的正弦函數(shù)的疊加。傅里葉級數(shù)展開公式如下:如果把函數(shù)看成離散點(diǎn)構(gòu)成的向量,那么就是這些正弦函數(shù)「基向量」的線性組合。10十一月2024535.數(shù)據(jù)規(guī)約-維歸約
傅里葉變換10十一月2024545.數(shù)據(jù)歸約-維歸約
小波變換小波變換是一種新的變換分析方法,它繼承和發(fā)展了短時傅立葉變換局部化的思想,同時又克服了窗口大小不隨頻率變化等缺點(diǎn),能夠提供一個隨頻率改變的“時間-頻率”窗口,是進(jìn)行信號時頻分析和處理的理想工具。10十一月2024555.數(shù)據(jù)歸約-維歸約
img=cv.imread("lena_color_256.tif")img=cv.resize(img,(448,448))#將多通道圖像變?yōu)閱瓮ǖ缊D像img=cv.cvtColor(img,cv2.COLOR_BGR2GRAY).astype(np.float32)plt.figure('二維小波一級變換')coeffs=pywt.dwt2(img,'haar')cA,(cH,cV,cD)=coeffs#將各個子圖進(jìn)行拼接,最后得到一張圖AH=np.concatenate([cA,cH+255],axis=1)VD=np.concatenate([cV+255,cD+255],axis=1)img=np.concatenate([AH,VD],axis=0)#顯示為灰度圖plt.axis('off')plt.imshow(img,'gray')plt.title('result')plt.show()10十一月2024565.數(shù)據(jù)歸約-維歸約
主成分分析主成分分析(PrincipalComponentAnalysis,PCA)又稱Karhunen-Loeve或K-L方法,用于搜索k個最能代表數(shù)據(jù)的n維正交向量,是最常用的一種降維方法。PCA通常用于高維數(shù)據(jù)集的探索與可視化,還可以用作數(shù)據(jù)壓縮和預(yù)處理等,在數(shù)據(jù)壓縮消除冗余和數(shù)據(jù)噪音消除等領(lǐng)域也有廣泛的應(yīng)用。PCA的主要目的是找出數(shù)據(jù)里最主要的方面代替原始數(shù)據(jù)。10十一月2024575.數(shù)據(jù)歸約-維歸約
主成分分析10十一月2024585.數(shù)據(jù)歸約-維歸約
主成分分析Sklearn實(shí)現(xiàn)鳶尾花數(shù)據(jù)的
降維,將原來的4維降為2維10十一月202459importmatplotlib.pyplotaspltfromsklearn.decompositionimportPCAfromsklearn.datasetsimportload_irisdata=load_iris()y=data.targetx=data.datapca=PCA(n_components=2)#加載PCA算法,設(shè)置降維后主成分?jǐn)?shù)目為2reduced_x=pca.fit_transform(x)#對樣本進(jìn)行降維print(reduced_x)5.數(shù)據(jù)歸約-數(shù)量歸約
數(shù)量歸約數(shù)量歸約(NumerosityReduction)用替代的、較小的數(shù)據(jù)表示形式換原始數(shù)據(jù)。這些技術(shù)可以是參數(shù)或者非參數(shù)的。對于參數(shù)方法而言,使用模型估計數(shù)據(jù),使得一般只需要存放模型參數(shù)而不是實(shí)際數(shù)據(jù)(離群點(diǎn)需存放),如回歸和對數(shù)-線性模型。存放數(shù)據(jù)規(guī)約表示的非參數(shù)方法包括:直方圖、聚類、抽樣和數(shù)據(jù)立方體聚類10十一月2024601.回歸和對數(shù)線性模型回歸和對數(shù)模型可以用來近似給定的數(shù)據(jù)?;貧w和對數(shù)線性模型可以用來近似給定的數(shù)據(jù)。在(簡單)線性模型中,對數(shù)據(jù)擬合得到一條直線,多元回歸是(簡單)線性回歸的擴(kuò)展,用兩個或多個自變量的線性函數(shù)對因變量y建模。11/10/20245.數(shù)據(jù)歸約-數(shù)量歸約
2.直方圖將直方圖中桶的個數(shù)由觀測值的數(shù)量n減少到k個,使數(shù)據(jù)變成一塊一塊的呈現(xiàn)。直方圖使用分箱來近似數(shù)據(jù)分布。用直方圖規(guī)約數(shù)據(jù),就是將直方圖中的桶的個數(shù)由觀測值的數(shù)量n減少到k個,使得數(shù)據(jù)變成一塊一塊的呈現(xiàn)。11/10/20245.數(shù)據(jù)歸約-數(shù)量歸約
3.聚類聚類后用簇中的代表代替實(shí)際數(shù)據(jù)。聚類算法是將數(shù)據(jù)劃分為簇,使得簇內(nèi)的數(shù)據(jù)對象盡可能“相似”,而簇間的數(shù)據(jù)對象盡可能“相異”。11/10/20245.數(shù)據(jù)歸約-數(shù)量歸約
4.抽樣通過選取隨機(jī)樣本子集,實(shí)現(xiàn)小數(shù)據(jù)代表大數(shù)據(jù)的過程。抽樣過程包括簡單隨機(jī)抽樣、簇抽樣和分層抽樣。5.數(shù)據(jù)立方體聚類數(shù)據(jù)立方體是將細(xì)粒度的屬性聚集到粗粒度的屬性。11/10/20245.數(shù)據(jù)歸約-數(shù)量歸約
5.數(shù)據(jù)歸約-數(shù)據(jù)壓縮
數(shù)據(jù)壓縮(DataCompression)使用變換,一遍得到原始數(shù)據(jù)的歸約或“壓縮”表示。如果數(shù)據(jù)可以在壓縮后的數(shù)據(jù)重構(gòu),而不損失信息,則該數(shù)據(jù)歸約被稱為無損的。如果是近似重構(gòu)原數(shù)據(jù),稱為有損的?;谛〔ㄗ儞Q的數(shù)據(jù)壓縮是一種非常重要的有損壓縮方法。10十一月2024656.數(shù)據(jù)變換和離散化在數(shù)據(jù)預(yù)處理過程中,不同的數(shù)據(jù)適合不同的數(shù)據(jù)挖掘算法。數(shù)據(jù)變換是一種將原始數(shù)據(jù)變換成較好數(shù)據(jù)格式的方法,以便作為數(shù)據(jù)處理前特定數(shù)據(jù)挖掘算法的輸入。數(shù)據(jù)離散化是一種數(shù)據(jù)變換的形式。數(shù)據(jù)變換的策略:1.光滑2.屬性構(gòu)造3.聚集4.規(guī)范化5.離散化6.由標(biāo)稱數(shù)據(jù)產(chǎn)生概念分層10十一月202466數(shù)據(jù)變換與離散化數(shù)據(jù)變換的策略1.光滑數(shù)據(jù)光滑用于去掉數(shù)據(jù)中的噪聲。常用的數(shù)據(jù)平滑方法有分箱、回歸和聚類等方法。2.屬性構(gòu)造屬性構(gòu)造是通過由給定的屬性構(gòu)造新的屬性并添加到屬性集中,以幫助數(shù)據(jù)挖掘。3.聚集聚集是對數(shù)據(jù)進(jìn)行匯總或聚集。例如,可以聚集日銷售數(shù)據(jù),計算月和年銷售量。通常,聚集用來為多個抽象層的數(shù)據(jù)分析構(gòu)造數(shù)據(jù)立方體。10十一月202467數(shù)據(jù)變換與離散化數(shù)據(jù)變換的策略4.規(guī)范化把屬性數(shù)據(jù)按比例縮放,使之落入一個特定的小區(qū)間,如-1.0~1.0。(1)最小-最大規(guī)范化10十一月202468(2)z分?jǐn)?shù)規(guī)范化(3)小數(shù)定標(biāo)數(shù)據(jù)變換與離散化數(shù)據(jù)變換的策略5.離散化10十一月202469(1)通過分箱離散化分箱是一種基于指定的箱個數(shù)的自頂向下的分裂技術(shù)。例如使用等寬或等頻分箱,然后用箱均值或中位數(shù)替換箱中的每個值,可以將屬性值離散化。分箱對用戶指定的箱個數(shù)很敏感,也易受離群點(diǎn)的影響。數(shù)據(jù)變換與離散化數(shù)據(jù)變換的策略5.離散化10十一月202470(2)通過直方圖離散化直方圖把屬性A的值劃分為不相交的區(qū)間,稱作桶或箱??梢允褂酶鞣N劃分規(guī)則定義直方圖。如在等寬直方圖中,將值分成相等分區(qū)或區(qū)間。直方圖分析算法可以遞歸地用于每個分區(qū),自動地產(chǎn)生多級概念分層,直到達(dá)到一個預(yù)先設(shè)定的概念層數(shù),過程終止。(3)通過聚類、決策樹和相關(guān)分析離散化數(shù)據(jù)變換與離散化6.由標(biāo)稱數(shù)據(jù)產(chǎn)生概念分層對于標(biāo)稱數(shù)據(jù),概念分層可以基于模式定義以及每個屬性的不同值個數(shù)產(chǎn)生。使用概念分層變換數(shù)據(jù)使得較高層的知識模式可以被發(fā)現(xiàn)。它允許在多個抽象層進(jìn)行挖掘。10十一月202471Python數(shù)據(jù)變換與離散化
1.數(shù)據(jù)規(guī)范化數(shù)據(jù)分析的預(yù)處理除了數(shù)據(jù)清洗、數(shù)據(jù)合并和標(biāo)準(zhǔn)化之外,還包括數(shù)據(jù)變換的過程,如類別型數(shù)據(jù)變換和連續(xù)型數(shù)據(jù)的離散化。10十一月202472a=[47,83,81,18,72,41]b=[56,96,84,21,87,67]data=np.array([a,b]).Tdfab=pd.DataFrame(data,columns=['A','B'])print('最小-最大規(guī)范化:\n',(dfab-dfab.min())/(dfab.max()-dfab.min()))print('零均值規(guī)范化:\n',(dfab-dfab.mean())/dfab.std())Python數(shù)據(jù)變換與離散化2.類別型數(shù)據(jù)的啞變量處理類別型數(shù)據(jù)是數(shù)據(jù)分析中十分常見的特征變量,但是在進(jìn)行建模時,Python不能像R那樣去直接處理非數(shù)值型的變量,因此往往需要對這些類別變量進(jìn)行一系列轉(zhuǎn)換,如啞變量。啞變量(DummyVariables)用以反映質(zhì)的屬性的一個人工變量,是量化了的自變量,通常取值為0或1。Python中利用pandas庫中的get_dummies函數(shù)對類別型特征進(jìn)行啞變量處理。10十一月202473Python數(shù)據(jù)變換與離散化2.類別型數(shù)據(jù)的啞變量處理10十一月202474Python數(shù)據(jù)變換與離散化
3.連續(xù)型變量的離散化數(shù)據(jù)分析和統(tǒng)計的預(yù)處理階段,經(jīng)常會碰到年齡、消費(fèi)等連續(xù)型數(shù)值,而很多模型算法尤其是分類算法都要求數(shù)據(jù)是離散的,因此要將數(shù)值進(jìn)行離散化分段統(tǒng)計,提高數(shù)據(jù)區(qū)分度。常用的離散化方法主要有等寬法、等頻法和聚類分析法。(1)等寬法Pandas提供了cut函數(shù),可以進(jìn)行連續(xù)型數(shù)據(jù)的等寬離散化。cut函數(shù)的基礎(chǔ)語法格式為:pandas.cut(x,bins,right=True,labels=None,retbins=False,precision=3)10十一月202475Python數(shù)據(jù)變換與離散化
3.連續(xù)型變量的離散化(1)等寬法10十一月202476參數(shù)名稱說明x接收array或Series,待離散化的數(shù)據(jù)bins接收int、list、array和tuple。若為int指離散化后的類別數(shù)目,若為序列型則表示進(jìn)行切分的區(qū)間,每兩個數(shù)的間隔為一個區(qū)間right接收boolean,代表右側(cè)是否為閉區(qū)間,默認(rèn)為Truelabels接收list、array,表示離散化后各個類別的名稱,默認(rèn)為空retbins接收boolean,代表是否返回區(qū)間標(biāo)簽,默認(rèn)為Falseprecision接收int,顯示標(biāo)簽的精度,默認(rèn)為3Python數(shù)據(jù)變換與離散化
3.連續(xù)型變量的離散化(1)等寬法10十一月202477np.random.seed(666)score_list=np.random.randint(25,100,size=10)print('原始數(shù)據(jù):\n',score_list)bins=[0,59,70,80,100]score_cut=pd.cut(score_list,bins)print(pd.value_counts(score_cut))#統(tǒng)計每個區(qū)間人數(shù)原始數(shù)據(jù):
[27705587959855618676](80,100]
4(0,59]
3(59,70]
2(70,80]
1dtype:int64Python數(shù)據(jù)變換與離散化(2)等頻法cut函數(shù)雖然不能夠直接實(shí)現(xiàn)等頻離散化,但可以通過定義將相同數(shù)量的記錄放進(jìn)每個區(qū)間。10十一月202478In[40]:defSameRateCut(data,k):k=2w=data.quantile(np.arange(0,1+1.0/k,1.0/k))data=pd.cut(data,w)returndataresult=SameRateCut(pd.Series(score_list),3)result.value_counts()Out[40]:(73.0,97.0]5(27.0,73.0]4dtype:int64Python數(shù)據(jù)變換與離散化(3)聚類分析法一維聚類的方法包括兩步,首先將連續(xù)型數(shù)據(jù)用聚類算法(如K-Means算法等)進(jìn)行聚類,然后處理聚類得到的簇,為合并到一個簇的連續(xù)型數(shù)據(jù)做同一標(biāo)記。聚類分析的離散化需要用戶指定簇的個數(shù),用來決定產(chǎn)生的區(qū)間數(shù)。10十一月2024797.利用sklearn進(jìn)行數(shù)據(jù)預(yù)處理10十一月202480利用sklearn進(jìn)行數(shù)據(jù)預(yù)處理1.數(shù)據(jù)標(biāo)準(zhǔn)化、平均去除和方差縮放sklearn.preprocessing.scale(X,axis=0,with_mean=True,with_std=True,copy=True)10十一月202481參數(shù)數(shù)據(jù)類型意義X{array-like,sparsematrix}以此數(shù)據(jù)為中心縮放axisint(0bydefault)軸向設(shè)置,置為0,獨(dú)立的標(biāo)準(zhǔn)化每個特征,1則標(biāo)準(zhǔn)化每個樣本(即行)with_meanboolean,Truebydefault如果是True,縮放之前先中心化數(shù)據(jù)with_stdboolean,Truebydefault如果是True,以單位方差法縮放數(shù)據(jù)(或者等價地,單位標(biāo)準(zhǔn)差)copyboolean,optional,defaultTrueFalse:原地執(zhí)行行標(biāo)準(zhǔn)化并避免復(fù)制利用sklearn進(jìn)行數(shù)據(jù)預(yù)處理10十一月202482數(shù)據(jù)的標(biāo)準(zhǔn)化、方差和標(biāo)準(zhǔn)差求解示例In[41]:fromsklearnimportpreprocessingimportnumpyasnpX_train=np.array([[1.,-2.,1.5],[2.2,1.3,0.5],[0.3,1.,-1.5]])X_scaled=preprocessing.scale(X_train)print('X_train:\n',X_train)print('X_scaled:\n',X_scaled)print('均值:',X_scaled.mean(axis=0))print('單位方差:',X_scaled.std(axis=0))Out[41]:X_train:[[1.-2.1.5][2.21.30.5][0.31.-1.5]]X_scaled:[[-0.21242964-1.409427721.06904497][1.317063790.805387270.26726124][-1.104634150.60404045-1.33630621]]均值:
[0.0.0.]單位方差:
[1.1.1.]利用sklearn進(jìn)行數(shù)據(jù)預(yù)處理1.數(shù)據(jù)標(biāo)準(zhǔn)化、平均去除和方差縮放preprocessing模塊還提供了一個實(shí)用程序類StandardScaler,用以實(shí)現(xiàn)TransformerAPI計算訓(xùn)練集的均值和標(biāo)準(zhǔn)差,以便以后能夠在測試集上重新應(yīng)用相同的轉(zhuǎn)換。sklearn的轉(zhuǎn)換器通常與分類器、回歸器或者其他的評估器組合以構(gòu)建復(fù)合評估器。10十一月202483利用sklearn進(jìn)行數(shù)據(jù)預(yù)處理10十一月202484數(shù)據(jù)的標(biāo)準(zhǔn)化計算示例。In[42]:scaler=preprocessing.StandardScaler().fit(X_train)print('scaler.scale_:',scaler.scale_)print('scaler.mean_:',scaler.mean_)scaler.transform(X_train)Out[42]:scaler.scale_:[0.784573491.489966441.24721913]scaler.mean_:[1.166666670.10.16666667]array([[1.,-2.,1.5],[2.2,1.3,0.5],[0.3,1.,-1.5]])利用sklearn進(jìn)行數(shù)據(jù)預(yù)處理10十一月202485然后在新數(shù)據(jù)上使用Scaler實(shí)例來像在訓(xùn)練集上那樣轉(zhuǎn)換它:In[42]X_test=[[-1.,1.,0.]]scaler.transform(X_test)Out[42]array([[-2.76158538,0.60404045,-0.13363062]])通過將with_mean=False或with_std=False傳遞給StandardScaler的構(gòu)造函數(shù),可以禁用置中或縮放。利用sklearn進(jìn)行數(shù)據(jù)預(yù)處理2.特征縮放另一種標(biāo)準(zhǔn)化是特征縮放,使其介于給定的最小最大值之間,通常是0-1之間,或者使每個特征的最大絕對值被縮放當(dāng)單位大小。(1)一般特征值縮放sklearn.preprocessing.minmax_scale(X,feature_range=(0,1),axis=0,copy=True)min_max_scaler=preprocessing.minmax_scale()X_train_minmax=min_max_scaler.fit_transform(X_train)min_max_scaler.transform(X_test)10十一月20248611/10/2024利用sklearn進(jìn)行數(shù)據(jù)預(yù)處理數(shù)據(jù)的縮放示例。In[43]:X_train=np.array([[1.,-1.,2.],[2.,0.,0.],[0.,1.,-1.]])min_max_scaler=preprocessing.MinMaxScaler()X_train_minmax=min_max_scaler.fit_transform(X_train)print('原數(shù)據(jù):\n',X_train)print('歸一化:\n',X_train_minmax)然后可以在新數(shù)據(jù)上使用Scaler實(shí)例來像在培訓(xùn)集上那樣轉(zhuǎn)換它:In[43]:X_test=np.array([[-3.,-1.,4.]])X_test_minmax=min_max_scaler.transform(X_test)print('測試數(shù)據(jù):',X_test)print('歸一化的測試數(shù)據(jù):\n',X_test_minmax)print('',min_max_scaler.scale_)print('',min_max_scaler.min_)11/10/2024利用sklearn進(jìn)行數(shù)據(jù)預(yù)處理利用MaxAbsScaler將數(shù)據(jù)歸一化。In[44]:X_train=np.array([[1.,-1.,2.],[2.,0.,0.],[0.,1.,-1.]])max_Abs_scaler=preprocessing.MaxAbsScaler()X_train_minmax=max_Abs_scaler.fit_transform(X_train)print('原數(shù)據(jù):\n',X_train)print('歸一化:\n',X_train_minmax)然后可以在新數(shù)據(jù)上使用Scaler實(shí)例來像在訓(xùn)練集上那樣轉(zhuǎn)換它:In[44]:X_test=np.array([[-3.,-1.,4.]])X_test_maxAbs=max_Abs_scaler.transform(X_test)print('測試數(shù)據(jù):',X_test)print('歸一化的測試數(shù)據(jù):',X_test_maxAbs)利用sklearn進(jìn)行數(shù)據(jù)預(yù)處理2.特征縮放(2)縮放稀疏數(shù)據(jù)將稀疏數(shù)據(jù)居中會破壞數(shù)據(jù)中的稀疏結(jié)構(gòu),但是縮放稀疏矩陣又是有意義的,特別是當(dāng)特征處于不同的縮放比例。
MaxAbsScaler和maxabs_scale適用于縮放稀疏數(shù)據(jù)。10十一月202489利用sklearn進(jìn)行數(shù)據(jù)預(yù)處理2.特征縮放(3)帶異常值的縮放數(shù)據(jù)如果您的數(shù)據(jù)包含許多異常值,則使用數(shù)據(jù)的平均值和方差進(jìn)行縮放可能不會很好地工作。10十一月202490利用sklearn進(jìn)行數(shù)據(jù)預(yù)處理3.非線性變換非線性變換有分位數(shù)轉(zhuǎn)換和冪轉(zhuǎn)換。分位數(shù)變換和冪變換都是基于特征的單調(diào)變換,從而保持每個特征值的秩。分位數(shù)變換將所有特征置于相同的期望分布中。冪變換是一類參數(shù)變換,其目的是將數(shù)據(jù)從任意分布映射到接近高斯分布的位置。(1)映射到均勻分布QuantileTransformer()和QuantileTransform提供非參數(shù)轉(zhuǎn)換,將數(shù)據(jù)映射到0~1的均勻分布。10十一月20249111/10/2024利用sklearn進(jìn)行數(shù)據(jù)預(yù)處理數(shù)據(jù)映射到值介于0和1之間的均勻分布In[45]:fromsklearn.datasetsimportload_irisfromsklearn.model_selectionimporttrain_test_splitX,y=load_iris(return_X_y=True)X_train,X_test,y_train,y_test=train_test_split(X,y,random_state=0)quantile_transformer=preprocessing.QuantileTransformer(random_state=0)X_train_trans=quantile_transformer.fit_transform(X_train)X_test_trans=quantile_transformer.transform(X_test)print(np.percentile(X_train[:,0],[0,25,50,75,100]))#此特征對應(yīng)于以厘米為單位的萼片長度。print(np.percentile(X_train_trans[:,0],[0,25,50,75,100]))Out[45]:[4.35.15.86.57.9][0.0.238738740.509009010.743243241.]利用sklearn進(jìn)行數(shù)據(jù)預(yù)處理3.非線性變換(2)映射到高斯分布將數(shù)據(jù)映射到盡可能接近高斯分布,以穩(wěn)定方差和最小化偏度。使用Box-cox變換將對數(shù)正態(tài)分布繪制的樣本映射到正態(tài)分布示例。10十一月20249311/10/2024利用sklearn進(jìn)行數(shù)據(jù)預(yù)處理使用Box-Cox將從對數(shù)正態(tài)分布繪制的樣本映射到正態(tài)分布的示例。In[46]:pt=preprocessing.PowerTransformer(method='box-cox',standardize=False)X_lognormal=np.random.RandomState(616).lognormal(size=(3,3))print(X_lognormal)T=pt.fit_transform(X_lognormal)print(T)Out[46]:[[1.283317181.180922280.84160269][0.942932791.609608360.3879099][1.352356680.217156731.09977091]][[0.490243490.17881995-0.1563781][-0.051028920.58863195-0.57612414][0.69420009-0.848578220.10051454]]利用sklearn進(jìn)行數(shù)據(jù)預(yù)處理4.正則化將單
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度龍門吊設(shè)備銷售合同附帶操作手冊及培訓(xùn)4篇
- 2025版鋁塑門窗新型節(jié)能技術(shù)引進(jìn)與轉(zhuǎn)化合同4篇
- 二零二五版企業(yè)融資擔(dān)保保函擔(dān)保合同3篇
- 二零二五年餐飲連鎖品牌加盟管理合同3篇
- 二零二五年度頂級品牌贊助合作協(xié)議3篇
- 2025年度羅絲與劉陽的離婚協(xié)議及婚后財產(chǎn)管理協(xié)議4篇
- 2025年度銷售人員勞動合同范本(快速消費(fèi)品銷售代表)2篇
- 2025年水泥行業(yè)人才培養(yǎng)購銷補(bǔ)充協(xié)議3篇
- 二零二五版房屋租賃期限合同專業(yè)版3篇
- 二零二五版綠色辦公區(qū)使用權(quán)采購合同
- 職中英語期末考試質(zhì)量分析
- 中國的世界遺產(chǎn)智慧樹知到答案章節(jié)測試2023年遼寧科技大學(xué)
- 急診與災(zāi)難醫(yī)學(xué)課件 03 呼吸困難大課何琳zhenshi
- 急性腹瀉與慢性腹瀉修改版
- 先天性肌性斜頸的康復(fù)
- 《國際市場營銷》案例
- GB/T 37518-2019代理報關(guān)服務(wù)規(guī)范
- GB/T 156-2017標(biāo)準(zhǔn)電壓
- PPT溝通的藝術(shù)課件
- 內(nèi)科學(xué):巨幼細(xì)胞性貧血課件
- 暑假家校聯(lián)系情況記錄表
評論
0/150
提交評論