Nota Saintis Data: di mana untuk bermula dan adakah ia perlu?

Nota Saintis Data: di mana untuk bermula dan adakah ia perlu?

TL;DR ialah siaran untuk soalan/jawapan tentang Sains Data dan cara memasuki profesion dan berkembang di dalamnya. Dalam artikel itu saya akan menganalisis prinsip asas dan Soalan Lazim dan bersedia menjawab soalan khusus anda - tulis dalam komen (atau dalam mesej peribadi), saya akan cuba menjawab segala-galanya dalam masa beberapa hari.

Dengan kemunculan siri nota "Tarikh Syaitan", banyak mesej dan komen datang dengan soalan tentang bagaimana untuk memulakan dan di mana untuk menggali, dan hari ini kami akan menganalisis kemahiran dan persoalan utama yang timbul selepas penerbitan.

Semua yang dinyatakan di sini tidak mendakwa sebagai kebenaran muktamad dan merupakan pendapat subjektif pengarang. Kami akan melihat perkara utama yang kelihatan paling penting dalam proses itu.

Mengapa sebenarnya ini diperlukan?

Agar matlamat dapat dicapai dengan lebih baik, supaya ia kelihatan sekurang-kurangnya agak khusus - anda ingin menjadi DS atau Saintis Penyelidikan di Facebook/Apple/Amazon/Netflix/Google - lihat keperluan, bahasa dan kemahiran yang diperlukan khusus untuk jawatan yang mana. Apakah proses pengambilan pekerja? Bagaimanakah satu hari biasa melalui peranan sedemikian? Apakah rupa rata-rata profil seseorang yang bekerja di sana?

Selalunya gambaran keseluruhan adalah bahawa seseorang tidak benar-benar memahami apa sebenarnya yang dia mahukan dan tidak sepenuhnya jelas bagaimana untuk mempersiapkan imej yang tidak jelas ini - jadi ia patut mempunyai sekurang-kurangnya rancangan kasar tentang apa sebenarnya yang anda inginkan.

Konkritkan pandangan matlamat semasa

Walaupun ia berubah sepanjang perjalanan, dan secara amnya adalah perkara biasa untuk menukar rancangan semasa permainan berlangsung, adalah berbaloi untuk mempunyai matlamat dan memfokuskannya, menilai dan memikirkan semula secara berkala.

Adakah ia akan berlaku atau masih relevan?

Pada masa anda berkembang menjadi kedudukan.

Bayangkan sebelum kedudukan anda, anda perlu mendapatkan PhD, bekerja selama 2-3 tahun dalam industri dan secara amnya memotong rambut anda semasa bermeditasi di biara - bukankah keadaan Sains Data akan sama seperti dahulu dengan ahli ekonomi dan peguam? Adakah segala-galanya akan berubah di luar pengiktirafan dalam bidang yang anda ingin kejar?

Tidakkah ada peluang yang baik bahawa semua orang akan tergesa-gesa ke sana sekarang dan kita akan melihat gambaran di mana terdapat lapisan luas orang yang cuba memasuki profesion - dan hanya akan ada kedudukan permulaan yang tidak seberapa.

Mungkin berbaloi untuk mempertimbangkan trend semasa apabila memilih laluan, bukan sahaja keadaan semasa pasaran buruh, tetapi juga idea anda tentang bagaimana ia berubah dan di mana ia berada.

Sebagai contoh, penulis tidak bercadang untuk menjadi seorang Satanis, tetapi semasa PhDnya dia bekerja pada projek pihak ketiga yang mempunyai kemahiran yang sama dengan DS, dan pada akhir sekolah siswazah dia secara semula jadi beralih kepada persekitaran, melihat yang baik. kedudukan.

Jika semasa permainan ternyata perlu untuk berpindah ke tempat lain - kerana kini terdapat pergerakan yang paling banyak dan semua aksi yang paling menarik sedang berlaku, maka kami akan bergerak ke sana secara semula jadi.

Pecahan Kemahiran

Ini adalah kategori kemahiran bersyarat yang saya lihat sebagai kunci untuk kerja penuh dan berkesan dalam DS. Saya akan menyerlahkan bahasa Inggeris secara berasingan - pelajari apa sahaja yang anda lakukan dalam CS. Seterusnya ialah kategori utama.

Pengaturcaraan/Skrip

Apakah bahasa yang anda pasti kenali? Ular sawa? Jawa? Skrip Shell? Lua? SQL? C++?

Apa sebenarnya yang anda perlu lakukan dan mengapa dari segi pengaturcaraan - julat jawatan di sini sangat berbeza.

Sebagai contoh, saya sering perlu melaksanakan logik kompleks, pertanyaan, model, analitik, dan secara amnya membangunkan sistem yang ditafsirkan, tetapi hampir tidak ada keperluan untuk kelajuan kod, kecuali yang paling umum dan munasabah.

Oleh itu, set kemahiran saya sangat berbeza daripada mereka yang menulis perpustakaan Tensorflow dan berfikir tentang mengoptimumkan kod untuk penggunaan cache l1 yang cekap dan perkara yang serupa, jadi lihat apa sebenarnya yang anda perlukan dan nilaikan laluan yang betul untuk pembelajaran.

Sebagai contoh, untuk ular sawa, orang sudah bersolek kad belajar bahasa.

Sudah tentu, sudah ada nasihat berpengalaman dan sumber yang baik untuk keperluan anda - anda perlu membuat keputusan mengenai senarai dan mula mengusahakannya.

Memahami proses perniagaan

Anda tidak boleh pergi ke mana-mana tanpanya: anda perlu memahami mengapa anda diperlukan dalam proses ini, apa yang anda lakukan dan mengapa. Ini selalunya yang boleh menjimatkan banyak masa, memaksimumkan faedah anda dan mengelakkan pembaziran masa dan sumber pada omong kosong.

Biasanya, saya bertanya kepada diri sendiri soalan berikut:

  • Apa sebenarnya yang saya lakukan dalam syarikat?
  • Mengapa?
  • Siapa yang akan menggunakannya dan bagaimana?
  • Apakah pilihan yang saya ada?
  • Apakah had parameter?

Berikut ialah butiran lebih lanjut tentang parameter: anda selalunya boleh mengubah senario kerja dengan banyak jika anda tahu bahawa sesuatu boleh dikorbankan: contohnya, kebolehtafsiran atau sebaliknya, beberapa peratus tidak akan memainkan peranan di sini dan kami mempunyai masa yang sangat pantas penyelesaian, dan pelanggan memerlukannya, kerana dia membayar untuk masa saluran paip berjalan dalam AWS.

Matematik

Di sini anda berfikir dan memahami segala-galanya sendiri - tanpa pengetahuan tentang matematik asas anda tidak lebih daripada monyet dengan bom tangan (maaf Random Forest) - jadi anda perlu memahami sekurang-kurangnya perkara asas. Jika saya menyusun senarai yang sangat minimum, ia akan termasuk:

  • Algebra linear - sejumlah besar sumber mudah untuk Google, cari yang paling sesuai untuk anda;
  • Analisis matematik - (sekurang-kurangnya dalam dua semester pertama);
  • Teori kebarangkalian ada di mana-mana dalam pembelajaran mesin;
  • Kombinatorik - ia sebenarnya adalah pelengkap kepada teori;
  • Teori graf - sekurang-kurangnya ASAS;
  • Algoritma - sekurang-kurangnya untuk dua semester pertama (lihat cadangan Cormen dalam bukunya);
  • Matematik - sekurang-kurangnya asas.

Analisis dan visualisasi data praktikal

Salah satu perkara yang paling penting adalah untuk tidak takut mengotorkan data dan menjalankan analisis komprehensif set data, projek dan mencipta visualisasi data yang pantas.

Analisis data penerokaan sepatutnya menjadi sesuatu yang semula jadi, seperti semua transformasi data lain dan keupayaan untuk mencipta saluran paip mudah daripada nod unix (lihat artikel sebelumnya) atau menulis buku nota yang boleh dibaca dan difahami.

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

Menunjukkan graf kepada pengurus adalah seratus kali lebih mudah dan lebih jelas daripada set nombor, jadi matplotlib, seaborn dan ggplot2 ialah rakan anda.

Kemahiran insaniah

Sama pentingnya untuk dapat menyampaikan idea anda, serta keputusan dan kebimbangan (dsb.) kepada orang lain - pastikan anda boleh menyatakan tugas dengan jelas dalam kedua-dua istilah teknikal dan perniagaan.

Anda boleh menerangkan kepada rakan sekerja, pengurus, pihak atasan, pelanggan dan sesiapa sahaja yang memerlukannya apa yang berlaku, data yang anda gunakan dan hasil yang anda perolehi.

Carta dan dokumentasi anda harus dibaca tanpa anda. Iaitu, anda tidak perlu pergi kepada anda untuk memahami apa yang tertulis di sana.

Anda boleh membuat pembentangan yang jelas untuk menyampaikan maksud dan/atau mendokumenkan projek/kerja anda.

Anda boleh menyampaikan pendirian anda dengan cara yang munasabah dan tidak beremosi, katakan "ya/tidak" atau soalan/sokongan keputusan.

latihan

Terdapat banyak tempat yang berbeza di mana anda boleh mempelajari semua ini. Saya akan memberikan senarai pendek - saya mencuba segala-galanya daripadanya dan, sejujurnya, setiap item mempunyai kebaikan dan keburukan. Cubalah dan tentukan apa yang sesuai dengan anda, tetapi saya sangat mengesyorkan mencuba beberapa pilihan dan tidak terperangkap pada satu.

  • Kursus dalam talian: coursera, udacity, Edx, dll;
  • Sekolah baharu: dalam talian dan luar talian - SkillFactory, ShAD, MADE;
  • Sekolah klasik: program sarjana universiti dan kursus latihan lanjutan;
  • Projek - anda hanya boleh memilih tugas yang menarik minat anda dan memotongnya, memuat naiknya ke github;
  • Latihan magang - sukar untuk mencadangkan apa-apa di sini; anda perlu mencari apa yang tersedia dan mencari pilihan yang sesuai.

Adakah perlu?

Kesimpulannya, saya mungkin akan menambah tiga prinsip peribadi yang saya cuba ikuti sendiri.

  • Harus menarik;
  • Membawa kesenangan batin (= sekurang-kurangnya tidak menyebabkan penderitaan);
  • "Untuk menjadi milik awak."

Kenapa mereka? Sukar untuk membayangkan melakukan sesuatu setiap hari dan tidak menikmatinya atau tidak berminat. Bayangkan bahawa anda seorang doktor dan anda tidak suka berkomunikasi dengan orang - ini, sudah tentu, entah bagaimana boleh berfungsi, tetapi anda akan sentiasa tidak selesa dengan aliran pesakit yang ingin bertanya sesuatu kepada anda. Ini tidak berfungsi dalam jangka masa panjang.

Mengapa saya menyebut secara khusus keseronokan dalaman? Nampaknya ini adalah perlu untuk pembangunan selanjutnya dan, pada dasarnya, proses pembelajaran. Saya sangat menikmatinya apabila saya berjaya menyelesaikan beberapa ciri yang kompleks dan membina model atau mengira parameter penting. Saya menikmatinya apabila kod saya cantik dari segi estetika dan ditulis dengan baik. Oleh itu, mempelajari sesuatu yang baru adalah menarik dan tidak langsung memerlukan sebarang motivasi yang ketara.

"Menjadi milik anda" adalah perasaan yang sama bahawa ini kira-kira apa yang anda mahu lakukan. Saya ada cerita sikit. Sejak zaman kanak-kanak, saya meminati muzik rock (dan metal - SALMON!) dan, seperti ramai yang lain, saya ingin belajar cara bermain dan itu sahaja. Ternyata saya tidak mempunyai pendengaran dan suara - ini tidak mengganggu saya sama sekali (dan saya mesti mengatakan ini tidak mengganggu ramai penghibur di atas pentas), dan ketika saya masih di sekolah saya mendapat gitar... dan menjadi jelas bahawa saya tidak begitu suka duduk berjam-jam dan bermain di atasnya. Ia berjalan dengan sukar, saya selalu kelihatan seperti sesuatu omong kosong yang keluar - Saya tidak mendapat sebarang kesenangan daripadanya dan hanya berasa buruk, bodoh dan tidak mampu sepenuhnya. Saya benar-benar memaksa diri saya untuk duduk untuk kelas dan secara amnya ia bukan makanan yang baik untuk kuda.

Pada masa yang sama, saya boleh duduk dengan tenang selama berjam-jam membangunkan beberapa mainan, menggunakan skrip untuk menghidupkan sesuatu pada kilat (atau sesuatu yang lain) dan saya sangat bermotivasi untuk menyelesaikan elemen dalam permainan atau berurusan dengan mekanik pergerakan dan/atau menghubungkan perpustakaan pihak ketiga, pemalam dan segala-galanya.

Dan pada satu ketika saya menyedari bahawa bermain gitar bukanlah perkara saya dan saya sangat suka mendengar, bukan bermain. Dan mata saya bersinar apabila saya menulis permainan dan kod (mendengar semua jenis logam pada masa itu) dan itulah yang saya suka ketika itu, dan itulah yang sepatutnya saya lakukan.

Adakah anda mempunyai sebarang soalan lain?

Sudah tentu, kami tidak dapat menjawab semua topik dan soalan, jadi tulis ulasan dan PM saya - saya sentiasa gembira untuk mempunyai soalan.

Nota Saintis Data: di mana untuk bermula dan adakah ia perlu?

Nota Saintis Data: di mana untuk bermula dan adakah ia perlu?

Sumber: www.habr.com

Tambah komen