Catatan Tanggal Ilmuwan: mulai dari mana dan apakah perlu?

Catatan Tanggal Ilmuwan: mulai dari mana dan apakah perlu?

TL;DR adalah postingan untuk tanya jawab tentang Ilmu Data dan cara memasuki profesi serta mengembangkannya. Dalam artikel ini saya akan menganalisis prinsip dasar dan FAQ dan saya siap menjawab pertanyaan spesifik Anda - tulis di komentar (atau di pesan pribadi), saya akan mencoba menjawab semuanya dalam beberapa hari.

Dengan munculnya rangkaian catatan “Tanggal Setan”, banyak pesan dan komentar datang dengan pertanyaan tentang bagaimana memulai dan di mana harus menggali, dan hari ini kita akan menganalisis keterampilan dan pertanyaan utama yang muncul setelah publikasi.

Segala sesuatu yang disebutkan di sini tidak mengklaim sebagai kebenaran hakiki dan merupakan opini subjektif penulis. Kami akan melihat hal-hal utama yang tampaknya paling penting dalam proses tersebut.

Mengapa sebenarnya hal ini diperlukan?

Agar tujuan dapat dicapai dengan lebih baik, sehingga terlihat setidaknya spesifik - Anda ingin menjadi DS atau Ilmuwan Riset di Facebook/Apple/Amazon/Netflix/Google - lihat persyaratan, bahasa, dan keterampilan yang diperlukan khusus untuk posisi apa. Bagaimana proses perekrutannya? Bagaimana keseharian kita menjalani peran seperti itu? Seperti apa rata-rata profil orang yang bekerja di sana?

Seringkali gambaran keseluruhannya adalah bahwa seseorang tidak benar-benar memahami apa yang sebenarnya dia inginkan dan tidak sepenuhnya jelas bagaimana mempersiapkan gambaran yang tidak jelas ini - jadi ada baiknya setidaknya memiliki rencana kasar tentang apa yang sebenarnya Anda inginkan.

Konkretkan tampilan tujuan saat ini

Sekalipun hal itu berubah seiring berjalannya waktu, dan perubahan rencana selama permainan berlangsung adalah hal yang wajar, ada baiknya Anda memiliki tujuan dan fokus pada tujuan tersebut, mengevaluasi dan memikirkan kembali secara berkala.

Akankah demikian atau masih relevan?

Pada saat Anda tumbuh menjadi suatu posisi.

Bayangkan sebelum Anda mendapatkan posisi, Anda perlu mendapatkan gelar PhD, bekerja selama 2-3 tahun di industri dan biasanya memotong rambut Anda saat bermeditasi di biara - bukankah situasi dengan Ilmu Data akan sama seperti dulu dengan para ekonom dan pengacara? Akankah segalanya berubah tanpa bisa dikenali lagi di bidang yang ingin Anda kejar?

Bukankah ada peluang bagus bahwa semua orang akan bergegas ke sana sekarang dan kita akan melihat gambaran di mana ada banyak sekali orang yang mencoba memasuki profesi ini - dan hanya ada sedikit posisi awal.

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 letaknya.

Misalnya, penulis tidak berencana menjadi seorang pemuja setan, tetapi selama gelar PhD dia mengerjakan proyek pihak ketiga yang memiliki keterampilan kuat yang sama dengan DS, dan di akhir sekolah pascasarjana dia secara alami beralih ke lingkungan, melihat manfaat yang baik. posisi.

Jika selama permainan ternyata perlu untuk pindah ke tempat lain - karena sekarang ada pergerakan paling banyak dan semua aksi paling menarik sedang terjadi, maka kami akan pindah ke sana secara alami.

Kerusakan Keterampilan

Ini adalah kategori keterampilan bersyarat yang menurut saya merupakan kunci untuk pekerjaan penuh dan efektif di DS. Saya akan menyoroti bahasa Inggris secara terpisah - pelajari apa pun yang Anda lakukan di CS. Berikutnya adalah kategori utama.

Pemrograman/Skrip

Bahasa apa yang pasti Anda kuasai? ular piton? Jawa? Skrip shell? Lu? Sql? C++?

Apa sebenarnya yang perlu Anda lakukan dan mengapa dalam hal pemrograman - kisaran posisi di sini sangat bervariasi.

Misalnya, saya sering kali harus menerapkan logika yang kompleks, kueri, model, analitik, dan secara umum 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 dengan mereka yang menulis pustaka Tensorflow dan berpikir untuk mengoptimalkan kode untuk penggunaan cache l1 yang efisien dan hal-hal serupa, jadi lihat apa yang sebenarnya Anda butuhkan dan evaluasi jalur pembelajaran yang benar.

Misalnya untuk python, orang sudah make up kartu pembelajaran bahasa.

Tentunya, sudah ada saran yang berpengalaman dan sumber yang bagus untuk kebutuhan Anda - Anda perlu menentukan daftarnya dan mulai mengerjakannya.

Memahami proses bisnis

Anda tidak dapat pergi ke mana pun tanpanya: Anda perlu memahami mengapa Anda dibutuhkan dalam proses ini, apa yang Anda lakukan, dan mengapa. Seringkali hal inilah yang dapat menghemat banyak waktu, memaksimalkan keuntungan, dan tidak membuang waktu dan sumber daya untuk omong kosong.

Biasanya, saya bertanya pada diri sendiri pertanyaan-pertanyaan berikut:

  • Apa sebenarnya yang saya lakukan di perusahaan?
  • Kenapa?
  • Siapa yang akan menggunakannya dan bagaimana caranya?
  • Pilihan apa yang saya punya?
  • Apa batasan parameternya?

Berikut ini sedikit lebih detail tentang parameternya: Anda sering kali dapat mengubah skenario kerja secara signifikan jika Anda tahu bahwa ada sesuatu yang dapat dikorbankan: misalnya, interpretabilitas atau sebaliknya, beberapa persen tidak akan berperan di sini dan kami memiliki waktu yang sangat cepat solusi, dan klien membutuhkannya, karena dia membayar waktu pipeline berjalan di AWS.

Matematika

Di sini Anda memikirkan dan memahami semuanya sendiri - tanpa pengetahuan matematika dasar Anda tidak lebih dari monyet dengan granat (maaf Random Forest) - jadi Anda perlu memahami setidaknya hal-hal dasar. Jika saya menyusun daftar yang sangat minimal, itu akan mencakup:

  • Aljabar linier - sejumlah besar sumber daya mudah ditemukan di Google, cari yang paling cocok untuk Anda;
  • Analisis matematis - (setidaknya dalam dua semester pertama);
  • Teori probabilitas ada dimana-mana dalam pembelajaran mesin;
  • Kombinatorik - sebenarnya melengkapi teori;
  • Teori grafik - setidaknya BASIC;
  • Algoritma - setidaknya untuk dua semester pertama (lihat rekomendasi Cormen dalam bukunya);
  • Logika matematika - setidaknya dasar.

Analisis dan visualisasi data praktis

Salah satu hal terpenting adalah tidak takut mengotori data dan melakukan analisis komprehensif terhadap kumpulan data, memproyeksikan, dan membuat visualisasi data dengan cepat.

Analisis data eksplorasi seharusnya menjadi sesuatu yang alami, seperti semua transformasi data lainnya dan kemampuan untuk membuat pipeline sederhana dari node unix (lihat artikel sebelumnya) atau menulis buku catatan yang dapat dibaca dan dimengerti.

Saya ingin menyebutkan visualisasi: lebih baik melihat sekali daripada mendengar seratus kali.

Menampilkan grafik kepada pengelola seratus kali lebih mudah dan jelas daripada sekumpulan angka, jadi matplotlib, seaborn, dan ggplot2 adalah teman Anda.

Keterampilan lunak

Sama pentingnya untuk dapat mengomunikasikan ide-ide Anda, serta hasil dan kekhawatiran (dll.) kepada orang lain – pastikan Anda dapat menyatakan tugas dengan jelas baik dalam istilah teknis maupun bisnis.

Anda bisa menjelaskan kepada rekan kerja, manajer, atasan, klien dan siapapun yang membutuhkan apa yang terjadi, data apa yang Anda gunakan dan hasil apa yang Anda dapatkan.

Bagan dan dokumentasi Anda harus dibaca tanpa Anda. Artinya, Anda tidak perlu mendatangi Anda untuk memahami apa yang tertulis di sana.

Anda dapat membuat presentasi yang jelas untuk menyampaikan maksud dan/atau mendokumentasikan proyek/pekerjaan Anda.

Anda dapat menyampaikan posisi Anda dengan cara yang masuk akal dan tidak emosional, mengatakan “ya/tidak” atau mempertanyakan/mendukung suatu keputusan.

latihan

Ada banyak tempat berbeda di mana Anda dapat mempelajari semua ini. Saya akan memberikan daftar singkatnya - Saya mencoba semuanya dan, sejujurnya, setiap item memiliki kelebihan dan kekurangannya. Cobalah dan putuskan mana yang cocok untuk Anda, tetapi saya sangat menyarankan untuk mencoba beberapa opsi dan tidak terjebak pada satu opsi.

  • Kursus online: coursera, udacity, Edx, dll;
  • Sekolah baru: online dan offline - SkillFactory, ShAD, MADE;
  • Sekolah klasik: program master universitas dan kursus pelatihan lanjutan;
  • Proyek - Anda cukup memilih tugas yang Anda minati dan memotongnya, mengunggahnya ke github;
  • Magang - sulit untuk menyarankan apa pun di sini; Anda harus mencari apa yang tersedia dan menemukan opsi yang sesuai.

Apakah itu perlu?

Sebagai kesimpulan, saya mungkin akan menambahkan tiga prinsip pribadi yang saya coba ikuti sendiri.

  • Harus menarik;
  • Mendatangkan kesenangan batin (= paling tidak tidak menimbulkan penderitaan);
  • "Untuk menjadi milikmu."

Mengapa mereka? Sulit membayangkan melakukan sesuatu setiap hari dan tidak menikmatinya atau tidak tertarik. Bayangkan Anda seorang dokter dan Anda benci berkomunikasi dengan orang lain - ini, tentu saja, bisa berhasil, tetapi Anda akan terus-menerus merasa tidak nyaman dengan arus pasien yang ingin menanyakan sesuatu kepada Anda. Ini tidak akan berhasil dalam jangka panjang.

Mengapa saya secara khusus menyebutkan kesenangan batin? Menurut saya hal ini perlu untuk pengembangan lebih lanjut dan, pada prinsipnya, proses pembelajaran. Saya sangat menikmatinya ketika saya berhasil menyelesaikan beberapa fitur kompleks dan membangun model atau menghitung parameter penting. Saya menikmatinya ketika kode saya indah secara estetika dan ditulis dengan baik. Oleh karena itu, mempelajari sesuatu yang baru merupakan hal yang menarik dan tidak secara langsung memerlukan motivasi yang berarti.

“Menjadi milikmu” adalah perasaan yang sama bahwa inilah yang kira-kira ingin Anda lakukan. Saya punya sedikit cerita. Sejak kecil, saya tertarik dengan musik rock (dan metal - SALMON!) Dan, seperti banyak orang lainnya, saya ingin belajar cara bermain dan itu saja. Ternyata saya tidak memiliki pendengaran dan suara - ini tidak mengganggu saya sama sekali (dan saya harus mengatakan ini tidak mengganggu banyak pemain di atas panggung), dan ketika saya masih di sekolah saya mendapat gitar... dan menjadi jelas bahwa saya tidak terlalu suka duduk berjam-jam dan bermain-main. Itu berjalan sulit, bagi saya sepertinya ada semacam omong kosong yang keluar - saya tidak menikmatinya sama sekali dan hanya merasa buruk, bodoh, dan sama sekali tidak mampu. Saya benar-benar memaksakan diri untuk duduk di kelas dan secara umum itu bukanlah makanan yang baik untuk kudanya.

Pada saat yang sama, saya bisa dengan tenang duduk berjam-jam mengembangkan mainan, menggunakan skrip untuk menganimasikan sesuatu di flash (atau yang lainnya) dan saya sangat termotivasi untuk menyelesaikan elemen dalam game atau menangani mekanisme gerakan dan/atau menghubungkan perpustakaan pihak ketiga, plugin, dan lainnya.

Dan pada titik tertentu saya menyadari bahwa bermain gitar bukanlah kesukaan saya dan saya sangat suka mendengarkan, bukan bermain. Dan mata saya berbinar ketika saya menulis permainan dan kode (mendengarkan segala jenis musik metal pada saat itu) dan itulah yang saya sukai saat itu, dan itulah yang seharusnya saya lakukan.

Apakah Anda memiliki pertanyaan lain?

Tentu saja, kami tidak dapat membahas semua topik dan pertanyaan, jadi tulis komentar dan PM saya - Saya selalu senang jika ada pertanyaan.

Catatan Tanggal Ilmuwan: mulai dari mana dan apakah perlu?

Catatan Tanggal Ilmuwan: mulai dari mana dan apakah perlu?

Sumber: www.habr.com

Tambah komentar