Jadi EDA ini analisis buat dingertiin sama kita sendiri ya kak? Soalnya ada tugas dan disuruh ngumpulin dg format pdf, jadi bingung yg dikumpulin itu apanya kak
Oh tidak, semua tergantung tujuan nya EDA bisa untuk analisis, atau untuk modeling kalau untuk analisis, fokusnya menjawab pertanyaan-pertanyaan bisnis (cek course 0 ada saya jelaskan dan contohkan) kalau di kasus yang ini, tujuannya untuk membantu modeling, jadi fokusnya lebih ke mencari keterhubungan antar fitur terhadap target prediksi kita.
kak, mau tanya, jika datanya numerik semua, dan kita ingin melihat beberapa plot sekaligus menggunakan subplots dan kita menggunakan sns.distplot bukan sns.countplot itu apa bisa ?? dan jika bisa bagaimana ya kak caranya?? . Terimakasih 🙏
Kalau hanya untuk lihat distribusi, bisa Contoh: ``` fig, ax = plt.subplots(1, 2, figsize=(15, 10)) for col, a in zip(['Age', 'Fare'], ax.flatten()): sns.distplot(df[col], ax=a) ```
@@JCOpUntukIndonesia Siaaap kak, mohon izin niih kak saya sudah coba kak, tapi untuk label tidak keluar, kemudian saya tambahkan plt.legend(); di paling bawah dan muncul akan tetapi hanya satu plot saja yang muncul, diplot kotak lain tidak muncul, memang sbnrnya tidak terlalu masalah sii ka, tapi penasaran😅🙏, kira2 kenapa ya kak ?? oiya fyi, saya menggunakan colab dan untuk seaborn & matplotlib nya sudah saya downgrade ke versi yang sama dengan arahan kakak🙏
@@imanaji8194 simply tambahkan legend nya di loop Contoh: ``` fig, ax = plt.subplots(1, 2, figsize=(15, 10)) for col, a in zip(['Age', 'Fare'], ax.flatten()): sns.distplot(df.loc[df.Survived==0, col], color='r', label='not survive', ax=a) sns.distplot(df.loc[df.Survived==1, col], color='g', label='survive', ax=a) a.legend() ``` Ngomong di versi baru sudah disediakan juga sns.histplot() yang bisa plot dengan hue, jadi code nya lebih sederhana Contoh: ``` fig, ax = plt.subplots(1, 2, figsize=(15, 10)) for col, a in zip(['Age', 'Fare'], ax.flatten()): sns.histplot(x=col, data=df, hue="Survived", ax=a) ``` Kalau mau tampilkan kde nya tinggal pakai kde=True, dan kalau mau matikan legend, tinggal legend=False, dst. sekarang sns.histplot() lebih recommended sih. Soalnya dia juga ada otomatis hitungin bins kalau kita ga provide, sedangkan kalau distplot itu bisa terlihat tanpa bins dia nanti ga match antara Survived dan not Survived (walau di kebanyakan kasus itu ga masalah)
Sebenarnya kalau lebih advance nya itu masuk ke yang namanya data ordinal (mengandung informasi urutan) ... dan data yang sifatnya ordinal biasa kita engineer dengan binning lalu dikategorikan. Itu idealnya. Kalau untuk pemula, itu dianggap kategorikal. Jangan dianggap numerik ya karena numerical pipeline tidak cocok untuk data ordinal. Lalu kalau dianggap kategorikal bukannya ga cocok juga wir? Untuk yang ordinalitasnya rendah masih ok kok pakai kategorikal, tapi kalau sudah terlalu besar tetap lebih di recommend jalan idealnya ya... Binning lalu lalu encode pakai onehot atau ordinal encoding. Semoga menjawab ya.
@@JCOpUntukIndonesia oh gitu, paham mas. Kalau Age kenapa masuknya numeric ya mas? Bukan Age kalau dipakai berhitung tidak mempunyai arti ya? Dan di video ini setelah di bins, bukannya Age jadi masuk categorical ya? Maaf banyak tanya mas 🙏
@@hendra1169 Age itu sebenarnya Ordinal jadi paling idealnya binning + encoding sebagai kategorikal. Tapi karena materi ini masih fokus untuk teknik" dasar... maka yang ordinalitas rendah masuk kategorik, yang ordinalitas tinggi masuk numerik. Umur itu rentangnya 1-100an... jadi ordinalitasnya lumayan tinggi sehingga bisa dicover sebagai numerik (not the best though) Tapi seingat wira nanti ada kok materi dimana Age akan di binning ya. Age dipakai berhitung tetap bermakna sih mas, tapi memang secara pribadi wira merasa bahwa kalau diencode jadi anak-anak, remaja, dewasa, dll. Itu lebih padat lagi maknanya. Di video ini Age nya diencode dan masuk kategori kan?
Oh maaf, wira baru cek kembali video ini. Kalau ini masih plotting dan explore. Data ordinal bisa dianalisis pakai histogram maupun barplot. Biasa kalau ordinalitasnya tinggi sih pakai histogram saja. Nanti ketika modeling akan beda, Age akan diencode dan jadinya kategorik. Mungkin boleh coba lanjut saja dulu materinya mas. Akan lebih clear di video" selanjutnya.
Assalamualaikum Selamat sore mas wir, saya sangat tertarik dengan materi dan penyampaian mas wira. Untuk saya mencari update materi dari mas wira dimana ya? soalnya dari linkedin saya tidak menemukan mas wira. Dan kalau boleh sisipkan sosial media mas wira, pasti nya ada info yang menarik buat kami. Terimakasi banyak sebelumnya🙏
@@JCOpUntukIndonesia Baik, Terimakasi banyak mas wir. Kalau untuk berdiskusi dengan mas wira apakah ada media lain selain dari comment youtube? saya tertarik dengan materi recommendation system untuk dijadikan TA saya mas wir. ada data Kaggle “Otto-Multi-Objective Recommender System”. Masukan dari mas wir untuk dijadikan Recommendation system tahapan nya bagaimana ya mas wir? Terimakasi banyak Sebelumnya
@@mufidakhbar5344 Untuk TA boleh coba hal yang memang kamu pahami serta dosen pengampu kuasai sehingga bisa terbentuk diskusi yang produktif. Kalau mau menggunakan topik di kompetisi Kaggle, maka alangkah lebih baik langsung saja diskusi di Kaggle Discussion dan pelajari Kaggle Notebooks peserta lain. Karena pada dasarnya orang yang sudah coba eksplorasi datanya yang mampu memberikan masukan dan jawaban yang lebih tepat guna daripada kalau minta saya yang belum sentuh datanya. Recommendation system bisa sangat customized tergantung datanya, bahkan bisa handcrafted tanpa perlu embel-embel machine learning. Pada akhirnya semua kembali ke case study datanya, dan saya belum bisa memberikan masukan apapun. Terima kasih Akhbar
Sebenarnya iya, tapii tidak terlalu masalah. Soalnya informasi itu kan tidak kita manfaatkan untuk ngefit / memaksakan jawaban juga. Jadii untuk ranah eksplorasi saja tidak terlalu masalah kok. Datanya ga diapa"in. Tapi setelah dapat insight dari eksplorasi itulah kita mulai meng-engineer fitur kan? Disanalah engineeringnya hanya boleh berdasarkan informasi dari data train supaya ga leakage, dan itu kita buat preprocessing pipeline nya. Tidak perlu terlalu takut juga soalnya idealnya nanti ada data test kedua, data test ketiga dst kok, dan akan clear nanti setelah di akhir Course 3 bagian ujian ya.
@@JCOpUntukIndonesia Satu lagi bang, jadi proses binning itu kita lakukan untuk mendiskritkan variabel kontinyu. Tujuannya agar variabel tersebut lebih memiliki makna.?
@@MAfrizalSeptiansyah Ya, untuk beginner saya ajarkan bahwa fitur bisa dikelompokkan ke numerik dan kategorik, padahal lebih advancenya ada fitur yang ordinal (bersifat menghitung / berurut). Ordinal itu numerik, tapi tidak cocok diproses secara numerik (scaling, dll) Jadi biasa fitur yang ordinal itu kita binning lalu diencode. Harapannya memberikan informasi yang lebih bermakna. Semakin bermakna itu membantu mesin kita melakukan prediksi yang lebih baik. Tapi apakah ada jaminan teknik seperti itu menghasilkan prediksi lebih baik? Ga ada ya, kita tidak pernah bisa menjamin suatu prediksi lebih baik. Harapannya saja itu bisa memberikan hasil yang lebih baik dan bermakna. Jadi always worth to try ya, but never a guarantee. Mudah"an menjawab. Thanks.
Jadi EDA ini analisis buat dingertiin sama kita sendiri ya kak? Soalnya ada tugas dan disuruh ngumpulin dg format pdf, jadi bingung yg dikumpulin itu apanya kak
Oh tidak, semua tergantung tujuan nya
EDA bisa untuk analisis, atau untuk modeling
kalau untuk analisis, fokusnya menjawab pertanyaan-pertanyaan bisnis (cek course 0 ada saya jelaskan dan contohkan)
kalau di kasus yang ini, tujuannya untuk membantu modeling, jadi fokusnya lebih ke mencari keterhubungan antar fitur terhadap target prediksi kita.
kak, mau tanya, jika datanya numerik semua, dan kita ingin melihat beberapa plot sekaligus menggunakan subplots dan kita menggunakan sns.distplot bukan sns.countplot itu apa bisa ?? dan jika bisa bagaimana ya kak caranya?? . Terimakasih 🙏
Kalau hanya untuk lihat distribusi, bisa
Contoh:
```
fig, ax = plt.subplots(1, 2, figsize=(15, 10))
for col, a in zip(['Age', 'Fare'], ax.flatten()):
sns.distplot(df[col], ax=a)
```
@@JCOpUntukIndonesia berarti jika kita ingin melihat numeric vs target hanya bisa dilakukan dengan 1 plot saja ya kak ??
@@imanaji8194 tentu bisa lebih, tinggal diganti saja plot nya
Contoh:
```
fig, ax = plt.subplots(1, 2, figsize=(15, 10))
for col, a in zip(['Age', 'Fare'], ax.flatten()):
sns.distplot(df.loc[df.Survived==0, col], color='r', label='not survive', ax=a)
sns.distplot(df.loc[df.Survived==1, col], color='g', label='survive', ax=a)
```
@@JCOpUntukIndonesia
Siaaap kak, mohon izin niih kak
saya sudah coba kak, tapi untuk label tidak keluar, kemudian saya tambahkan plt.legend(); di paling bawah dan muncul
akan tetapi hanya satu plot saja yang muncul, diplot kotak lain tidak muncul, memang sbnrnya tidak terlalu masalah sii ka, tapi penasaran😅🙏, kira2 kenapa ya kak ??
oiya fyi, saya menggunakan colab dan untuk seaborn & matplotlib nya sudah saya downgrade ke versi yang sama dengan arahan kakak🙏
@@imanaji8194 simply tambahkan legend nya di loop
Contoh:
```
fig, ax = plt.subplots(1, 2, figsize=(15, 10))
for col, a in zip(['Age', 'Fare'], ax.flatten()):
sns.distplot(df.loc[df.Survived==0, col], color='r', label='not survive', ax=a)
sns.distplot(df.loc[df.Survived==1, col], color='g', label='survive', ax=a)
a.legend()
```
Ngomong di versi baru sudah disediakan juga sns.histplot() yang bisa plot dengan hue, jadi code nya lebih sederhana
Contoh:
```
fig, ax = plt.subplots(1, 2, figsize=(15, 10))
for col, a in zip(['Age', 'Fare'], ax.flatten()):
sns.histplot(x=col, data=df, hue="Survived", ax=a)
```
Kalau mau tampilkan kde nya tinggal pakai kde=True, dan kalau mau matikan legend, tinggal legend=False, dst.
sekarang sns.histplot() lebih recommended sih. Soalnya dia juga ada otomatis hitungin bins kalau kita ga provide, sedangkan kalau distplot itu bisa terlihat tanpa bins dia nanti ga match antara Survived dan not Survived (walau di kebanyakan kasus itu ga masalah)
halo mas Wira, mau nanya, kenapa SibSp dan Parch masuk katagori ya?
Sebenarnya kalau lebih advance nya itu masuk ke yang namanya data ordinal (mengandung informasi urutan) ... dan data yang sifatnya ordinal biasa kita engineer dengan binning lalu dikategorikan. Itu idealnya.
Kalau untuk pemula, itu dianggap kategorikal. Jangan dianggap numerik ya karena numerical pipeline tidak cocok untuk data ordinal.
Lalu kalau dianggap kategorikal bukannya ga cocok juga wir? Untuk yang ordinalitasnya rendah masih ok kok pakai kategorikal, tapi kalau sudah terlalu besar tetap lebih di recommend jalan idealnya ya... Binning lalu lalu encode pakai onehot atau ordinal encoding.
Semoga menjawab ya.
@@JCOpUntukIndonesia oh gitu, paham mas. Kalau Age kenapa masuknya numeric ya mas? Bukan Age kalau dipakai berhitung tidak mempunyai arti ya? Dan di video ini setelah di bins, bukannya Age jadi masuk categorical ya? Maaf banyak tanya mas 🙏
@@hendra1169 Age itu sebenarnya Ordinal jadi paling idealnya binning + encoding sebagai kategorikal.
Tapi karena materi ini masih fokus untuk teknik" dasar... maka yang ordinalitas rendah masuk kategorik, yang ordinalitas tinggi masuk numerik.
Umur itu rentangnya 1-100an... jadi ordinalitasnya lumayan tinggi sehingga bisa dicover sebagai numerik (not the best though)
Tapi seingat wira nanti ada kok materi dimana Age akan di binning ya.
Age dipakai berhitung tetap bermakna sih mas, tapi memang secara pribadi wira merasa bahwa kalau diencode jadi anak-anak, remaja, dewasa, dll. Itu lebih padat lagi maknanya.
Di video ini Age nya diencode dan masuk kategori kan?
Oh maaf, wira baru cek kembali video ini. Kalau ini masih plotting dan explore. Data ordinal bisa dianalisis pakai histogram maupun barplot. Biasa kalau ordinalitasnya tinggi sih pakai histogram saja. Nanti ketika modeling akan beda, Age akan diencode dan jadinya kategorik. Mungkin boleh coba lanjut saja dulu materinya mas. Akan lebih clear di video" selanjutnya.
@@JCOpUntukIndonesia saya sudah sampai video 20, ternyata pemahaman saya membahas preprocessing saat pemodelan, sedangkan ini EDA. 🙏
Assalamualaikum Selamat sore mas wir, saya sangat tertarik dengan materi dan penyampaian mas wira. Untuk saya mencari update materi dari mas wira dimana ya? soalnya dari linkedin saya tidak menemukan mas wira. Dan kalau boleh sisipkan sosial media mas wira, pasti nya ada info yang menarik buat kami.
Terimakasi banyak sebelumnya🙏
Saya tidak ada media sosial. Silahkan pelajari secara berurut sesuai nomor course nya. Paling gampang lewat playlist.
@@JCOpUntukIndonesia Baik, Terimakasi banyak mas wir.
Kalau untuk berdiskusi dengan mas wira apakah ada media lain selain dari comment youtube?
saya tertarik dengan materi recommendation system untuk dijadikan TA saya mas wir. ada data Kaggle “Otto-Multi-Objective Recommender System”. Masukan dari mas wir untuk dijadikan Recommendation system tahapan nya bagaimana ya mas wir?
Terimakasi banyak Sebelumnya
@@mufidakhbar5344 Untuk TA boleh coba hal yang memang kamu pahami serta dosen pengampu kuasai sehingga bisa terbentuk diskusi yang produktif.
Kalau mau menggunakan topik di kompetisi Kaggle, maka alangkah lebih baik langsung saja diskusi di Kaggle Discussion dan pelajari Kaggle Notebooks peserta lain.
Karena pada dasarnya orang yang sudah coba eksplorasi datanya yang mampu memberikan masukan dan jawaban yang lebih tepat guna daripada kalau minta saya yang belum sentuh datanya.
Recommendation system bisa sangat customized tergantung datanya, bahkan bisa handcrafted tanpa perlu embel-embel machine learning. Pada akhirnya semua kembali ke case study datanya, dan saya belum bisa memberikan masukan apapun.
Terima kasih Akhbar
Assalamualaikum dan selamat siang bang. Kalo kita mengeksplorasi semua data apakah itu juga termasuk data leakage.?
Sebenarnya iya, tapii tidak terlalu masalah. Soalnya informasi itu kan tidak kita manfaatkan untuk ngefit / memaksakan jawaban juga. Jadii untuk ranah eksplorasi saja tidak terlalu masalah kok. Datanya ga diapa"in.
Tapi setelah dapat insight dari eksplorasi itulah kita mulai meng-engineer fitur kan? Disanalah engineeringnya hanya boleh berdasarkan informasi dari data train supaya ga leakage, dan itu kita buat preprocessing pipeline nya.
Tidak perlu terlalu takut juga soalnya idealnya nanti ada data test kedua, data test ketiga dst kok, dan akan clear nanti setelah di akhir Course 3 bagian ujian ya.
@@JCOpUntukIndonesia
Satu lagi bang, jadi proses binning itu kita lakukan untuk mendiskritkan variabel kontinyu. Tujuannya agar variabel tersebut lebih memiliki makna.?
@@MAfrizalSeptiansyah Ya, untuk beginner saya ajarkan bahwa fitur bisa dikelompokkan ke numerik dan kategorik, padahal lebih advancenya ada fitur yang ordinal (bersifat menghitung / berurut). Ordinal itu numerik, tapi tidak cocok diproses secara numerik (scaling, dll)
Jadi biasa fitur yang ordinal itu kita binning lalu diencode. Harapannya memberikan informasi yang lebih bermakna. Semakin bermakna itu membantu mesin kita melakukan prediksi yang lebih baik.
Tapi apakah ada jaminan teknik seperti itu menghasilkan prediksi lebih baik? Ga ada ya, kita tidak pernah bisa menjamin suatu prediksi lebih baik. Harapannya saja itu bisa memberikan hasil yang lebih baik dan bermakna. Jadi always worth to try ya, but never a guarantee.
Mudah"an menjawab. Thanks.
@@JCOpUntukIndonesia
Terimakasih banyak atas penjelasannya bang.
@@MAfrizalSeptiansyah Sure, Terima kasih kembali.