
TL; DR adalah posting untuk tanya jawab tentang Ilmu Data dan bagaimana masuk dan berkembang dalam profesi. Dalam artikel ini, saya akan menganalisis prinsip-prinsip dasar dan FAQ dan siap menjawab pertanyaan spesifik Anda - tulis di komentar (atau secara pribadi), saya akan mencoba menjawab semuanya dalam beberapa hari.Dengan munculnya siklus catatan "tanggal pemuja setan", banyak pesan dan komentar datang dengan pertanyaan tentang bagaimana memulai dan di mana menggali, dan hari ini kami akan menganalisis keterampilan dan pertanyaan utama yang muncul setelah publikasi.
Semua yang disebutkan di sini tidak berpura-pura menjadi kebenaran tertinggi dan merupakan pendapat subjektif dari penulis. Kami akan membahas hal-hal utama yang tampaknya paling penting dalam prosesnya.
Mengapa ini dibutuhkan
Agar tujuan dapat dicapai dengan lebih baik, sehingga setidaknya terlihat konkret - Anda ingin menjadi DS atau Ilmuwan Riset di Facebook / Apple / Amazon / Netflix / Google - lihat persyaratan, bahasa, dan keterampilan yang diperlukan secara langsung untuk posisi mana. Bagaimana proses perekrutannya? Bagaimana Anda menjalani hari-hari biasa dalam peran ini? Seperti apa profil rata-rata orang yang bekerja di sana?
Seringkali gambaran umumnya adalah bahwa seseorang tidak benar-benar memahami apa yang sebenarnya dia inginkan dan tidak sepenuhnya jelas bagaimana mempersiapkan gambar yang tidak jelas ini - oleh karena itu ada baiknya memiliki setidaknya rencana kasar tentang apa yang sebenarnya Anda inginkan.
Persempit tampilan tujuan Anda saat iniBahkan jika itu berubah di sepanjang jalan, dan umumnya normal untuk mengubah rencana selama permainan, Anda harus memiliki tujuan di depan Anda dan dipandu olehnya, mengevaluasi dan memikirkan kembali secara berkala.
Akan atau masih relevan
Pada saat Anda tumbuh ke suatu posisi.
Bayangkan bahwa sebelum posisi Anda, Anda perlu mendapatkan gelar PhD, bekerja selama 2-3 tahun di industri dan biasanya memotong rambut Anda saat bermeditasi di biara - akankah ada situasi yang sama dengan Ilmu Data seperti yang pernah terjadi dengan ekonom dan pengacara? Tidak akan semuanya berubah tanpa bisa dikenali di area yang ingin Anda lakukan.
Apakah ada peluang bagus bahwa setiap orang akan terburu-buru ke sana sekarang dan kita akan melihat gambaran ketika ada banyak lapisan orang yang mencoba memasuki profesi - dan hanya akan ada sedikit posisi untuk memulai.
Mungkin ada baiknya mempertimbangkan tren saat ini ketika memilih jalur, tidak hanya keadaan pasar tenaga kerja saat ini, tetapi juga gagasan Anda tentang bagaimana hal itu berubah dan di mana itu.
Misalnya, penulis tidak berencana untuk pergi ke kencan setan, tetapi selama PhD dia melihat proyek sampingan yang sangat beresonansi dengan DS dalam hal keterampilan dan setelah lulus dari sekolah pascasarjana secara alami pindah ke hari Rabu, melihat posisi yang bagus.
Jika dalam permainan ternyata perlu pergi ke tempat lain - karena sekarang ada gerakan yang sangat dan semua tindakan yang paling menarik sedang terjadi, maka kita akan pergi ke sana secara alami.
Kerusakan keterampilan
Ini adalah kategori keterampilan bersyarat yang menurut saya merupakan kunci untuk pekerjaan yang lengkap dan efektif di DS. Secara terpisah, saya akan menyoroti bahasa Inggris - pelajari apa pun yang Anda lakukan di CS. Berikutnya adalah kategori kunci.
Pemrograman / Scripting
Bahasa apa yang harus Anda kuasai? Python? Jawa? Skrip shell? Lua? Sql? C ++?
Apa sebenarnya yang perlu Anda lakukan dan mengapa dalam hal pemrograman - di sini kisaran posisinya sangat berbeda.
Misalnya, saya sering harus mengimplementasikan logika, kueri, model, analitik yang kompleks dan umumnya mengembangkan sistem yang ditafsirkan, tetapi hampir tidak pernah ada persyaratan untuk kecepatan kode, kecuali yang paling umum dan masuk akal.
Oleh karena itu, keahlian saya sangat berbeda dari mereka yang menulis pustaka Tensorflow dan berpikir tentang mengoptimalkan kode untuk penggunaan l1 cache yang efisien dan sejenisnya, jadi lihat apa yang sebenarnya Anda butuhkan dan evaluasi jalur yang benar untuk belajar.
Misalnya untuk python, orang sudah membuat peta pembelajaran bahasa.
Tentunya, untuk kebutuhan Anda, sudah ada saran yang berpengalaman dan ada sumber yang bagus - Anda perlu memutuskan daftar dan mulai mengerjakannya.
Memahami proses bisnis
Tanpanya, tidak ada tempat: Anda perlu memahami mengapa Anda dibutuhkan dalam proses ini, apa yang Anda lakukan dan mengapa. Seringkali inilah yang dapat menghemat banyak waktu, memaksimalkan keuntungan Anda dan tidak membuang waktu dan sumber daya untuk omong kosong.
Saya biasanya menanyakan pertanyaan-pertanyaan berikut:
- Apa sebenarnya yang saya lakukan di perusahaan?
- Untuk apa?
- Siapa yang akan menggunakannya dan bagaimana?
- Opsi apa yang saya miliki?
- Apa batasan parameternya?
Berikut adalah detail lebih lanjut tentang parameter: Anda sering dapat mengubah skenario kerja, jika Anda tahu bahwa ada sesuatu yang dapat dikorbankan: misalnya, interpretabilitas atau sebaliknya, beberapa persen tidak akan berperan di sini dan kami memiliki solusi yang sangat cepat, dan klien membutuhkannya, karena dia membayar waktu pipeline berjalan di AWS.
Matematika
Di sini Anda berpikir dan Anda sendiri memahami segalanya - tanpa pengetahuan matematika dasar, Anda tidak lebih dari bayi monyet dengan granat (maafkan Random Forest) - jadi Anda perlu memahami setidaknya hal-hal mendasar. Jika saya membuat daftar yang paling minimal, maka itu akan mencakup:
- Aljabar Linear - banyak sekali sumber daya yang mudah dicari di Google, cari yang paling cocok untuk Anda;
- Analisis matematika - (setidaknya dalam jumlah dua semester pertama);
- Teori probabilitas ada di mana-mana dalam pembelajaran mesin;
- Kombinatorik - ini sebenarnya melengkapi teoretikus;
- Teori grafik - setidaknya BASIC;
- Algoritma - setidaknya volume dua semester pertama (lihat rekomendasi Cormen dalam bukunya);
- Matlogic - setidaknya dasar.
Analisis dan visualisasi data praktis
Salah satu hal terpenting adalah untuk tidak takut tangan Anda kotor dalam data dan untuk melakukan analisis komprehensif dari dataset, proyek dan memberikan visualisasi cepat dari data.
Analisis data eksplorasi harus menjadi sesuatu yang alami, seperti semua transformasi data lainnya dan kemampuan untuk membuang pipeline sederhana dari unix tuzles (lihat artikel sebelumnya) atau menulis laptop yang dapat dibaca dan dipahami.
Saya akan menyebutkan visualisasi secara terpisah: lebih baik melihat sekali daripada mendengar seratus kali.
Menampilkan grafik kepada pengelola seratus kali lebih mudah dan lebih mudah dipahami daripada serangkaian angka, jadi matplotlib, seaborn, dan ggplot2 adalah teman Anda.
Keterampilan lunak
Sama pentingnya untuk dapat mengomunikasikan ide, hasil, dan kekhawatiran Anda (dll.) Kepada orang lain - pastikan Anda dapat menyatakan tugas dengan jelas baik dalam istilah teknis maupun bisnis.
Anda dapat menjelaskan kepada kolega, manajer, atasan, klien, dan semua orang yang membutuhkan apa yang terjadi, data apa yang Anda operasikan, dan hasil seperti apa yang Anda dapatkan.
Bagan dan dokumentasi Anda harus dapat dibaca tanpa Anda. Artinya, Anda tidak perlu mendatangi Anda untuk memahami apa yang tertulis di sana.
Anda dapat membuat presentasi yang jelas untuk menyampaikan pesan dan / atau mendokumentasikan proyek / pekerjaan Anda.
Anda dapat menyampaikan posisi Anda dengan cara yang masuk akal dan tanpa emosi, mengatakan ya / tidak, atau mempertanyakan / mendukung keputusan.
Latihan
Ada banyak tempat berbeda di mana Anda bisa mempelajari semua ini. Saya akan memberi Anda daftar singkat - Saya sudah mencoba semuanya darinya dan, sejujurnya, setiap item memiliki pro dan kontra. Coba dan putuskan mana yang cocok untuk Anda, tetapi saya sangat menyarankan untuk mencoba beberapa opsi dan tidak terpaku pada satu opsi.
- Kursus online: coursera, udacity, Edx, dll;
- Sekolah baru: online dan offline - SkillFactory, SHAD, MADE;
- Sekolah klasik: program master universitas dan kursus penyegaran;
- Proyek - Anda cukup memilih tugas yang Anda minati dan memotongnya dengan mengunggahnya ke github;
- Magang - sulit untuk menyarankan sesuatu, Anda harus mencari apa yang tersedia dan menemukan opsi yang sesuai.
Apakah itu perlu?
Sebagai penutup, mungkin saya akan menambahkan tiga asas pribadi yang saya coba ikuti sendiri.
- Harus menarik;
- Untuk membawa kesenangan batin (= setidaknya tidak menyebabkan penderitaan);
- ยซ ยป.
Sebenarnya kenapa begitu? Sulit membayangkan bahwa Anda akan melakukan sesuatu dari hari ke hari dan Anda tidak akan menyukainya atau tidak akan tertarik. Bayangkan Anda adalah seorang dokter dan benci berkomunikasi dengan orang lain - tentu saja, cara ini bisa berhasil, tetapi Anda akan terus-menerus merasa tidak nyaman dengan arus pasien yang ingin menanyakan sesuatu kepada Anda. Ini tidak berhasil dalam jangka panjang.
Mengapa saya secara khusus menyebutkan kesenangan batin? Menurut saya hal ini perlu untuk pengembangan lebih lanjut dan, pada prinsipnya, untuk proses pembelajaran. Saya sangat menikmatinya ketika saya berhasil menyelesaikan beberapa fitur kompleks dan membangun model atau menghitung parameter penting. Saya menikmati ketika kode saya menyenangkan dan ditulis dengan baik. Karenanya, mempelajari sesuatu yang baru itu menarik dan tidak membutuhkan motivasi yang signifikan secara langsung.
"Menjadi milikmu" adalah perasaan bahwa kamu ingin melakukan itu. Saya punya sedikit cerita. Sejak kecil, saya menyukai musik rock (dan metal - SALMON!) Dan berapa banyak orang yang ingin belajar bermain, itu saja. Ternyata saya tidak memiliki pendengaran dan tidak memiliki suara - ini sama sekali tidak mengganggu saya (dan saya harus mengatakan ini tidak mengganggu banyak pemain di atas panggung), dan sebagai anak sekolah saya punya gitar ... dan menjadi jelas bahwa saya tidak terlalu suka duduk berjam-jam dan mainkan. Itu menjadi sulit, sepanjang waktu bagi saya sepertinya ada semacam sampah yang keluar - saya tidak mendapatkan kesenangan sama sekali dari ini dan hanya merasa buruk, bodoh dan sama sekali tidak mampu. Saya benar-benar memaksakan diri untuk duduk di kelas dari bawah tongkat dan secara umum itu bukan makanan kuda.
Pada saat yang sama, saya bisa duduk dengan tenang selama berjam-jam mengembangkan beberapa jenis mainan, menganimasikan sesuatu dalam sekejap (atau sesuatu yang lain) dengan bantuan skrip, dan saya sangat termotivasi untuk menyelesaikan elemen dalam permainan atau berurusan dengan mekanisme gerakan dan / atau menghubungkan pustaka pihak ketiga, plugin, dan lainnya.
Dan pada titik tertentu saya menyadari bahwa bermain gitar bukanlah milik saya, dan sungguh, saya suka mendengarkan, bukan bermain. Dan mata saya terbakar ketika saya menulis game dan kode (mendengarkan semua jenis metal pada saat itu) dan inilah yang saya sukai saat itu, dan saya seharusnya melakukan ini.
Masih ada pertanyaan
Tentu saja, kami tidak dapat membahas semua topik dan pertanyaan, jadi tulis komentar Anda dan secara pribadi - Saya selalu senang memiliki pertanyaan.
