by: "Alfarizi"
content:: Dev
field-related:: Machine Learning and Data Science
course-name:: Python for Machine Learning and Data Science Masterclass
up:: 20220421CN - Chapter 11 - Feature Engineering and Data Preparation
prev:: 20220421CN - Introduction to Feature Engineering and Data Preparation
creation-date:: 2022-04-22
tags:: #course/notes
✧✦✧
Notes
Outliers
Note
Jika sejak awal kita sudah menetapkan range data outliers nya, maka model ML yang
terbentuk akan hanya dapat digunakan untuk range pada data tersebut.
Misalnya:
1. Kita tadi sudah menentapkan range data dari 350rb - 600rb untuk sewa kos kososngan
di daerah jogja.
2. Setelah di-lihat persentase data yang masuk ke dalam outliers, diperoleh 5% data
termasuk ke dalam outliers (which is normal).
3. Data tersebut kemudian dimasukkan ke model ML.
4. Model ML tersebut hanya dapat digunakan untuk memprediksi kos yang mempunyai
features (features nya berupa harga) berkisar 350rb - 600rb. Untuk features yang ber-
harga diatas 600rb, maka kemungkinan akan terdapat ketidaksesuaian dengan data
yang digunakan di model ML, sehingga kemungkinan akan diperoleh prediksi yang
mempunyai error cukup tinggi.
Jupyter TIME!
Mencari Data Outliers
Disini hanya dicontohkan mencari outliers menggunakan Inter-Quartile Range. Untuk lebih
lengkapnya mengenai inter-quartile range, bisa baca (20220422SL 2000) How to Make
Box and Whisker Plot.
Tip
Kita bisa menggunakan np.percentile() untuk mencari kuartal 1, kuartal 3, dan IQR nya.
Untuk menghapus yang termasasuk dalam data outliers, kita dapat menggunakan filter pada
pandas (seperti pada umumnya):
Info
Terkadang, kita punya limit fix. Misalnya: Pada data voting, pastinya orang yang berusia kurang
dari 18 tahun tidak akan di-izinkan untuk ikut voting. Untuk itu kita bisa langsung filter untuk data
yang kurang dari 18 tahun.
Pentingnya Domain Knowledge dalam Mengeliminasi Data Outliers
Seperti yang telah dicontohkan sebelumnya, bahwa outliers dapat dicari kemudian dieliminasi
dengan gampang. Namun, pada dasarnya Domain Knowledge jauh lebih dipertimbangkan
daripada pencarian outliers seperti Inter-Quartile Range.
Domain Knowledge adalah suatu kemampuan untuk memahami suatu data. Jika diri-kita tidak
terlalu paham mengenai data tersebut, maka kita dapat tanya ke yang ahli (expertise).
Misalkan ada data yang di-plot scatter seperti ini:
Sepertinya
merupakan
data outliers
Terlihat bahwa sepertinya terdapat 3 data outliers. Hal ini dikarenakan seiring area ruang
keluarga meningkat, tapi harganya tidak terlalu meningkat. Kayak aneh gitu kan.
Untuk mengatasi hal tersebut kita bisa melakukan dropping data:
Namun, muncul pertanyaan: Bagaimana jika emang data nya seperti itu? Bagaimana jika 3
data tersebut merupakan data terbaru yang diperoleh beberapa hari ini, sedangkan data
lainnya itu diperoleh 1 tahun sebelumnya. Jadi mungkin emang sekarang harganya lagi turun
banget kayak gitu (mungkin dampak dari Covid?).
Disitulah Domain Knowledge cukuplah penting. Data seperti itu dapat dipertimbangkan,
sehingga lebih tahu mana data yang memang akurat.
Related
(20220422SL 2000) How to Make Box and Whisker Plot
20220421CN - Chapter 11 - Feature Engineering and Data Preparation
20220421CN - Introduction to Feature Engineering and Data Preparation
20220513CN - Dealing with Missing Data - Part One - Evaluation of Missing Data
Machine Learning and Data Science
Python for Machine Learning and Data Science Masterclass