Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
SKL 2019 Intern Training Data Cleaning and Feat...
Search
Adam
March 18, 2019
Programming
0
31
SKL 2019 Intern Training Data Cleaning and Feature Engineering
Data cleaning and feature engineering methods for intern.
Adam
March 18, 2019
Tweet
Share
More Decks by Adam
See All by Adam
Working Backward Reading Group
adamchang
0
79
Python Data Visualization - PyData Taipei Meetup
adamchang
0
230
SKL data analysis internship lecture 1
adamchang
0
150
SKL 2019 Intern Training Python Data Analysis
adamchang
0
45
Other Decks in Programming
See All in Programming
デザイナーが Androidエンジニアに 挑戦してみた
874wokiite
0
470
「待たせ上手」なスケルトンスクリーン、 そのUXの裏側
teamlab
PRO
0
530
testingを眺める
matumoto
1
140
AIと私たちの学習の変化を考える - Claude Codeの学習モードを例に
azukiazusa1
10
4.2k
テストコードはもう書かない:JetBrains AI Assistantに委ねる非同期処理のテスト自動設計・生成
makun
0
320
Vue・React マルチプロダクト開発を支える Vite
andpad
0
110
さようなら Date。 ようこそTemporal! 3年間先行利用して得られた知見の共有
8beeeaaat
3
1.5k
AIでLINEスタンプを作ってみた
eycjur
1
230
Ruby×iOSアプリ開発 ~共に歩んだエコシステムの物語~
temoki
0
320
はじめてのMaterial3 Expressive
ym223
2
740
そのAPI、誰のため? Androidライブラリ設計における利用者目線の実践テクニック
mkeeda
2
310
旅行プランAIエージェント開発の裏側
ippo012
2
910
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
For a Future-Friendly Web
brad_frost
180
9.9k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
520
Being A Developer After 40
akosma
90
590k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
580
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
920
Optimizing for Happiness
mojombo
379
70k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
How to train your dragon (web standard)
notwaldorf
96
6.2k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Transcript
Data Cleaning And Feature Engineering 打開資料分析中潘朵拉的寶盒
Machine Learning Pipeline DATA 資料清理 (前處 特徵 ⼯程 建立 模型
模型 驗證 確定 模型 預測 EDA
Agenda 1. Data Cleaning 2. Feature Engineering 3. Advance Data
Analysis Using Pandas! 4. Homework
介紹今天推薦的教材
– 缺失的資料無法提供資訊 – 案發現場的還原 「為什麼要做資料清理︖」
Index Age Sex Income 1 2 3 …
Index Age Sex Income 1 2 3 … Index Age
Sex Income 1 65 M 100k 2 30 M 60k 3 42 F 65k … 我們預期會是
Index Age Sex Income 1 2 3 … Index Age
Sex Income 1 65 M 100k 2 30 M 60k 3 42 F 65k … 我們預期會是 Index Age Sex Income 1 65 M 100k 2 NA NA 60k 3 42 F 65k 4 NA F 42k 5 NA NA NA … 1000 33 NA 10000k 但實際上
為什麼會發⽣資料缺失 訪談對象躲起來不讓你找到 填問卷填到睡著 他不想把他的資料跟你講 他虛報或亂掰資料 字跡潦草看不懂 寫問卷的時候不⼩⼼打翻咖啡
「我們不對資料進⾏修正, 我們只會學習處理這些資料」
處理缺失資料的⽅法 A. 想盡辦法避免他發⽣(但總是有莫非定律) B. 忽略他不看 C. 想法⼦處理他
Unit Nonresponse vs Item Nonresponse 1. Unit Nonresponse: 整筆資訊沒有辦法蒐集到 2.
Item Nonresponse: 部分資訊因為某些原因,⽽沒有 蒐集到
Unit Nonresponse vs Item Nonresponse Index Age Sex Income 1
65 M 100k 2 NA NA 60k 3 42 F 65k 4 NA F 42k 5 NA NA NA … 1000 33 NA 10000k
我們如何處理缺失資料 A. Drop Missing V alue B. Deductive Imputation C.
Mean/ Median/ Mode Imputation D. Regression Imputation E. Stochastic Regression Imputation F. Proper Imputation G. Hot-Deck Imputation
Drop Missing Value 直接不看這筆資料啦!!!!!!!!!!!!! Pros ⽤起來超快超爽der Cons 資料會變少...
Deductive Imputation ⽤合理的⽅式去填補資料 推測那筆空值可能是甚麼 比⽅說我們調查⼈壽公司的資料,對象可能都以女性為 主,性別有空值時都補上Female Pros 可以⽤直覺且合理的⽅式把值塞進去 Cons 要對他特別寫⼀⽀code來補︔耗時
Mean/ Median/ Mode Imputation 補平均值、中位數、眾數 Pros 好⽤、快、程式也好寫 Cons 但整體的資料分布可能會失真, 也會影響其他統計數據
Regression Imputation 把其他的欄位當特徵,建⽴模型去預測該筆空值的資料 Pros 比上⼀個⽅法更加「合理」的補值 Cons 資料分布⼀樣可能會失真 還得先建⼀個模型
Stochastic Regression Imputation ⼀樣⽤模型去預測缺失值,但再加入隨機的亂數 Pros 再比上⼀個⽅法更加「合理」,對整體的分佈 影響也較⼩些 Cons 對於變異數的估計容易失真 也是要另外建⼀個模型
Hot-Deck Imputation 從現有的資料選項中,隨機抽⼀種取代缺失值 Pros 使⽤真實資料進⾏取代,真實性較⾼ Cons 但有可能改變特徵之間的關係
Type Of Missingness A. Not missing at random: 受測者主觀的不願意提供某些資料 B.
Missing at random: 可能少數欄位字跡潦草看不懂在寫什麼 C. Missing completely at random: 咖啡倒在問卷上了啊啊啊啊啊啊
Workflow In Missing Data 1. 透過EDA,看看每個欄位缺失值的數量,評估 看看是否需要花時間去處理它 2. 想想對每個特徵來說,可能缺失的原因是什麼︖ 這個特徵會對我有參考價值嗎︖
3. 依據可以投入的精⼒與時間,思考⼀下處理缺失 值的⽅式
– 找到更好的⽅式(指標)去描述我們的對象 那又為什麼要做特徵⼯程呢︖
那麼你會怎麼描述⼀個⼈︖
None
None
Pandas In Jupyter! https://github.com/PacktPublishing/Learning-Pandas-Second-Edition
Recap 1. Data Cleaning (Munging) 2. Feature Engineering 3. Advance
Pandas 1. Tidy Data 2. Data Aggregation 3. Combining, Relating, Reshaping Data
Homework - 資料探索⼤挑戰 Objective: 練習使⽤Python進⾏資料清理&特徵⼯程 1. 針對前⼀天Boston House Price Dataset,有空值的欄位進⾏資料清理
2. 清理後研究看看你的資料,試著⽤Python建⽴15個新的特徵 3. 將你的資料清理&特徵⼯程的策略寫在你昨天的表上,並寫下為什麼你會想 這樣做︖ 4. 將你清理完的資料及與Excel表紀錄好,今天的作業就完成了 :”> 特徵 資料清理⽅式 這樣清理的理由 特徵⼯程 建⽴這特徵的理由 ⽣活區域⾯積 補入Mean 以平均值評估⼀般⼈購 買的坪數 將坪數每5坪分⼀個 級距,ex: 25~30坪 推測⼀般⼈會以這樣的級 距來分類房⼦的⼤⼩