Prediksi Kelangsungan Hidup Titanic – I – Menuju AI – Teknologi, Sains, dan Teknik Terbaik

Penulis: Hira Akram

Analisis information

Prediksi Kelangsungan Hidup Titanic – I

Analisis Data Eksplorasi dan Rekayasa Fitur pada put data Titanic

Artis: Graham Coton

Kompetisi Titanic Kaggle adalah tempat yang tepat untuk memahami pipeline machine learning. Pada artikel ini, kita akan membahas langkah-langkah awal yang terlibat dalam membangun version prediksi. Mari kita mulai!

Ringkasan Kompetisi:

Tujuan kami adalah untuk menentukan dari serangkaian fitur apakah penumpang akan selamat dari kecelakaan. Dengan kata lain, kami akan membangun version klasifikasi biner yang mengeluarkan’1′ yang menyatakan bahwa penumpang selamat dari tenggelamnya Titanic dan’0′ karena tidak selamat.

Di bawah ini adalah visualisasi persentase kelangsungan hidup dalam put data pelatihan yang disediakan. Berdasarkan persentase kebenaran dasar yang diberikan ini; kami akan melatih lima version klasifikasi tipikal dan membandingkan kinerjanya:

Analisis Data Eksplorasi:

Langkah pertama dan terpenting untuk membangun version pembelajaran mesin adalah EDA. Ini melibatkan hal-hal berikut:

Pahami informasi yang mendasarinya seperti jumlah baris dan kolom, tipe information, lihat beberapa sampel dari info, gambar umum seperti nilai manner median rata-rata. Tunjukkan proporsi nilai yang hilang dan putuskan bagaimana mengatasinya. Visualisasi data.

Jadi, mari kita jelajahi place pelatihan dan membangun pemahaman tentang info kita:

https://medium.com/media/ab7a86fb1ca2e4076d8c074bd1149a7c/href

Kami mengumpulkan informasi berikut dari kode di atas:

Information pelatihan terdiri dari complete 891 contoh dan 12 fitur; termasuk bendera’Survived’. Kami memiliki campuran fitur diskrit dan kontinu. Ada tiga kolom dengan nilai yang hilang (Age, Cabin, Embarked)

Selanjutnya, sekarang mari kita bahas setiap fitur secara detail untuk mendapatkan intuisi yang lebih baik.

Pclass

Fitur pertama kami yang perlu dipertimbangkan adalah Pclass. Ini adalah fitur kategoris dan mewakili standing sosial ekonomi penumpang. Kami telah membuat peta hierarki yang dengan jelas menggambarkan bahwa mayoritas penumpang termasuk dalam position sosial ekonomi atas.

https://medium.com/media/03211a8fa151bd4606116f428fa96065/href

2. Nama

Karena nama penumpang tidak bisa digunakan apa adanya; oleh karena itu kami telah mengekstrak judul di dalam information untuk lebih memahami informasi ini.

https://medium.com/media/127583b9ac054e5a062b69f6de23432d/href

3. ) Memulai

Ada dua nilai yang hilang di kolom ini. Kami dapat menghapus baris ini atau menggantinya dengan nilai mode. Menghapus baris pada akhirnya akan menyebabkan hilangnya tanggal dan kumpulan information yang diberikan sudah sangat kecil; oleh karena itu kami akan menggunakan opsi kedua. Kami juga memperhatikan bahwa banyak penumpang yang berangkat ke Southampton.

https://medium.com/media/f57e0ecb726446e66cdae674f19b4fa3/href

4. ) Kabin

Meskipun sejumlah besar nilai hilang dari kolom ini, namun kami mengekstrak huruf yang menentukan kategori kabin. Saya akan segera membahas bagaimana kita dapat menggunakan ini untuk membuat ulang fitur.

https://medium.com/media/c4973ab295f73a2c8383b7f0a6541a16/href

5. ) Usia

Kode di bawah ini memperkirakan nilai usia yang hilang menggunakan fungsi IterativeImputer (). Nanti, kami akan memanfaatkan kolom ini untuk membangun fitur yang lebih kompleks.

https://medium.com/media/75c57e970ca00f0133017ef9ba1c0c5e/href

Rekayasa Fitur

Metode ini digunakan untuk menambah kompleksitas pada information yang ada; dengan membangun fitur baru di atas kolom yang sudah ada sebelumnya. Untuk lebih mewakili struktur yang mendasari information; kami dapat membagi atau menggabungkan informasi dari kolom yang berbeda. Ini adalah salah satu dari banyak teknik yang dapat meningkatkan performa version kita secara keseluruhan.

Dalam dataset Titanic kami akan menyertakan enam kolom tambahan menggunakan metode ini. Sama seperti kami dengan hati-hati mengubah semua nama penumpang menjadi gelar mereka; mari kita lihat beberapa kolom lagi.

Pertama, kita akan menggunakan kolom Parch dan SibSp untuk menghitung jumlah anggota keluarga ini ada di kapal, seperti di bawah ini:

https://medium.com/media/78884478ccfbae92f69e2d2bf6ceddc9/href

Selain itu, atribut seperti Tarif each Keluarga juga dapat membantu memahami hubungan antara dua kolom ini:

https://medium.com/media/4a0654cb77af8be951613e7fefd76b90/href

Kolom tiket itu sendiri tampaknya tidak terlalu berguna, jadi kami akan membuat kolom kategorikal berdasarkan sifat info ini:

https://medium.com/media/09900b143379c984bc91969223e415fd/href

Gabungkan kolom yang dibuat di atas dengan kolom Kabin yang telah kita ubah sebelumnya, untuk mendapatkan beberapa nilai lebih dari fitur ini:

https://medium.com/media/3087d90046b1a509e4a1f7961bf4c18c/href

Dua fitur berikut juga dapat dibangun menggunakan kolom Umur. Untuk ageBins, kami akan membagi usia menjadi empat keranjang berukuran sama terpisah menggunakan fungsi pandas qcut ().

Terakhir, kita akan mengalikan Umur dengan Tarif untuk membuat kolom numerik baru.

https://medium.com/media/c795ac5318247f13c2ddced93d49fc07/href

Awalnya, place data pelatihan berisi fitur yang sangat sederhana yang tidak cukup bagi algoritme untuk mencari pola. Fitur yang baru dibangun dirancang untuk membangun korespondensi antara dataset yang pada akhirnya meningkatkan akurasi version.

Sekarang setelah fitur kita siap, kita dapat melanjutkan ke langkah selanjutnya yang terlibat dalam persiapan data.

Pengkodean Kategoris

Karena banyak algoritma hanya dapat menginterpretasikan information numerik, oleh karena itu, pengkodean fitur kategorikal merupakan langkah penting. Ada tiga solusi umum untuk mengenkode fitur tersebut:

One Hot Encoding (binary divide ) Label Encoding (penetapan numerik untuk setiap kategori) Ordinal Encoding (penugasan yang dipesan untuk setiap kategori)

Dalam kasus kami, kami akan menerapkan pengkodean tag menggunakan fungsi Sklearn LabelEncoder (). Kami akan memberi tag redeemed daftar kolom yang disebutkan di bawah yang berisi informasi kategorikal dalam bentuk kata, alfabet atau alfanumerik. Tugas ini dapat dicapai dengan menggunakan kode berikut:

[‘Pclass’, ‘Name’, ‘Sex’, ‘SibSp’, ‘Parch’, ‘Ticket’, ‘Fare’, ‘Embarked’, ‘familyMembers’, ‘ticketInfo’, ‘Cabin’, ‘Cabin_ticketInfo’]

https://medium.com/media/32d494b873ace516339ca0d16990ec67/href

Penskalaan Standar

Fitur berkelanjutan dapat sangat bervariasi, menghasilkan konvergensi yang sangat lambat sehingga memengaruhi performa version secara keseluruhan. Istilah penskalaan menyarankan, bahwa kami mendistribusikan ulang nilai fitur pada rentang tetap sehingga penyebaran information distandarisasi. Setelah ini tercapai, model akan secara efisien menyatu ke minimal global.

Awalnya, information Titanic hanya memiliki satu fitur yaitu Tarif yang memerlukan penskalaan. Saat membuat fitur lanjutan baru, kami menyertakan dua lagi. Inilah cara kami melakukan penskalaan standar pada semua information berkelanjutan:

https://medium.com/media/53452275b4ae56fa33f04db92ef3a7fe/href

Di bawah ini adalah perbandingan antara nilai’Tarif’ tidak berskala dan berskala. Kita dapat melihat bahwa rentang x baru kira-kira menyusut menjadi ± 2, juga information sekarang didistribusikan pada rata-rata nol:

Kesimpulan

Sekarang setelah kita merasa yakin tentang information kita, mari kita gunakan untuk melatih banyak version dan memilih algoritma yang paling sesuai! Pada artikel selanjutnya, kita akan membuat prediksi survival pada dataset Titanic menggunakan lima algoritma klasifikasi biner.

Berikut adalah beberapa contoh dari info pelatihan yang diselesaikan:

https://medium.com/media/5c7020cc66115948214bb9439f032aa4/href

Prediksi Kelangsungan Hidup Titanic – Saya awalnya diterbitkan di Limit AI on Moderate, di mana orang-orang melanjutkan percakapan dengan menyoroti dan menanggapi cerita ini.

Diterbitkan melalui Towards AI