使用Tensorflow搭建回歸預測模型之二:數據准備與預處理


前言:

       在前一篇中,已經搭建好了Tensorflow環境,本文將介紹如何准備數據與預處理數據。

正文:

      在機器學習中,數據是非常關鍵的一個環節,在模型訓練前對數據進行准備也預處理是非常必要的。

      一、數據准備:

      一般分為三個步驟:數據導入,數據清洗,數據划分。

      1、數據導入:

                   數據存放在原始格式多種多樣,具體取決於用於導入數據的機制和數據的來源。比如:有*.csv,*.txt,*xls,*.json等。

      2、數據清洗:

                   數據清洗主要發現並糾正數據中的錯誤,包含檢查數據的一致性,數據的無效值,以及缺失值等。

                   一致性檢查:根據每個變量的合理取值范圍和相互關系,檢查數據是否符合要求,要求異常或邏輯上不合理的數據。

                  無效值和缺失值檢查:由於編碼或錄入誤差,數據中可能存在一些無效的值和缺失值,需要對其進行適當的處理:估算,整例刪除,變量刪除等方法來保證數據的完整性。

                  數據清洗的基本操作有:

                          選擇,過濾,去重,采樣,變換(歸一化,標准化,縮放),數據替換(剪切,分割,合並),加權(屬性加權,自動優化),屬性生成,數據填補等。

        3、數據划分:

                     數據划分是機器學習訓練必不可少的一個環節,將數據分成不同部分,一部分用於訓練,一部分用來驗證或測試模型。

                     一般可采用以下方法:

                            1、按一定比例划分訓練集與測試集,根據數據集大小,按8:2或7:3比例划分;

                            2、交叉驗證法,采用K折交叉驗證法;

        二、特征工程:

      (機器學習與深度學習最大的區別就是:在機器學習中,特征工程是獨立的,而在深度學習中,特征工程是與模型整合在一起的。)

                 特征工程是將原始數據轉化為特征的過程,這些特征可以很好的描述潛在問題,進而提高模型對未知數據的准確性。

                 特征一般分兩類:

                        固有的原始特征:直接從數據集中獲得;

                        從特征工程中獲得:需要從現有的數據屬性中提取出來的特征。

                 特征工程處理過程分三步:

                        特征提取,特征縮放,特征編碼。

                 1、特征提取:

                          將原始數據轉換為一組有明顯特征意義的特征。去除無關特征或關聯性很小的特征可以降低學習任務的難度,降低模型的復雜度。

                          主要方法:PCA和ICA

                          PCA(主成分分析)

                                  找到數據中的主成分,利用這些主成分來表征原始數據,從而達到降維的目的。

                                  步驟:1)對樣本數據中心化處理;

                                             2)求樣本協方差矩陣;

                                             3)對協方差矩陣進行特征分解,並從大到小排列;

                                             4)取特征值前n個最大對應的特征向量。

                          ICA (獨立成分分析)

                                   獲取相互獨立的屬性,尋找一個線性變換:z=Wx,使得z的各個特征分量之間的獨立性最大。

                 2、特征縮放

                          特征縮放包含兩種方法:歸一化和正則化

                          歸一化是將特征都縮放到一個指定的數據區間內。一般有兩種歸一化方法:線性函數歸一化和零均值歸一化。

                          線性函數歸一化: X =(X-Xmin)/(Xmax-Xmin)

                          零均值歸一化: 將原始數據映射到均值為0,方差為1的分布上。

                 3、特征編碼

                          1)序號編碼:

                                   處理類別間大小關系的數據。

                                   例如:在高,中,低三個檔次,存在高 > 中 > 低的關系,就可以用序號編碼對這三個檔次進行編碼:高表示3,中表示2,低表示1,轉換后依然保留了大小關系。 

                          2)獨熱編碼:

                                   用於處理類別間不具體大小關系的特征。

                                   采用N位狀態位來對N個可能的取值進行編碼。

                                   例:是否推出提示,有兩種取值(推出,不推出),那么獨熱編碼會將提示轉換成一個2維向量:推出(1,0),不推出(0,1)

 

 

上一篇:環境搭建與包安裝

        使用Tensorflow搭建回歸預測模型之一:環境安裝

下一篇:模型搭建與訓練

        使用Tensorflow搭建回歸預測模型之三:模型搭建與訓練

 


免責聲明!

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



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