1. 程式人生 > 其它 >【資料科學原理與實踐】資料準備

【資料科學原理與實踐】資料準備

知識點來源課程PPT

資料準備

載入資料

step 1:匯入資料,使用 read.table() 方法。

d<-read.table(paste('http://archive.ics.uci.edu/ml/machine-learning-databases/statlog/german/german.data',sep=''),stringsAsFactors = F,header=F)

step 2:根據說明文件,設定列名

colnames(d)<-c('Status.of.existing.checking.account','Duration.in.month','Credit.history', 'Purpose','Credit.amount','savings account/bonds','Present.employment.since','Instal1ment.rate.in.percentage.of.disposab1e.income','Persona1.status.and.sex','other.debtors/guarantors','Present.residence.since','Property','Age.in.years','other.instal1ment.plans','Housing' ,'Number.of.existing.credits.at.this.bank', 'Job','Number.of.people.being.liable.to.provide.maintenance.for','Telephone','foreign.worker','Good.Loan' )

探索資料

現實世界中的資料通常是髒的:

  1. 資料存在錯誤和不一致
  2. 資料存在缺失
  3. 名稱/屬性存在二義性

資料探索的方法:

  1. 處理缺失值、無效值以及離群值
  2. 概要統計方法:均值和中位數、方差和計數
  3. 視覺化方法:資料的圖示
  4. 資料概要和視覺化的組合方法

缺失值:本身就是有資訊量的。處理方法:刪除或替換為其他值
無效值:可能是壞資料輸入,也可能是某種表示“未知”的標誌值。處理方法:刪除或轉換為有用值。
離群值:脫離了期望的資料範圍。處理方法:刪除或轉化為有用值或保留

概要統計方法

summary()可以得到最小值、最大值、平均值、中位數等資訊

視覺化:

單個變數的分佈:

直方圖:ggplot()+geom_histogram()


密度圖:ggplot()+geom_denisty()。當資料以百分數方式變化或以數量級方式變化比按絕對單位變化更重要時,應該使用對數刻度。scale_x_log10()
柱狀圖:ggplot()+geom_bar()

兩個變數分佈:

線條圖、散點圖、六角箱圖(高密度圖)、兩個類別的柱狀圖

總結

概要統計發現有關資料範圍、度量單位、資料型別和缺失值或無效值的問題。視覺化更進一步瞭解資料分佈和變數之間的關係。

管理資料

清洗資料

  1. 處理缺失值(忽略還是補全?)
  • 刪除整行記錄或忽略整個屬性
  • 人工填充
    • 使用一個全域性值代替
    • 使用平均數或中位數等代替(值隨機性缺失)
    • 用最大可能值推理(eg. 找最相似的點推理或使用貝葉斯或決策樹推理)

step 1:通過資料探索,檢測出缺失資料的位置
step 2:對缺失變數進行處理

  1. 轉換資料
    目的:使資料更容易建模且更容易理解
    轉換方法:
  • 連續資料離散化(一些連續變數是否落入某個範圍比確切值更重要)
  • 規範化(當相對值比絕對值更有意義)
  • 對數變換(針對傾斜分佈和寬分佈)

取樣資料

用來選擇一個樣本總體的子集來代表全部資料的處理過程。取樣的要點:取樣的資料要能夠準確代表全部資料
必要性:

  • 在開發和精煉一個模型的過程中,在全集上訓練模型之前可以很容易在小的取樣子集進行測試和除錯程式碼
  • 減少資料量
  • 更容易視覺化,處理更快,模式更清晰,提高探索式分析的效率
  • 用於劃分測試集和訓練集

隨機取樣:每個成員都有平等被選擇的機會
系統取樣:以固定間隔選擇個體
分層取樣:確保樣本每個亞組都有適當的代表性
整群取樣:每個亞組都具有和整個樣本相似的特徵,然後隨機選擇整個子組

訓練集:為模型構建演算法的提供資料,以便這些演算法能夠設定正確的引數來預測結果變數
測試集:為完成的結果模型提供資料,用來驗證該模型的預測是否準確