{"id":2490,"date":"2025-05-16T00:28:58","date_gmt":"2025-05-16T00:28:58","guid":{"rendered":"https:\/\/techtrendfeed.com\/?p=2490"},"modified":"2025-05-16T00:28:58","modified_gmt":"2025-05-16T00:28:58","slug":"information-science-in-telco-information-cleaning-half-1-by-sefza-auma-tiang-alam-could-2025","status":"publish","type":"post","link":"https:\/\/techtrendfeed.com\/?p=2490","title":{"rendered":"Information Science in Telco: Information Cleaning (Half 1) | by Sefza Auma Tiang Alam | Could, 2025"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<div>\n<div>\n<div>\n<div class=\"speechify-ignore ab co\">\n<div class=\"speechify-ignore bg l\">\n<div class=\"ab hw hx hy hz ia ib ic id ie if ig\">\n<div class=\"ab q ig\">\n<div class=\"ab ih\">\n<div>\n<div class=\"bl\" aria-hidden=\"false\"><a rel=\"nofollow\" target=\"_blank\" rel=\"noopener follow\" href=\"https:\/\/medium.com\/@sefzaaumaa?source=post_page---byline--be83a0cd9534---------------------------------------\"><\/p>\n<div class=\"l ii ij bw ik il\">\n<div class=\"l fk\"><img decoding=\"async\" alt=\"Sefza Auma Tiang Alam\" class=\"l fc bw bx by cw\" src=\"https:\/\/miro.medium.com\/v2\/resize:fill:64:64\/1*2dGNBlmVuKP8ow2_6ROqzQ.jpeg\" width=\"32\" height=\"32\" loading=\"lazy\" data-testid=\"authorPhoto\"\/><\/div>\n<\/div>\n<p><\/a><\/div>\n<\/div>\n<\/div>\n<p><span class=\"be b bf z bj\"\/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p id=\"ce63\" class=\"pw-post-body-paragraph mc md gv me b mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz go bj\">Analisis dan Prediksi Potensi Buyer Churn<\/p>\n<p id=\"1cb8\" class=\"pw-post-body-paragraph mc md gv me b mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz go bj\">DQLab Telco merupakan perusahaan Telco yang sudah mempunyai banyak cabang. DQLab Telco sudah mempunyai banyak pelanggan yang beralih langganan ke kompetitor. Pihak <em class=\"na\">administration<\/em> ingin mengurangi jumlah pelanggan yang beralih <em class=\"na\">(churn)<\/em> dengan menggunakan <em class=\"na\">machine<\/em> <em class=\"na\">studying<\/em>.<\/p>\n<p id=\"134a\" class=\"pw-post-body-paragraph mc md gv me b mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz go bj\">Tim Information Scientist diminta untuk mempersiapkan knowledge sekaligus membuat mannequin prediksi yang tepat untuk menentukan pelanggan akan berhenti berlangganan <em class=\"na\">(churn)<\/em> atau tidak.<\/p>\n<p id=\"5d74\" class=\"pw-post-body-paragraph mc md gv me b mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz go bj\">Kita akan melakukan Information <em class=\"na\">Preprocessing <\/em>(Information<em class=\"na\"> Cleaning)<\/em> bulan lalu, langkah yang akan dilakukan adalah:<\/p>\n<ol class=\"\">\n<li id=\"66a1\" class=\"mc md gv me b mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz nb nc nd bj\">Mencari ID pelanggan (Nomor telepon) yang legitimate<\/li>\n<li id=\"7695\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz nb nc nd bj\">Mengatasi data-data yang masih kosong <em class=\"na\">(Lacking Values)<\/em><\/li>\n<li id=\"8eae\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz nb nc nd bj\">Mengatasi Nilai-Nilai Pencilan <em class=\"na\">(Outlier)<\/em> dari setiap <em class=\"na\">Variable<\/em><\/li>\n<li id=\"c23b\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz nb nc nd bj\">Menstandardisasi Nilai dari <em class=\"na\">Variable<\/em><\/li>\n<\/ol>\n<p id=\"1ccb\" class=\"pw-post-body-paragraph mc md gv me b mf oh mh mi mj oi ml mm mn oj mp mq mr ok mt mu mv ol mx my mz go bj\">Beberapa <em class=\"na\">package deal<\/em> yang membantu kita dalam melakukan analisis knowledge.<\/p>\n<ol class=\"\">\n<li id=\"ed31\" class=\"mc md gv me b mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz nb nc nd bj\">Pandas<\/li>\n<\/ol>\n<p id=\"7a37\" class=\"pw-post-body-paragraph mc md gv me b mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz go bj\">Pandas <em class=\"na\">(Python for Information Evaluation)<\/em> adalah library Python yang fokus untuk proses analisis knowledge seperti manipulasi knowledge, persiapan knowledge, dan pembersihan knowledge.<\/p>\n<ul class=\"\">\n<li id=\"7b9f\" class=\"mc md gv me b mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">read_csv()<\/code> digunakan untuk membaca<em class=\"na\"> file csv<\/em><\/li>\n<li id=\"a891\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">str.match()<\/code> digunakan untuk mencocokan dengan karakter tertentu<\/li>\n<li id=\"53cb\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">drop()<\/code> digunakan untuk menghapus<\/li>\n<li id=\"ed43\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">rely()<\/code> digunakan untuk menghitung masing-masing <em class=\"na\">variable<\/em><\/li>\n<li id=\"ce93\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">drop_duplicates()<\/code> digunakan untuk menghapus knowledge<em class=\"na\"> duplicate rows<\/em><\/li>\n<li id=\"350e\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">fillna()<\/code> digunakan untuk mengisi dengan nilai tertentu<\/li>\n<li id=\"955f\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">quantile()<\/code> digunakan untuk melihat <em class=\"na\">quantile<\/em> ke tertentu<\/li>\n<li id=\"fc76\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">masks()<\/code> mengganti nilai tertentu jika kondisi memenuhi<\/li>\n<li id=\"12e8\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">astype()<\/code> mengubah tipe knowledge<\/li>\n<li id=\"c248\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">value_counts()<\/code> digunakan untuk menghitung unik dari kolom<\/li>\n<li id=\"c47b\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">sort_values()<\/code> digunakan untuk <em class=\"na\">type values<\/em><\/li>\n<li id=\"0212\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">isnull()<\/code> digunakan untuk mendeteksi <em class=\"na\">lacking values<\/em><\/li>\n<li id=\"7ce9\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">dropna()<\/code> digunakan untuk menghapus <em class=\"na\">lacking values<\/em><\/li>\n<li id=\"27ad\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">exchange()<\/code> digunakan untuk mengganti nilai<\/li>\n<\/ul>\n<p id=\"59a6\" class=\"pw-post-body-paragraph mc md gv me b mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz go bj\">2. Matplotlib<\/p>\n<p id=\"152e\" class=\"pw-post-body-paragraph mc md gv me b mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz go bj\">Matplotlib adalah library Python yang fokus pada visualisasi knowledge seperti membuat <em class=\"na\">plot<\/em> grafik. Matplotlib dapat digunakan dalam skrip Python, Python dan IPython shell, server aplikasi net, dan beberapa <em class=\"na\">toolkit graphical person interface<\/em> (GUI) lainnya.<\/p>\n<ul class=\"\">\n<li id=\"b9f1\" class=\"mc md gv me b mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">determine()<\/code> digunakan untuk membuat <em class=\"na\">determine<\/em> gambar baru<\/li>\n<\/ul>\n<p id=\"7393\" class=\"pw-post-body-paragraph mc md gv me b mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz go bj\">3. Seaborn<\/p>\n<p id=\"8d18\" class=\"pw-post-body-paragraph mc md gv me b mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz go bj\">Seaborn membangun di atas Matplotlib dan memperkenalkan tipe <em class=\"na\">plot<\/em> tambahan. Ini juga membuat <em class=\"na\">plot<\/em> Matplotlib tradisional Anda terlihat sedikit lebih cantik.<\/p>\n<ul class=\"\">\n<li id=\"2abf\" class=\"mc md gv me b mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">box_plot()<\/code> digunakan untuk membuat <em class=\"na\">field plot<\/em><\/li>\n<\/ul>\n<p id=\"cf01\" class=\"pw-post-body-paragraph mc md gv me b mf oh mh mi mj oi ml mm mn oj mp mq mr ok mt mu mv ol mx my mz go bj\">Untuk dataset yang digunakan yaitu<\/p>\n<pre class=\"or os ot ou ov ow oq ox bo oy ba bj\"><span id=\"2eeb\" class=\"oz nk gv oq b bf pa pb l pc pd\">df_load = pd.read_csv('https:\/\/storage.googleapis.com\/dqlab-dataset\/dqlab_telco.csv')<\/span><\/pre>\n<p id=\"15cd\" class=\"pw-post-body-paragraph mc md gv me b mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz go bj\">Untuk element datanya adalah sebagai berikut:<\/p>\n<ul class=\"\">\n<li id=\"dc9d\" class=\"mc md gv me b mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">UpdatedAt<\/code><em class=\"na\"> Periode of Information taken<\/em><\/li>\n<li id=\"28fc\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">customerID<\/code><em class=\"na\"> Buyer ID<\/em><\/li>\n<li id=\"28f7\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">gender<\/code><em class=\"na\"> Whether or not the shopper is a male or a feminine (Male, Feminine)<\/em><\/li>\n<li id=\"68d0\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">SeniorCitizen<\/code><em class=\"na\"> Whether or not the shopper is a senior citizen or not (1, 0)<\/em><\/li>\n<li id=\"506c\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">Accomplice<\/code><em class=\"na\"> Whether or not the shopper has a associate or not (Sure, No)<\/em><\/li>\n<li id=\"3e65\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">Dependents<\/code><em class=\"na\"> Whether or not the shopper has dependents or not (Sure, No)<\/em><\/li>\n<li id=\"8c87\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">tenure<\/code><em class=\"na\"> Variety of months the shopper has stayed with the corporate<\/em><\/li>\n<li id=\"7e08\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">PhoneService<\/code><em class=\"na\"> Whether or not the shopper has a cellphone service or not (Sure, No)<\/em><\/li>\n<li id=\"114b\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">MultipleLines<\/code><em class=\"na\"> Whether or not the shopper has a number of traces or not (Sure, No, No cellphone service)<\/em><\/li>\n<li id=\"2d0c\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">InternetService<\/code><em class=\"na\"> Buyer\u2019s web service supplier (DSL, Fiber optic, No)<\/em><\/li>\n<li id=\"c98b\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">OnlineSecurity<\/code><em class=\"na\"> Whether or not the shopper has on-line safety or not (Sure, No, No web service)<\/em><\/li>\n<li id=\"869d\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">OnlineBackup<\/code><em class=\"na\"> Whether or not the shopper has on-line backup or not (Sure, No, No web service)<\/em><\/li>\n<li id=\"c952\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">DeviceProtection<\/code><em class=\"na\"> Whether or not the shopper has gadget safety or not (Sure, No, No web service)<\/em><\/li>\n<li id=\"93e4\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">TechSupport<\/code><em class=\"na\"> Whether or not the shopper has tech help or not (Sure, No, No web service)<\/em><\/li>\n<li id=\"6a20\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">StreamingTV<\/code><em class=\"na\"> Whether or not the shopper has streaming TV or not (Sure, No, No web service)<\/em><\/li>\n<li id=\"e83c\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">StreamingMovies<\/code><em class=\"na\"> Whether or not the shopper has streaming motion pictures or not (Sure, No, No web service)<\/em><\/li>\n<li id=\"142f\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">Contract<\/code><em class=\"na\"> The contract time period of the shopper (Month-to-month, One yr, Two yr)<\/em><\/li>\n<li id=\"115c\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">PaperlessBilling<\/code><em class=\"na\"> Whether or not the shopper has paperless billing or not (Sure, No)<\/em><\/li>\n<li id=\"1ae8\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">PaymentMethod<\/code><em class=\"na\"> The shopper\u2019s cost methodology (Digital test, Mailed test, Financial institution switch (automated), Bank card (automated))<\/em><\/li>\n<li id=\"dfa2\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">MonthlyCharges<\/code><em class=\"na\"> The quantity charged to the shopper month-to-month<\/em><\/li>\n<li id=\"7f7a\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">TotalCharges<\/code><em class=\"na\"> The overall quantity charged to the shopper<\/em><\/li>\n<li id=\"06ca\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">Churn<\/code><em class=\"na\"> Whether or not the shopper churned or not (Sure or No)<\/em><\/li>\n<\/ul>\n<p id=\"8e27\" class=\"pw-post-body-paragraph mc md gv me b mf oh mh mi mj oi ml mm mn oj mp mq mr ok mt mu mv ol mx my mz go bj\">Hal pertama yang akan kita lakukan adalah melakukan <em class=\"na\">import<\/em> library dan dataset ke dalam <em class=\"na\">workspace<\/em> kita.<\/p>\n<p id=\"e8ea\" class=\"pw-post-body-paragraph mc md gv me b mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz go bj\">Setelah dataset di-<em class=\"na\">import<\/em> ke dalam <em class=\"na\">workspace<\/em>, tampilkan jumlah kolom dan baris dari knowledge set dengan menggunakan .form dan print 5 baris teratas dengan menggunakan head() dan carilah ada berapa jumlah customerID yang bersifat <em class=\"na\">distinctive<\/em> dengan menggunakan .nunique<\/p>\n<pre class=\"or os ot ou ov ow oq ox bo oy ba bj\"><span id=\"7ccf\" class=\"oz nk gv oq b bf pa pb l pc pd\">#import library<br\/>import pandas as pd<br\/>pd.choices.show.max_columns = 50<p>#import dataset<br\/>df_load = pd.read_csv('https:\/\/storage.googleapis.com\/dqlab-dataset\/dqlab_telco.csv')<\/p><p>#Tampilkan jumlah baris dan kolom<br\/>print(df_load.form)<\/p><p>#Tampilkan 5 knowledge teratas<br\/>print(df_load.head(5))<\/p><p>#Jumlah ID yang unik<br\/>print(df_load.customerID.nunique())<\/p><\/span><\/pre>\n<figure class=\"or os ot ou ov ph pe pf paragraph-image\">\n<div role=\"button\" tabindex=\"0\" class=\"pi pj fk pk bg pl\">\n<div class=\"pe pf pg\"><picture><source srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/format:webp\/1*MmuQA88DU2vey6GpnZP6fg.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/format:webp\/1*MmuQA88DU2vey6GpnZP6fg.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/format:webp\/1*MmuQA88DU2vey6GpnZP6fg.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/format:webp\/1*MmuQA88DU2vey6GpnZP6fg.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/format:webp\/1*MmuQA88DU2vey6GpnZP6fg.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/format:webp\/1*MmuQA88DU2vey6GpnZP6fg.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/format:webp\/1*MmuQA88DU2vey6GpnZP6fg.png 1400w\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px\" type=\"image\/webp\"\/><source data-testid=\"og\" srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/1*MmuQA88DU2vey6GpnZP6fg.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/1*MmuQA88DU2vey6GpnZP6fg.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/1*MmuQA88DU2vey6GpnZP6fg.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/1*MmuQA88DU2vey6GpnZP6fg.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/1*MmuQA88DU2vey6GpnZP6fg.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/1*MmuQA88DU2vey6GpnZP6fg.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/1*MmuQA88DU2vey6GpnZP6fg.png 1400w\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px\"\/><img alt=\"\" class=\"bg pm pn c\" width=\"700\" height=\"136\" loading=\"lazy\" role=\"presentation\"\/><\/picture><\/div>\n<\/div>\n<\/figure>\n<p id=\"cd5f\" class=\"pw-post-body-paragraph mc md gv me b mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz go bj\"><em class=\"na\">Notes:<\/em><\/p>\n<p id=\"b6e5\" class=\"pw-post-body-paragraph mc md gv me b mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz go bj\">1. pd.choices.show.max_columns = 50 digunakan untuk mempermudah penampilan <em class=\"na\">row<\/em> knowledge<\/p>\n<p id=\"10f4\" class=\"pw-post-body-paragraph mc md gv me b mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz go bj\">2. Simpan dataset ke dalam variabel df_load<\/p>\n<p id=\"f764\" class=\"pw-post-body-paragraph mc md gv me b mf oh mh mi mj oi ml mm mn oj mp mq mr ok mt mu mv ol mx my mz go bj\">Mencari format ID Quantity (Telephone Quantity) Pelanggan <code class=\"cw on oo op oq b\">customerID<\/code> yang benar, dengan kriteria:<\/p>\n<ul class=\"\">\n<li id=\"093c\" class=\"mc md gv me b mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz om nc nd bj\">Panjang karakter adalah 11\u201312.<\/li>\n<li id=\"bdac\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\">Terdiri dari angka Saja, tidak diperbolehkan ada karakter selain angka<\/li>\n<li id=\"6afa\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\">Diawali dengan angka 45 2 digit pertama.<\/li>\n<\/ul>\n<p id=\"8d9c\" class=\"pw-post-body-paragraph mc md gv me b mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz go bj\">Gunakan fungsi <code class=\"cw on oo op oq b\">rely()<\/code> untuk menghitung banyaknya <em class=\"na\">rows<\/em> Buyer ID, anda juga bisa menggunakan <code class=\"cw on oo op oq b\">str.match()<\/code> &amp; <em class=\"na\">regex<\/em> untuk mencocokan dengan kriteria diatas. Jangan lupa gunakan <code class=\"cw on oo op oq b\">astype()<\/code> untuk merubah tipe datanya yang semula <em class=\"na\">numeric<\/em><\/p>\n<p id=\"88ba\" class=\"pw-post-body-paragraph mc md gv me b mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz go bj\"><strong class=\"me gw\">Notes : Buat kolom bantuan baru dengan nama `valid_id`<\/strong><\/p>\n<pre class=\"or os ot ou ov ow oq ox bo oy ba bj\"><span id=\"96aa\" class=\"oz nk gv oq b bf pa pb l pc pd\">df_load['valid_id'] = df_load['customerID'].astype(str).str.match(r'(45d{9,10})')<br\/>df_load = (df_load[df_load['valid_id'] == True]).drop('valid_id', axis = 1)<br\/>print('Hasil jumlah ID Buyer yang terfilter adalah', df_load['customerID'].rely())<\/span><\/pre>\n<pre class=\"po ow oq ox bo oy ba bj\"><span id=\"e10f\" class=\"oz nk gv oq b bf pa pb l pc pd\">Output:<br\/>Hasil jumlah ID Buyer yang terfilter adalah 7006<\/span><\/pre>\n<p id=\"ecdc\" class=\"pw-post-body-paragraph mc md gv me b mf oh mh mi mj oi ml mm mn oj mp mq mr ok mt mu mv ol mx my mz go bj\">Memastikan bahwa tidak ada Id Quantity pelanggan yang duplikat. Biasanya duplikasi ID quantity ini tipenya:<\/p>\n<ul class=\"\">\n<li id=\"4381\" class=\"mc md gv me b mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz om nc nd bj\">Duplikasi dikarenakan <em class=\"na\">inserting<\/em> melebihi satu kali dengan nilai yang sama tiap kolomnya<\/li>\n<li id=\"30fa\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\">Duplikasi dikarenakan <em class=\"na\">inserting<\/em> beda periode pengambilan knowledge<\/li>\n<\/ul>\n<p id=\"9ed5\" class=\"pw-post-body-paragraph mc md gv me b mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz go bj\">Gunakan hasil dari pengolahan di tahap sebelumnya <code class=\"cw on oo op oq b\">df_load<\/code> untuk diolah di tahap ini. Gunakan fungsi <code class=\"cw on oo op oq b\">drop_duplicates()<\/code> untuk menghapus duplikasi <em class=\"na\">rows<\/em>, dan gunakan <code class=\"cw on oo op oq b\">sort_values()<\/code> untuk mengecek pengambilan knowledge terakhir.<\/p>\n<pre class=\"or os ot ou ov ow oq ox bo oy ba bj\"><span id=\"6049\" class=\"oz nk gv oq b bf pa pb l pc pd\"># Drop Duplicate Rows<br\/>df_load.drop_duplicates()<br\/># Drop duplicate ID sorted by Periode<br\/>df_load = df_load.sort_values('UpdatedAt', ascending=False).drop_duplicates('customerID')<br\/>print('Hasil jumlah ID Buyer yang sudah dihilangkan duplikasinya (distinct) adalah',df_load['customerID'].rely())<\/span><\/pre>\n<pre class=\"po ow oq ox bo oy ba bj\"><span id=\"59dc\" class=\"oz nk gv oq b bf pa pb l pc pd\">Output:<br\/>Hasil jumlah ID Buyer yang sudah dihilangkan duplikasinya (distinct) adalah 6993<\/span><\/pre>\n<p id=\"8513\" class=\"pw-post-body-paragraph mc md gv me b mf oh mh mi mj oi ml mm mn oj mp mq mr ok mt mu mv ol mx my mz go bj\">Validitas dari ID Quantity pelanggan sangat diperlukan untuk memastikan bahwa knowledge yang kita ambil sudah benar. Berdasarkan hasil tersebut, terdapat perbedaan jumlah nomor ID dari knowledge pertama kali di load sampai dengan hasil akhir. Jumlah <em class=\"na\">row<\/em> knowledge ketika pertama kali di <em class=\"na\">load<\/em> ada sebanyak 7113 <em class=\"na\">rows<\/em> dan 22 <em class=\"na\">columns<\/em> dengan 7017 jumlah ID yang <em class=\"na\">distinctive.<\/em> Kemudian setelah di cek validitas dari ID pelanggan, maka tersisa 6993 <em class=\"na\">rows<\/em> knowledge<\/p>\n<p id=\"1cf4\" class=\"pw-post-body-paragraph mc md gv me b mf oh mh mi mj oi ml mm mn oj mp mq mr ok mt mu mv ol mx my mz go bj\">Selanjutnya kita akan menghapus <em class=\"na\">rows<\/em> dari data-data yang tidak terdeteksi apakah dia <em class=\"na\">churn<\/em> atau tidak. Diasumsikan knowledge <em class=\"na\">modeller<\/em> hanya mau menerima knowledge yang benar ada <em class=\"na\">flag churn<\/em>-nya atau tidak.<\/p>\n<p id=\"75c2\" class=\"pw-post-body-paragraph mc md gv me b mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz go bj\">Gunakan <code class=\"cw on oo op oq b\">isnull()<\/code> digunakan untuk mendeteksi <em class=\"na\">lacking values<\/em> dan <code class=\"cw on oo op oq b\">dropna()<\/code> untuk menghapus knowledge yang <em class=\"na\">lacking values.<\/em><\/p>\n<pre class=\"or os ot ou ov ow oq ox bo oy ba bj\"><span id=\"8f57\" class=\"oz nk gv oq b bf pa pb l pc pd\">print('Complete lacking values knowledge dari kolom Churn',df_load['Churn'].isnull().sum())<br\/># Dropping all Rows with spesific column (churn)<br\/>df_load.dropna(subset=['Churn'],inplace=True)<br\/>print('Complete Rows dan kolom Information setelah dihapus knowledge Lacking Values adalah',df_load.form)<\/span><\/pre>\n<pre class=\"po ow oq ox bo oy ba bj\"><span id=\"49b4\" class=\"oz nk gv oq b bf pa pb l pc pd\">Output:<br\/>Complete lacking values knowledge dari kolom Churn 43<br\/>Complete Rows dan kolom Information setelah dihapus knowledge Lacking Values adalah (6950, 22)<\/span><\/pre>\n<p id=\"792a\" class=\"pw-post-body-paragraph mc md gv me b mf oh mh mi mj oi ml mm mn oj mp mq mr ok mt mu mv ol mx my mz go bj\">Selain dengan menghapus <em class=\"na\">rows<\/em> dari knowledge, menangani <em class=\"na\">lacking values<\/em> bisa menggunakan nilai tertentu. Diasumsikan knowledge <em class=\"na\">modeller<\/em> meminta pengisian <em class=\"na\">lacking values<\/em> dengan kriteria berikut:<\/p>\n<ul class=\"\">\n<li id=\"540e\" class=\"mc md gv me b mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">Tenure<\/code> pihak knowledge <em class=\"na\">modeller<\/em> meminta setiap <em class=\"na\">rows<\/em> yang memiliki <em class=\"na\">lacking values<\/em> untuk lama berlangganan di isi dengan 11.<\/li>\n<li id=\"b37d\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\"><em class=\"na\">Variable<\/em> yang bersifat <em class=\"na\">numeric<\/em> selain <code class=\"cw on oo op oq b\">Tenure<\/code> di isi dengan median dari masing-masing <em class=\"na\">variable<\/em> tersebut.<\/li>\n<\/ul>\n<p id=\"8b91\" class=\"pw-post-body-paragraph mc md gv me b mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz go bj\">Tentukan:<\/p>\n<ul class=\"\">\n<li id=\"2dca\" class=\"mc md gv me b mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz om nc nd bj\">Apakah masih ada knowledge yang <em class=\"na\">lacking values<\/em><\/li>\n<li id=\"a460\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\">Jumlah <em class=\"na\">lacking values<\/em> dari masing-masing <em class=\"na\">variable<\/em><\/li>\n<li id=\"e22f\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\">Tangani <em class=\"na\">lacking values-nya<\/em><\/li>\n<\/ul>\n<pre class=\"or os ot ou ov ow oq ox bo oy ba bj\"><span id=\"1e09\" class=\"oz nk gv oq b bf pa pb l pc pd\">df_load = df_load.sort_values('UpdatedAt', ascending=False).drop_duplicates('customerID')<br\/>df_load.dropna(subset=['Churn'],inplace=True)<p>print('Standing Lacking Values :',df_load.isnull().values.any())<br\/>print('nJumlah Lacking Values masing-masing kolom, adalah:')<br\/>print(df_load.isnull().sum().sort_values(ascending=False))<\/p><p># dealing with lacking values Tenure fill with 11<br\/>df_load['tenure'].fillna(11, inplace=True)<\/p><p># Dealing with lacking values num vars (besides Tenure)<br\/>for col_name in record(['MonthlyCharges','TotalCharges']):<br\/>median = df_load[col_name].median()<br\/>df_load[col_name].fillna(median, inplace=True)<\/p><p>print('nJumlah Lacking Values setelah di imputer datanya, adalah:')<br\/>print(df_load.isnull().sum().sort_values(ascending=False))<br\/><\/p><\/span><\/pre>\n<figure class=\"or os ot ou ov ph pe pf paragraph-image\">\n<div role=\"button\" tabindex=\"0\" class=\"pi pj fk pk bg pl\">\n<div class=\"pe pf pp\"><picture><source srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/format:webp\/1*AuRcgWYMD3SbtprlLgTjBw.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/format:webp\/1*AuRcgWYMD3SbtprlLgTjBw.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/format:webp\/1*AuRcgWYMD3SbtprlLgTjBw.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/format:webp\/1*AuRcgWYMD3SbtprlLgTjBw.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/format:webp\/1*AuRcgWYMD3SbtprlLgTjBw.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/format:webp\/1*AuRcgWYMD3SbtprlLgTjBw.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/format:webp\/1*AuRcgWYMD3SbtprlLgTjBw.png 1400w\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px\" type=\"image\/webp\"\/><source data-testid=\"og\" srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/1*AuRcgWYMD3SbtprlLgTjBw.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/1*AuRcgWYMD3SbtprlLgTjBw.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/1*AuRcgWYMD3SbtprlLgTjBw.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/1*AuRcgWYMD3SbtprlLgTjBw.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/1*AuRcgWYMD3SbtprlLgTjBw.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/1*AuRcgWYMD3SbtprlLgTjBw.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/1*AuRcgWYMD3SbtprlLgTjBw.png 1400w\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px\"\/><img alt=\"\" class=\"bg pm pn c\" width=\"700\" height=\"502\" loading=\"lazy\" role=\"presentation\"\/><\/picture><\/div>\n<\/div><figcaption class=\"pq fe pr pe pf ps pt be b bf z dt\">Jumlah Lacking Values Earlier than<\/figcaption><\/figure>\n<figure class=\"or os ot ou ov ph pe pf paragraph-image\">\n<div role=\"button\" tabindex=\"0\" class=\"pi pj fk pk bg pl\">\n<div class=\"pe pf pu\"><picture><source srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/format:webp\/1*rj7Sj84tq29bIbJ25YFmTQ.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/format:webp\/1*rj7Sj84tq29bIbJ25YFmTQ.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/format:webp\/1*rj7Sj84tq29bIbJ25YFmTQ.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/format:webp\/1*rj7Sj84tq29bIbJ25YFmTQ.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/format:webp\/1*rj7Sj84tq29bIbJ25YFmTQ.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/format:webp\/1*rj7Sj84tq29bIbJ25YFmTQ.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/format:webp\/1*rj7Sj84tq29bIbJ25YFmTQ.png 1400w\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px\" type=\"image\/webp\"\/><source data-testid=\"og\" srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/1*rj7Sj84tq29bIbJ25YFmTQ.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/1*rj7Sj84tq29bIbJ25YFmTQ.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/1*rj7Sj84tq29bIbJ25YFmTQ.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/1*rj7Sj84tq29bIbJ25YFmTQ.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/1*rj7Sj84tq29bIbJ25YFmTQ.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/1*rj7Sj84tq29bIbJ25YFmTQ.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/1*rj7Sj84tq29bIbJ25YFmTQ.png 1400w\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px\"\/><img alt=\"\" class=\"bg pm pn c\" width=\"700\" height=\"461\" loading=\"lazy\" role=\"presentation\"\/><\/picture><\/div>\n<\/div><figcaption class=\"pq fe pr pe pf ps pt be b bf z dt\">Jumlah Lacking Values Then<\/figcaption><\/figure>\n<p id=\"6603\" class=\"pw-post-body-paragraph mc md gv me b mf oh mh mi mj oi ml mm mn oj mp mq mr ok mt mu mv ol mx my mz go bj\">Setelah kita analisis lebih lanjut, ternyata masih ada <em class=\"na\">lacking values<\/em> dari knowledge yang kita sudah validkan Id Quantity pelanggannya. <em class=\"na\">Lacking values<\/em> terdapat pada kolom <code class=\"cw on oo op oq b\">Churn<\/code>, <code class=\"cw on oo op oq b\">tenure<\/code>, <code class=\"cw on oo op oq b\">MonthlyCharges<\/code> &amp; <code class=\"cw on oo op oq b\">TotalCharges<\/code>. Setelah kita tangani dengan cara penghapusan <em class=\"na\">rows<\/em> dan pengisian <em class=\"na\">rows<\/em> dengan nilai tertentu, terbukti sudah tidak ada <em class=\"na\">lacking values<\/em> lagi pada knowledge, terbukti dari jumlah <em class=\"na\">lacking values<\/em> masing-masing <em class=\"na\">variable<\/em> yang bernilai 0. Selanjutnya kita akan melakukan penanganan pencilan <em class=\"na\">(outlier)<\/em><\/p>\n<p id=\"10aa\" class=\"pw-post-body-paragraph mc md gv me b mf oh mh mi mj oi ml mm mn oj mp mq mr ok mt mu mv ol mx my mz go bj\">Mendeteksi pencilan dari suatu nilai <em class=\"na\">(outlier)<\/em> salah satunya bisa melihat plot dari knowledge tersebut menggunakan <em class=\"na\">boxplot. Boxplot<\/em> merupakan ringkasan distribusi sampel yang disajikan secara grafis yang bisa menggambarkan bentuk distribusi knowledge <em class=\"na\">(skewness)<\/em>, ukuran tendensi sentral dan ukuran penyebaran (keragaman). Berikut adalah tampilan umum dari <em class=\"na\">boxplot<\/em> dalam merepresentasikan <em class=\"na\">outliers<\/em>.<\/p>\n<figure class=\"or os ot ou ov ph pe pf paragraph-image\">\n<div role=\"button\" tabindex=\"0\" class=\"pi pj fk pk bg pl\">\n<div class=\"pe pf pv\"><picture><source srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/format:webp\/1*xBPSTTPhGtWy3Bs_2OuGjA.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/format:webp\/1*xBPSTTPhGtWy3Bs_2OuGjA.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/format:webp\/1*xBPSTTPhGtWy3Bs_2OuGjA.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/format:webp\/1*xBPSTTPhGtWy3Bs_2OuGjA.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/format:webp\/1*xBPSTTPhGtWy3Bs_2OuGjA.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/format:webp\/1*xBPSTTPhGtWy3Bs_2OuGjA.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/format:webp\/1*xBPSTTPhGtWy3Bs_2OuGjA.png 1400w\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px\" type=\"image\/webp\"\/><source data-testid=\"og\" srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/1*xBPSTTPhGtWy3Bs_2OuGjA.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/1*xBPSTTPhGtWy3Bs_2OuGjA.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/1*xBPSTTPhGtWy3Bs_2OuGjA.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/1*xBPSTTPhGtWy3Bs_2OuGjA.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/1*xBPSTTPhGtWy3Bs_2OuGjA.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/1*xBPSTTPhGtWy3Bs_2OuGjA.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/1*xBPSTTPhGtWy3Bs_2OuGjA.png 1400w\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px\"\/><img alt=\"\" class=\"bg pm pn c\" width=\"700\" height=\"345\" loading=\"lazy\" role=\"presentation\"\/><\/picture><\/div>\n<\/div>\n<\/figure>\n<p id=\"d2ed\" class=\"pw-post-body-paragraph mc md gv me b mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz go bj\">Penggunaan fungsi describe() pada kolom <strong class=\"me gw\">tenure<\/strong>, <strong class=\"me gw\">MonthlyCharges<\/strong>, dan <strong class=\"me gw\">TotalCharges<\/strong> ditunjukkan sebagai berikut.<\/p>\n<figure class=\"or os ot ou ov ph pe pf paragraph-image\">\n<div role=\"button\" tabindex=\"0\" class=\"pi pj fk pk bg pl\">\n<div class=\"pe pf pw\"><picture><source srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/format:webp\/1*gxZAlV91wrr5zLjtHnZ4cg.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/format:webp\/1*gxZAlV91wrr5zLjtHnZ4cg.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/format:webp\/1*gxZAlV91wrr5zLjtHnZ4cg.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/format:webp\/1*gxZAlV91wrr5zLjtHnZ4cg.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/format:webp\/1*gxZAlV91wrr5zLjtHnZ4cg.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/format:webp\/1*gxZAlV91wrr5zLjtHnZ4cg.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/format:webp\/1*gxZAlV91wrr5zLjtHnZ4cg.png 1400w\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px\" type=\"image\/webp\"\/><source data-testid=\"og\" srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/1*gxZAlV91wrr5zLjtHnZ4cg.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/1*gxZAlV91wrr5zLjtHnZ4cg.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/1*gxZAlV91wrr5zLjtHnZ4cg.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/1*gxZAlV91wrr5zLjtHnZ4cg.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/1*gxZAlV91wrr5zLjtHnZ4cg.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/1*gxZAlV91wrr5zLjtHnZ4cg.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/1*gxZAlV91wrr5zLjtHnZ4cg.png 1400w\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px\"\/><img alt=\"\" class=\"bg pm pn c\" width=\"700\" height=\"194\" loading=\"lazy\" role=\"presentation\"\/><\/picture><\/div>\n<\/div>\n<\/figure>\n<p id=\"f661\" class=\"pw-post-body-paragraph mc md gv me b mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz go bj\">Melalui fungsi describe() ini kita hanya memperoleh statistik deskriptif ketiga kolom ini. Agar <em class=\"na\">outlier<\/em> pada ketiga kolom ini dapat dideteksi maka kamu diminta untuk memvisualisasikannya menggunakan <em class=\"na\">boxplot-<\/em>nya. Setiap satu boxplot ada di satu canvas determine.<\/p>\n<pre class=\"or os ot ou ov ow oq ox bo oy ba bj\"><span id=\"2ae5\" class=\"oz nk gv oq b bf pa pb l pc pd\">import pandas as pd<br\/>df_load = pd.read_csv('https:\/\/storage.googleapis.com\/dqlab-dataset\/dqlab_telco.csv')<p>df_load['valid_id'] = df_load['customerID'].astype(str).str.match(r'(45d{9,10})')<br\/>df_load = (df_load[df_load['valid_id'] == True]).drop('valid_id', axis = 1)<br\/>df_load.drop_duplicates()<br\/>df_load = df_load.sort_values('UpdatedAt', ascending=False).drop_duplicates('customerID')<br\/>df_load.dropna(subset=['Churn'],inplace=True)<\/p><p>df_load['tenure'].fillna(11, inplace=True)<br\/>for col_name in record(['MonthlyCharges','TotalCharges']):<br\/>median = df_load[col_name].median()<br\/>df_load[col_name].fillna(median, inplace=True)<\/p><p>print('nPersebaran knowledge sebelum ditangani Outlier: ')<br\/>print(df_load[['tenure','MonthlyCharges','TotalCharges']].describe())<\/p><p># Creating Field Plot<br\/>import matplotlib.pyplot as plt<br\/>import seaborn as sns<\/p><p># Masukkan variable<br\/>plt.determine() # untuk membuat determine baru<br\/>sns.boxplot(x=df_load['tenure'])<br\/>plt.present()<br\/>plt.determine() # untuk membuat determine baru<br\/>sns.boxplot(x=df_load['MonthlyCharges'])<br\/>plt.present()<br\/>plt.determine() # untuk membuat determine baru<br\/>sns.boxplot(x=df_load['TotalCharges'])<br\/>plt.present()<\/p><\/span><\/pre>\n<figure class=\"or os ot ou ov ph pe pf paragraph-image\">\n<div role=\"button\" tabindex=\"0\" class=\"pi pj fk pk bg pl\">\n<div class=\"pe pf px\"><picture><source srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/format:webp\/1*X-dyZmhqhnXK_i4sYUkzKA.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/format:webp\/1*X-dyZmhqhnXK_i4sYUkzKA.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/format:webp\/1*X-dyZmhqhnXK_i4sYUkzKA.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/format:webp\/1*X-dyZmhqhnXK_i4sYUkzKA.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/format:webp\/1*X-dyZmhqhnXK_i4sYUkzKA.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/format:webp\/1*X-dyZmhqhnXK_i4sYUkzKA.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/format:webp\/1*X-dyZmhqhnXK_i4sYUkzKA.png 1400w\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px\" type=\"image\/webp\"\/><source data-testid=\"og\" srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/1*X-dyZmhqhnXK_i4sYUkzKA.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/1*X-dyZmhqhnXK_i4sYUkzKA.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/1*X-dyZmhqhnXK_i4sYUkzKA.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/1*X-dyZmhqhnXK_i4sYUkzKA.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/1*X-dyZmhqhnXK_i4sYUkzKA.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/1*X-dyZmhqhnXK_i4sYUkzKA.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/1*X-dyZmhqhnXK_i4sYUkzKA.png 1400w\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px\"\/><img alt=\"\" class=\"bg pm pn c\" width=\"700\" height=\"520\" loading=\"lazy\" role=\"presentation\"\/><\/picture><\/div>\n<\/div><figcaption class=\"pq fe pr pe pf ps pt be b bf z dt\">Grafik 1<\/figcaption><\/figure>\n<figure class=\"or os ot ou ov ph pe pf paragraph-image\">\n<div role=\"button\" tabindex=\"0\" class=\"pi pj fk pk bg pl\">\n<div class=\"pe pf py\"><picture><source srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/format:webp\/1*KLpTQ1zFEI6Rb6z958a-8A.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/format:webp\/1*KLpTQ1zFEI6Rb6z958a-8A.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/format:webp\/1*KLpTQ1zFEI6Rb6z958a-8A.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/format:webp\/1*KLpTQ1zFEI6Rb6z958a-8A.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/format:webp\/1*KLpTQ1zFEI6Rb6z958a-8A.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/format:webp\/1*KLpTQ1zFEI6Rb6z958a-8A.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/format:webp\/1*KLpTQ1zFEI6Rb6z958a-8A.png 1400w\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px\" type=\"image\/webp\"\/><source data-testid=\"og\" srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/1*KLpTQ1zFEI6Rb6z958a-8A.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/1*KLpTQ1zFEI6Rb6z958a-8A.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/1*KLpTQ1zFEI6Rb6z958a-8A.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/1*KLpTQ1zFEI6Rb6z958a-8A.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/1*KLpTQ1zFEI6Rb6z958a-8A.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/1*KLpTQ1zFEI6Rb6z958a-8A.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/1*KLpTQ1zFEI6Rb6z958a-8A.png 1400w\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px\"\/><img alt=\"\" class=\"bg pm pn c\" width=\"700\" height=\"526\" loading=\"lazy\" role=\"presentation\"\/><\/picture><\/div>\n<\/div><figcaption class=\"pq fe pr pe pf ps pt be b bf z dt\">Grafik 2<\/figcaption><\/figure>\n<figure class=\"or os ot ou ov ph pe pf paragraph-image\">\n<div role=\"button\" tabindex=\"0\" class=\"pi pj fk pk bg pl\">\n<div class=\"pe pf pz\"><picture><source srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/format:webp\/1*MzvF11qPJ9kpPxig_0dNkw.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/format:webp\/1*MzvF11qPJ9kpPxig_0dNkw.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/format:webp\/1*MzvF11qPJ9kpPxig_0dNkw.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/format:webp\/1*MzvF11qPJ9kpPxig_0dNkw.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/format:webp\/1*MzvF11qPJ9kpPxig_0dNkw.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/format:webp\/1*MzvF11qPJ9kpPxig_0dNkw.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/format:webp\/1*MzvF11qPJ9kpPxig_0dNkw.png 1400w\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px\" type=\"image\/webp\"\/><source data-testid=\"og\" srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/1*MzvF11qPJ9kpPxig_0dNkw.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/1*MzvF11qPJ9kpPxig_0dNkw.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/1*MzvF11qPJ9kpPxig_0dNkw.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/1*MzvF11qPJ9kpPxig_0dNkw.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/1*MzvF11qPJ9kpPxig_0dNkw.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/1*MzvF11qPJ9kpPxig_0dNkw.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/1*MzvF11qPJ9kpPxig_0dNkw.png 1400w\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px\"\/><img alt=\"\" class=\"bg pm pn c\" width=\"700\" height=\"533\" loading=\"lazy\" role=\"presentation\"\/><\/picture><\/div>\n<\/div><figcaption class=\"pq fe pr pe pf ps pt be b bf z dt\">Grafik 3<\/figcaption><\/figure>\n<p id=\"fdb8\" class=\"pw-post-body-paragraph mc md gv me b mf oh mh mi mj oi ml mm mn oj mp mq mr ok mt mu mv ol mx my mz go bj\">Setelah kita mengetahui <em class=\"na\">variable<\/em> mana saja yang terdapat pencilan <em class=\"na\">(outlier)<\/em>, selanjutnya kita akan atasi <em class=\"na\">outlier<\/em> dengan menggunakan metode <em class=\"na\">interquartile vary<\/em> (IQR). Untuk element jelasnya, bisa dilihat di ilustrasi di bawah ini:<\/p>\n<p id=\"a152\" class=\"pw-post-body-paragraph mc md gv me b mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz go bj\">Gunakan hasil dari pengolahan di tahap sebelumnya <code class=\"cw on oo op oq b\">df_load<\/code> untuk di olah di tahap ini. Gunakan fungsi <code class=\"cw on oo op oq b\">quantile()<\/code> untuk melihat <em class=\"na\">quantile<\/em> tertentu, dan gunakan <code class=\"cw on oo op oq b\">masks()<\/code> untuk <em class=\"na\">me-replace<\/em> nilai. Tentukan:<\/p>\n<ul class=\"\">\n<li id=\"f6c9\" class=\"mc md gv me b mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz om nc nd bj\">Nilai <em class=\"na\">minimal<\/em> dan <em class=\"na\">most<\/em> knowledge di tolerir<\/li>\n<li id=\"d812\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\">Ubah nilai yang di luar <em class=\"na\">vary<\/em> <em class=\"na\">minimal &amp; most<\/em> ke dalam nilai <em class=\"na\">minimal<\/em> dan <em class=\"na\">most<\/em><\/li>\n<\/ul>\n<pre class=\"or os ot ou ov ow oq ox bo oy ba bj\"><span id=\"94d1\" class=\"oz nk gv oq b bf pa pb l pc pd\"># Dealing with with IQR<br\/>Q1 = (df_load[['tenure','MonthlyCharges','TotalCharges']]).quantile(0.25)<br\/>Q3 = (df_load[['tenure','MonthlyCharges','TotalCharges']]).quantile(0.75)<p>IQR = Q3 - Q1<br\/>most = Q3 + (1.5*IQR)<br\/>print('Nilai Most dari masing-masing Variable adalah: ')<br\/>print(most)<br\/>minimal = Q1 - (1.5*IQR)<br\/>print('nNilai Minimal dari masing-masing Variable adalah: ')<br\/>print(minimal)<\/p><p>more_than = (df_load &gt; most)<br\/>lower_than = (df_load &lt; minimal)<br\/>df_load = df_load.masks(more_than, most, axis=1)<br\/>df_load = df_load.masks(lower_than, minimal, axis=1)<\/p><p>print('nPersebaran knowledge setelah ditangani Outlier: ')<br\/>print(df_load[['tenure','MonthlyCharges','TotalCharges']].describe())<\/p><\/span><\/pre>\n<figure class=\"or os ot ou ov ph pe pf paragraph-image\">\n<div role=\"button\" tabindex=\"0\" class=\"pi pj fk pk bg pl\">\n<div class=\"pe pf qa\"><picture><source srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/format:webp\/1*D-XwbBo-k7Au165ASoBx9A.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/format:webp\/1*D-XwbBo-k7Au165ASoBx9A.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/format:webp\/1*D-XwbBo-k7Au165ASoBx9A.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/format:webp\/1*D-XwbBo-k7Au165ASoBx9A.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/format:webp\/1*D-XwbBo-k7Au165ASoBx9A.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/format:webp\/1*D-XwbBo-k7Au165ASoBx9A.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/format:webp\/1*D-XwbBo-k7Au165ASoBx9A.png 1400w\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px\" type=\"image\/webp\"\/><source data-testid=\"og\" srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/1*D-XwbBo-k7Au165ASoBx9A.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/1*D-XwbBo-k7Au165ASoBx9A.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/1*D-XwbBo-k7Au165ASoBx9A.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/1*D-XwbBo-k7Au165ASoBx9A.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/1*D-XwbBo-k7Au165ASoBx9A.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/1*D-XwbBo-k7Au165ASoBx9A.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/1*D-XwbBo-k7Au165ASoBx9A.png 1400w\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px\"\/><img alt=\"\" class=\"bg pm pn c\" width=\"700\" height=\"399\" loading=\"lazy\" role=\"presentation\"\/><\/picture><\/div>\n<\/div>\n<\/figure>\n<p id=\"baec\" class=\"pw-post-body-paragraph mc md gv me b mf oh mh mi mj oi ml mm mn oj mp mq mr ok mt mu mv ol mx my mz go bj\">Dari ketiga <em class=\"na\">boxplot<\/em> dengan <em class=\"na\">variable<\/em> <em class=\"na\">\u2018tenure\u2019,\u2019MonthlyCharges\u2019 &amp; \u2018TotalCharges\u2019<\/em> terlihat jelas bahwasannya ada <em class=\"na\">outlier.<\/em> Hal ini bisa di identifikasi dari adanya titik-titik yang berada jauh dari gambar <em class=\"na\">boxplot-nya.<\/em> Kemudian kalau kita liat persebaran datanya dari kolom <strong class=\"me gw\">max<\/strong> nya juga ada nilai yang sangat tinggi sekali.<\/p>\n<p id=\"057b\" class=\"pw-post-body-paragraph mc md gv me b mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz go bj\">Kemudian nilai <em class=\"na\">outlier<\/em> tersebut ditangani dengan cara merubah nilainya ke nilai <em class=\"na\">most<\/em> &amp; <em class=\"na\">minimal<\/em> dari <em class=\"na\">interquartile vary<\/em> (IQR). Setelah di tangani <em class=\"na\">outlier-nya,<\/em> dan dilihat perseberan datanya, terlihat sudah tidak ada lagi nilai yang <em class=\"na\">outlier.<\/em><\/p>\n<p id=\"de50\" class=\"pw-post-body-paragraph mc md gv me b mf oh mh mi mj oi ml mm mn oj mp mq mr ok mt mu mv ol mx my mz go bj\">Mendeteksi apakah ada nilai-nilai dari <em class=\"na\">variable<\/em> kategorik yang tidak commonplace. Hal ini biasanya terjadi dikarenakan kesalahan <em class=\"na\">enter<\/em> knowledge. Perbedaan istilah menjadi salah satu faktor yang sering terjadi, untuk itu dibutuhkan standardisasi dari knowledge yang sudah <em class=\"na\">ter-input.<\/em><\/p>\n<p id=\"5823\" class=\"pw-post-body-paragraph mc md gv me b mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz go bj\">Gunakan fungsi <code class=\"cw on oo op oq b\">value_counts()<\/code> untuk melihat jumlah knowledge <em class=\"na\">distinctive<\/em> per <em class=\"na\">variable-<\/em>nya.<\/p>\n<pre class=\"or os ot ou ov ow oq ox bo oy ba bj\"><span id=\"5fa0\" class=\"oz nk gv oq b bf pa pb l pc pd\">#Loop<br\/># Masukkan variable<br\/>for col_name in record(['gender','SeniorCitizen','Partner','Dependents','PhoneService','MultipleLines','InternetService','OnlineSecurity','OnlineBackup','DeviceProtection','TechSupport','StreamingTV','StreamingMovies','Contract','PaperlessBilling','PaymentMethod','Churn']):<br\/>print('nUnique Values Depend \u000033[1m' + 'Before Standardized \u000033[0m Variable',col_name)<br\/>print(df_load[col_name].value_counts())<\/span><\/pre>\n<figure class=\"or os ot ou ov ph pe pf paragraph-image\">\n<div role=\"button\" tabindex=\"0\" class=\"pi pj fk pk bg pl\">\n<div class=\"pe pf qb\"><picture><source srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/format:webp\/1*cZ6qsdF1PSvLr49phykWbg.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/format:webp\/1*cZ6qsdF1PSvLr49phykWbg.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/format:webp\/1*cZ6qsdF1PSvLr49phykWbg.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/format:webp\/1*cZ6qsdF1PSvLr49phykWbg.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/format:webp\/1*cZ6qsdF1PSvLr49phykWbg.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/format:webp\/1*cZ6qsdF1PSvLr49phykWbg.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/format:webp\/1*cZ6qsdF1PSvLr49phykWbg.png 1400w\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px\" type=\"image\/webp\"\/><source data-testid=\"og\" srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/1*cZ6qsdF1PSvLr49phykWbg.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/1*cZ6qsdF1PSvLr49phykWbg.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/1*cZ6qsdF1PSvLr49phykWbg.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/1*cZ6qsdF1PSvLr49phykWbg.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/1*cZ6qsdF1PSvLr49phykWbg.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/1*cZ6qsdF1PSvLr49phykWbg.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/1*cZ6qsdF1PSvLr49phykWbg.png 1400w\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px\"\/><img alt=\"\" class=\"bg pm pn c\" width=\"700\" height=\"630\" loading=\"lazy\" role=\"presentation\"\/><\/picture><\/div>\n<\/div><figcaption class=\"pq fe pr pe pf ps pt be b bf z dt\">Sebagian Output<\/figcaption><\/figure>\n<p id=\"7ea3\" class=\"pw-post-body-paragraph mc md gv me b mf oh mh mi mj oi ml mm mn oj mp mq mr ok mt mu mv ol mx my mz go bj\">Setelah kita mengeteahui <em class=\"na\">variable<\/em> mana saja yang ada nilai tidak commonplace, maka kita standardkan dengan pola terbanyak nya, dengan syarat tanpa mengubah maknanya. Contoh : <em class=\"na\">Iya<\/em> -&gt; <em class=\"na\">Sure<\/em> Kemudian liat kembali <em class=\"na\">distinctive values<\/em> dari masing-masing <em class=\"na\">variable<\/em> yang sudah di ubah. Gunakan fungsi <code class=\"cw on oo op oq b\">exchange()<\/code> untuk menstandardkan nilai.<\/p>\n<pre class=\"or os ot ou ov ow oq ox bo oy ba bj\"><span id=\"a2b1\" class=\"oz nk gv oq b bf pa pb l pc pd\">df_load = df_load.exchange(['Wanita','Laki-Laki','Churn','Iya'],['Female','Male','Yes','Yes'])<p># Masukkan variable<br\/>for col_name in record(['gender','Dependents','Churn']):<br\/>print('nUnique Values Depend \u000033[1m' + 'After Standardized \u000033[0mVariable',col_name)<br\/>print(df_load[col_name].value_counts())<\/p><\/span><\/pre>\n<figure class=\"or os ot ou ov ph pe pf paragraph-image\">\n<div class=\"pe pf qc\"><picture><source srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/format:webp\/1*k0gEih7mo7hyP3sY4Ui0jg.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/format:webp\/1*k0gEih7mo7hyP3sY4Ui0jg.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/format:webp\/1*k0gEih7mo7hyP3sY4Ui0jg.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/format:webp\/1*k0gEih7mo7hyP3sY4Ui0jg.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/format:webp\/1*k0gEih7mo7hyP3sY4Ui0jg.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/format:webp\/1*k0gEih7mo7hyP3sY4Ui0jg.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:964\/format:webp\/1*k0gEih7mo7hyP3sY4Ui0jg.png 964w\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 482px\" type=\"image\/webp\"\/><source data-testid=\"og\" srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/1*k0gEih7mo7hyP3sY4Ui0jg.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/1*k0gEih7mo7hyP3sY4Ui0jg.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/1*k0gEih7mo7hyP3sY4Ui0jg.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/1*k0gEih7mo7hyP3sY4Ui0jg.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/1*k0gEih7mo7hyP3sY4Ui0jg.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/1*k0gEih7mo7hyP3sY4Ui0jg.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:964\/1*k0gEih7mo7hyP3sY4Ui0jg.png 964w\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 482px\"\/><img alt=\"\" class=\"bg pm pn c\" width=\"482\" height=\"294\" loading=\"lazy\" role=\"presentation\"\/><\/picture><\/div><figcaption class=\"pq fe pr pe pf ps pt be b bf z dt\">Sebagian Output<\/figcaption><\/figure>\n<p id=\"badd\" class=\"pw-post-body-paragraph mc md gv me b mf oh mh mi mj oi ml mm mn oj mp mq mr ok mt mu mv ol mx my mz go bj\">Ketika kita amati lebih jauh dari jumlah <em class=\"na\">distinctive worth<\/em> dari masing-masing <em class=\"na\">variable<\/em> kategorik, terlihat jelas bahwa ada beberapa <em class=\"na\">variable<\/em> yang tidak standar. <em class=\"na\">Variable<\/em> itu adalah:<\/p>\n<ul class=\"\">\n<li id=\"e59f\" class=\"mc md gv me b mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">Gender<\/code> <em class=\"na\">(Feminine, Male,<\/em> Wanita, Laki-Laki), yang bisa di standardkan nilainya menjadi <em class=\"na\">(Feminine, Male)<\/em> karena mempunyai makna yang sama.<\/li>\n<li id=\"cad7\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">Dependents<\/code> (<em class=\"na\">Sure<\/em>, <em class=\"na\">No,<\/em> Iya), yang bisa di standardkan nilainya menjadi <em class=\"na\">(Sure, No)<\/em> karena mempunyai makna yang sama.<\/li>\n<li id=\"8ddb\" class=\"mc md gv me b mf ne mh mi mj nf ml mm mn ng mp mq mr nh mt mu mv ni mx my mz om nc nd bj\"><code class=\"cw on oo op oq b\">Churn<\/code> (<em class=\"na\">Sure, No, Churn<\/em>), yang bisa di standardkan nilainya menjadi <em class=\"na\">(Sure, No)<\/em> karena mempunyai makna yang sama.<\/li>\n<\/ul>\n<p id=\"a418\" class=\"pw-post-body-paragraph mc md gv me b mf mg mh mi mj mk ml mm mn mo mp mq mr ms mt mu mv mw mx my mz go bj\">Setelah kita standardkan nilainya, dan kita amati kembali bentuk datanya, sudah terstandar dengan baik untuk <em class=\"na\">distinctive value-<\/em>nya.<\/p>\n<figure class=\"or os ot ou ov ph pe pf paragraph-image\">\n<div role=\"button\" tabindex=\"0\" class=\"pi pj fk pk bg pl\">\n<div class=\"pe pf qd\"><picture><source srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/format:webp\/1*NerXlrHDqvyPKvYDtSfOjA.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/format:webp\/1*NerXlrHDqvyPKvYDtSfOjA.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/format:webp\/1*NerXlrHDqvyPKvYDtSfOjA.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/format:webp\/1*NerXlrHDqvyPKvYDtSfOjA.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/format:webp\/1*NerXlrHDqvyPKvYDtSfOjA.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/format:webp\/1*NerXlrHDqvyPKvYDtSfOjA.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/format:webp\/1*NerXlrHDqvyPKvYDtSfOjA.png 1400w\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px\" type=\"image\/webp\"\/><source data-testid=\"og\" srcset=\"https:\/\/miro.medium.com\/v2\/resize:fit:640\/1*NerXlrHDqvyPKvYDtSfOjA.png 640w, https:\/\/miro.medium.com\/v2\/resize:fit:720\/1*NerXlrHDqvyPKvYDtSfOjA.png 720w, https:\/\/miro.medium.com\/v2\/resize:fit:750\/1*NerXlrHDqvyPKvYDtSfOjA.png 750w, https:\/\/miro.medium.com\/v2\/resize:fit:786\/1*NerXlrHDqvyPKvYDtSfOjA.png 786w, https:\/\/miro.medium.com\/v2\/resize:fit:828\/1*NerXlrHDqvyPKvYDtSfOjA.png 828w, https:\/\/miro.medium.com\/v2\/resize:fit:1100\/1*NerXlrHDqvyPKvYDtSfOjA.png 1100w, https:\/\/miro.medium.com\/v2\/resize:fit:1400\/1*NerXlrHDqvyPKvYDtSfOjA.png 1400w\" sizes=\"(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px\"\/><img alt=\"\" class=\"bg pm pn c\" width=\"700\" height=\"464\" loading=\"lazy\" role=\"presentation\"\/><\/picture><\/div>\n<\/div>\n<\/figure>\n<\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>Analisis dan Prediksi Potensi Buyer Churn DQLab Telco merupakan perusahaan Telco yang sudah mempunyai banyak cabang. DQLab Telco sudah mempunyai banyak pelanggan yang beralih langganan ke kompetitor. Pihak administration ingin mengurangi jumlah pelanggan yang beralih (churn) dengan menggunakan machine studying. Tim Information Scientist diminta untuk mempersiapkan knowledge sekaligus membuat mannequin prediksi yang tepat untuk menentukan [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":2492,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[55],"tags":[2429,2427,2425,157,668,1483,2426,2424,2428],"class_list":["post-2490","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-machine-learning","tag-alam","tag-auma","tag-cleansing","tag-data","tag-part","tag-science","tag-sefza","tag-telco","tag-tiang"],"_links":{"self":[{"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/posts\/2490","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2490"}],"version-history":[{"count":1,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/posts\/2490\/revisions"}],"predecessor-version":[{"id":2491,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/posts\/2490\/revisions\/2491"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/media\/2492"}],"wp:attachment":[{"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2490"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2490"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2490"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}<!-- This website is optimized by Airlift. Learn more: https://airlift.net. Template:. Learn more: https://airlift.net. Template: 69d9690a190636c2e0989534. Config Timestamp: 2026-04-10 21:18:02 UTC, Cached Timestamp: 2026-06-17 08:05:50 UTC -->