
Setelah saya menerima tawaran dari Deliveroo, di perusahaan ini saya seharusnya menjadi Manajer Data Science. Ketika saya bersiap untuk menjalankan tugas saya, tawaran itu ditarik. Saat itu saya tidak punya airbag jika terjadi pengangguran berkepanjangan. Saya akan berbagi dengan Anda semua yang pada akhirnya membantu saya mendapatkan dua penawaran sekaligus untuk posisi Ilmuwan Data dari Facebook. Saya harap ini akan membantu salah satu dari Anda untuk keluar dari situasi sulit yang saya alami beberapa bulan yang lalu.
1. Organisasi adalah kunci dari segalanya
Saya pergi ke wawancara di Google (dan DeepMind), Uber, Facebook, Amazon untuk segala hal yang entah bagaimana terkait dengan posisi Data Scientist. Sebagian besar waktu saya ditanyai pertanyaan dari industri seperti
- Pengembangan perangkat lunak
- Statistik terapan
- Pembelajaran mesin
- Pemrosesan, pengelolaan, dan visualisasi data
Tidak ada yang mengharapkan Anda menjadi super pro untuk semua industri ini. Tetapi Anda harus cukup memahami mereka untuk meyakinkan pewawancara tentang kompetensi Anda dan hak untuk mengambil posisi yang diusulkan. Seberapa dalam Anda perlu memahami topik tergantung pada pekerjaan itu sendiri, tetapi karena ini adalah bidang yang sangat kompetitif, pengetahuan apa pun akan berguna.
Saya merekomendasikan menggunakan Notion untuk mengatur persiapan wawancara Anda. Alat ini serbaguna, ditambah lagi memungkinkan Anda menerapkan teknik seperti pengulangan spasi dan pemanggilan aktif. Mereka membantu memperkuat hasil pembelajaran dan mengungkap pertanyaan kunci yang muncul berulang kali dalam wawancara Ilmuwan Data. Ali Abdaal memiliki pemandu yang hebatuntuk membuat catatan dengan Notion. Membantu memaksimalkan potensi Anda selama wawancara.
Saya terus-menerus mengulangi catatan saya di Notion, terutama secara aktif - tepat sebelum wawancara. Hal ini memungkinkan saya untuk percaya diri dengan kemampuan saya dan bahwa topik dan istilah utama ada dalam "memori kerja" saya, jadi saya tidak perlu membuang waktu yang berharga, dengan penuh arti mengatakan "nuuuuuu" setelah beberapa pertanyaan.
2. Pengembangan perangkat lunak
Anda tidak selalu perlu menjawab pertanyaan tentang kompleksitas waktu suatu algoritme. Tetapi untuk pekerjaan Data Scientist apa pun, Anda harus menulis kode. Ilmu Data, seperti yang Anda ketahui, bukanlah satu profesi, tetapi banyak, industri ini menarik bakat dari berbagai bidang, termasuk pengembangan perangkat lunak. Karenanya, Anda harus bersaing dengan pemrogram yang memahami nuansa penulisan kode yang efisien. Saya akan merekomendasikan menghabiskan 1-2 jam sehari sebelum wawancara, menguasai dan / atau memperkuat pengetahuan dan keterampilan dalam topik-topik seperti itu:
- Array.
- Tabel hash.
- Daftar Tertaut.
- Metode dua petunjuk.
- Algoritme string (pemberi kerja SUKA topik ini).
- Pencarian biner.
- Bagilah dan taklukkan algoritme.
- Algoritme pengurutan.
- Pemrograman dinamis.
- Pengulangan.
Jangan mempelajari algoritme secara formal. Ini tidak berguna karena pewawancara mungkin mengajukan pertanyaan tentang nuansa beberapa algoritme, dan Anda akan tersesat. Sebaliknya, lebih baik menguasai fondasi yang mendasari setiap algoritme. Jelajahi kompleksitas komputasi dan spasial dan pahami mengapa semua ini penting untuk membuat kode kualitas.
Pewawancara memang memiliki banyak hal untuk ditanyakan tentang algoritme, jadi ada baiknya mempelajari dasar-dasar dan studi kasus umum untuk mempermudah menanggapi wawancara nanti.
Cobalah menjawab setiap pertanyaan yang mungkin, meskipun itu membutuhkan waktu lama. Kemudian lihat model keputusan dan coba tentukan strategi yang optimal. Kemudian lihat jawabannya dan coba pahami mengapa demikian? Ajukan pertanyaan kepada diri Anda sendiri seperti "mengapa kompleksitas waktu rata-rata Quicksort O (n²)?" atau “Mengapa dua pointer dan satu untuk loop lebih masuk akal daripada tiga untuk loop”?
3. Statistik terapan
Statistik terapan memainkan peran penting dalam Ilmu Data. Seberapa penting akan tergantung pada posisi yang Anda lamar. Di manakah statistik terapan sebenarnya digunakan? Dimanapun perlu untuk mengatur, menafsirkan dan mengekstrak informasi dari data.
Selama wawancara, saya menyarankan Anda untuk mempelajari topik-topik berikut dengan cermat:
- ( , , , ).
- (, , 5 10 ).
- ( A / B-, T-, , - . .).
- ( , ).
- ( / ).
Jika Anda berpikir ini adalah informasi yang sangat banyak untuk dipelajari, maka Anda tidak berpikir. Saya kagum pada berapa banyak yang dapat diminta untuk wawancara dan seberapa banyak yang dapat ditemukan secara online untuk membantu persiapan Anda. Dua sumber membantu saya untuk mengatasinya:
- Pengantar Probabilitas dan Statistik adalah kursus gratis yang mencakup semua yang dijelaskan di atas, termasuk pertanyaan dan ujian swa-uji.
- Pembelajaran Mesin: Perspektif Bayesian dan Optimasi . Ini lebih merupakan kursus pembelajaran mesin daripada statistik terapan. Tetapi pendekatan aljabar linier yang dijelaskan di sini membantu untuk memahami nuansa konsep analisis regresi.
Sebaiknya tidak mempelajarinya dengan menghafal. Anda harus menyelesaikan tugas sebanyak yang Anda bisa. Glassdoor adalah gudang yang bagus untuk pertanyaan statistik terapan yang biasanya Anda temui dalam wawancara. Wawancara paling menantang yang pernah saya lakukan adalah wawancara dengan G-Research. Tetapi saya sangat menikmati mempersiapkannya, dan Glassdoor membantu saya untuk memahami sejauh mana kemajuan saya dalam menguasai topik ini.
4. Pembelajaran mesin
Sekarang kita sampai pada hal yang paling penting - pembelajaran mesin. Tapi topik ini sangat luas sehingga Anda bisa tersesat di dalamnya.
Berikut adalah beberapa sumber daya yang akan memberikan dasar yang sangat kuat untuk memulai pembelajaran mesin. Berikut ini adalah kumpulan topik yang jauh dari lengkap, yang diurutkan berdasarkan topik.
Metrik - klasifikasi
- Matriks kebingungan, akurasi, presisi, ingatan, sensitivitas
- Skor F1
- TPR, TNR, FPR, FNR
- I II
- AUC-Roc
—
-, Over/Under-Fitting
Sampling
Pengujian Hipotesis
Topik ini lebih terkait dengan statistik terapan, tetapi sangat penting , khususnya, dalam pengujian A / B.
Model Regresi
Ada banyak informasi yang tersedia tentang regresi linier. Anda harus membiasakan diri dengan model regresi lainnya:
- Jaringan saraf dalam untuk masalah regresi
- Regresi hutan acak
- XGBoost Regression
- ARIMA / SARIMA
- Regresi Linear Bayesian
- Regresi proses Gaussian
Algoritme pengelompokan
Model klasifikasi
- Regresi logistik (paling penting, perbaiki dengan baik)
- Regresi berganda
- XGBoost
- Mendukung mesin vektor
Itu banyak, tetapi tidak terlihat menakutkan jika Anda memahami statistik terapan. Saya akan merekomendasikan mempelajari nuansa setidaknya tiga klasifikasi / regresi / metode pengelompokan yang berbeda, karena pewawancara selalu dapat bertanya (dan tidak), "Metode lain apa yang dapat kita gunakan, apa saja kelebihan / kekurangannya?" Ini hanya sebagian kecil dari pengetahuan, tetapi jika Anda mengetahui contoh-contoh penting ini, wawancara akan berjalan lebih lancar.
5. Pengolahan dan visualisasi data
"Beri tahu kami tentang tahapan pemrosesan dan pembersihan data sebelum menerapkan algoritme pembelajaran mesin."
Kami diberikan kumpulan data tertentu. Pertama dan terpenting adalah membuktikan bahwa Anda dapat mencapai EDA. Cara terbaik adalah menggunakan Pandas, jika digunakan dengan benar, alat paling ampuh di kotak alat analisis data. Cara terbaik untuk mempelajari cara menggunakan Pandas untuk memproses data adalah dengan mendownload banyak sekali dataset dan bekerja dengannya.
Dalam salah satu wawancara, saya perlu memuat set data, membersihkannya, merender, memilih, membangun, dan mengevaluasi model - semuanya dalam satu jam. Benar-benar gila, kami sangat keras. Tetapi saya baru saja berlatih melakukan semua ini selama beberapa minggu, jadi saya tahu apa yang harus saya lakukan, bahkan jika saya kehilangan utasnya.
Mengelola Data
Ada tiga hal penting dalam hidup: kematian, pajak, dan mendapatkan permintaan untuk menggabungkan dataset. Panda hampir sempurna untuk pekerjaan itu, jadi mohon latihan, latihan, latihan.
Pembuatan profil data
Tugas ini melibatkan pemahaman tentang karakteristik "meta" dari kumpulan data, seperti bentuk dan deskripsi karakteristik numerik, kategori, dan temporal dalam data. Anda harus selalu berusaha menjawab serangkaian pertanyaan seperti "berapa banyak pengamatan yang saya miliki", "seperti apa distribusi setiap fungsi", "apa arti fungsi-fungsi ini". Pembuatan profil awal semacam ini dapat membantu Anda membuang fitur yang tidak relevan dari awal, seperti fitur kategoris dengan ribuan level (nama, pengenal unik), dan mengurangi jumlah pekerjaan untuk Anda dan komputer Anda di jalan (bekerja cerdas, bukan keras, atau bangun entah bagaimana).
Visualisasi data
Di sini Anda bertanya pada diri sendiri: "Seperti apa distribusi fungsi saya?" Tip singkat: jika Anda tidak mempelajari tentang plot kotak di bagian statistik terapan dari tutorial, sekaranglah waktunya karena Anda perlu mempelajari cara mengidentifikasi pencilan secara visual. Histogram dan grafik kepadatan kernel adalah alat yang sangat berguna saat melihat properti distribusi masing-masing fungsi.
Kemudian kita mungkin bertanya "seperti apa hubungan antara fungsi saya", dalam hal ini Python memiliki paket bernama seaborn yang berisi alat keren dan canggih seperti pairplot dan peta panas yang bagus untuk plot korelasi.
Menangani nilai null, kesalahan sintaks, dan baris / kolom duplikat
Nilai yang hilang tidak bisa dihindari, masalah ini muncul dari banyak faktor berbeda, yang masing-masing mempengaruhi offset dengan caranya sendiri. Anda perlu mempelajari cara terbaik menangani nilai-nilai yang hilang. Lihat panduan ini tentang cara menangani nilai null .
Kesalahan sintaks biasanya terjadi ketika sebuah dataset berisi informasi yang telah dimasukkan secara manual, seperti melalui formulir. Hal ini dapat membawa kita pada kesimpulan yang salah bahwa fungsi kategorikal memiliki lebih banyak level daripada yang sebenarnya, karena "Hot", "hOt", "hot / n" dianggap level unik. Lihat sumber daya ini tentang menangani data teks kotor.
Terakhir, kolom duplikat tidak diperlukan, dan baris duplikat dapat merusak presentasi, sehingga harus ditangani lebih awal.
Standarisasi atau Normalisasi
Bergantung pada kumpulan data yang Anda gunakan dan metode pembelajaran mesin yang Anda pilih untuk digunakan, mungkin berguna untuk menstandarkan atau menormalkan data sehingga skala yang berbeda dari variabel yang berbeda tidak berdampak negatif pada performa model Anda.
Secara umum, bukan sikap "ingat semuanya" yang membantu saya, melainkan memahami betapa pelatihan tersebut telah membantu saya. Saya gagal dalam banyak wawancara sebelum saya menyadari bahwa semua hal di atas bukanlah konsep esoteris yang hanya dapat dikuasai oleh beberapa orang terpilih. Ini adalah alat yang digunakan Ilmuwan Data untuk membuat model keren dan mendapatkan wawasan penting dari data.
Pada topik ini:
- Wawancara “ Saya takut dengan tugas-tugas rutin, tapi di Ilmu Data semuanya berbeda ”;
- Kursus online praktis " Profesi " Data Scientist .