標准化和歸一化(綜合)


part1:

【轉】https://blog.csdn.net/weixin_40165004/article/details/89080968

Weka數據預處理(一)

對於數據挖掘而言,我們往往僅關注實質性的挖掘算法,如分類、聚類、關聯規則等,而忽視待挖掘數據的質量,但是高質量的數據才能產生高質量的挖掘結果,否則只有"Garbage in garbage out"了。保證待數據數據質量的重要一步就是數據預處理(Data Pre-Processing),在實際操作中,數據准備階段往往能占用整個挖掘過程6~8成的時間。本文就weka工具中的數據預處理方法作一下介紹。

 

Weka的數據預處理又叫數據過濾,他們可以在weka.filters中找到。根據過濾算法的性質,可以分為有監督的(SupervisedFilter)和無監督的(UnsupervisedFilter)。對於前者,過濾器需要設置一個類屬性,要考慮數據集中類的屬性及其分布,以確定最佳的容器的數量和規模;而后者類的屬性可以不存在。同時,這些過濾算法又可歸結為基於屬性的(attribute)和基於實例的(instance)。基於屬性的方法主要是用於處理列,例如,添加或刪除列;而基於實例的方法主要是用於處理行,例如,添加或刪除行。

數據過濾主要解決以下問題(老生常談的):

數據的缺失值處理、標准化、規范化和離散化處理。

數據的缺失值處理:weka.filters.unsupervised.attribute.ReplaceMissingValues。對於數值屬性,用平均值代替缺失值,對於nominal屬性,用它的mode(出現最多的值)來代替缺失值。

標准化(standardize):類weka.filters.unsupervised.attribute.Standardize。標准化給定數據集中所有數值屬性的值到一個0均值和單位方差的正態分布

規范化(Nomalize):類weka.filters.unsupervised.attribute.Normalize。規范化給定數據集中的所有數值屬性值,類屬性除外。結果值默認在區間[0,1],但是利用縮放和平移參數,我們能將數值屬性值規范到任何區間。如:但scale=2.0,translation=-1.0時,你能將屬性值規范到區間[-1,+1]。

離散化(discretize):類weka.filters.supervised.attribute.Discretize和weka.filters.unsupervised.attribute.Discretize。分別進行監督和無監督的數值屬性的離散化,用來離散數據集中的一些數值屬性到分類屬性。


part2:

【轉】https://blog.csdn.net/u014381464/article/details/81101551

規范化:
針對數據庫
規范化把關系滿足的規范要求分為幾級,滿足要求最低的是第一范式(1NF),再來是第二范式、第三范式、BC范式和4NF、5NF等等,范數的等級越高,滿足的約束集條件越嚴格。

針對數據
數據的規范化包括歸一化標准化正則化,是一個統稱(也有人把標准化作為統稱)。

數據規范化是數據挖掘中的數據變換的一種方式,數據變換將數據變換或統一成適合於數據挖掘的形式,將被挖掘對象的屬性數據按比例縮放,使其落入一個小的特定區間內,如[-1, 1]或[0, 1]

對屬性值進行規范化常用於涉及神經網絡和距離度量的分類算法和聚類算法當中。比如使用神經網絡后向傳播算法進行分類挖掘時,對訓練元組中度量每個屬性的輸入值進行規范化有利於加快學習階段的速度。對於基於距離度量相異度的方法,數據歸一化能夠讓所有的屬性具有相同的權值。

數據規范化的常用方法有三種:最小最大值規范化,z-score標准化和按小數定標規范化

 

標准化(standardization):
數據標准化是將數據按比例縮放,使其落入到一個小的區間內,標准化后的數據可正可負,但是一般絕對值不會太大,一般是z-score標准化方法:減去期望后除以標准差。

 

歸一化(normalization):

把數值放縮到0到1的小區間中(歸到數字信號處理范疇之內),一般方法是最小最大規范的方法:min-max normalization

 

 


 

part.3

matlab上函數

 


part.4 公式

 

 

 

 

 

 

 


其他:

weka算法源代碼獲取方式:https://blog.csdn.net/renyiniki/article/details/79668870

1.首先官網上下載weka源碼,有兩種方式,一種是下載安裝文件,安裝后在安裝目錄中會有一個 weka-src.jar ,解壓后即為源碼,另一種是通過SVN下載: https://svn.cms.waikato.ac.nz/svn/weka/trunk/weka  機子上需要SVN工具如:TortoiseSVN

2.導入myeclipse

2.1 創建工作目錄。新建一個weka目錄。

2.2 准備源代碼。在weka的安裝目錄中找到weka-src.jar,解壓縮到剛才建的目錄下。

2.3 創建項目。打開MyEclipse,File->New->Java Project,Project name填weka,選擇create project from existing source,點擊next,點擊finish。

2.4 編譯運行。選擇剛創建的項目weka,run as Java Application,等待彈出對話框選擇主類,weka.gui.main(輸入main即可看到)。不一會,weka界面出現。

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM