Artikel ini adalah terjemahan dari artikel Thomas Nild,
Bagaimana Rasanya Belajar Ilmu Data pada tahun 2019

Visi hutan (acak) melalui pohon (keputusan)

Thomas Nield
Ikuti 4 Februari
10 menit untuk membaca
Inspirasi untuk yang berikut adalah artikel tentang
bagaimana rasanya belajar JavaScript pada tahun 2016. Jangan menganggap artikel ini terlalu serius. Ini sindiran, jadi jangan memperlakukannya sebagai nasihat hidup. Seperti semua tip, beberapa di antaranya bermanfaat, dan ada yang bodoh. Teks ini hanya pendapat yang sangat mirip dengan definisi ilmu data.
Saya mendengar itu untuk nasihat - kepada Anda. Terima kasih telah bertemu saya, dan terima kasih untuk kopinya. Anda tahu ilmu data, kan?
Ya, saya tahu. Tahun lalu saya pergi ke PyData dan O'Reilly Strata (konferensi tentang analisis data - sekitar Per.) Dan di akun saya ada beberapa model.
Ya, saya mendengar bahwa minggu lalu Anda memiliki presentasi yang bagus tentang pembelajaran mesin untuk perusahaan kami. Rekan saya mengatakan itu sangat membantu.
Klasifikasi foto kucing dan anjing? Ya terima kasih
Singkatnya, saya memutuskan bahwa saya tidak bisa lagi mengabaikan ilmu data , kecerdasan buatan dan pembelajaran mesin . Saya bekerja sebagai analis dan konsultan selama bertahun-tahun, menyusun ulang angka di Excel, membuat tabel dan bagan pivot. Tapi sepanjang waktu saya menemukan artikel yang mengatakan bahwa AI akan mengambil pekerjaan, bahkan untuk pekerja kerah putih seperti saya.

Itu semua yang diperlukan untuk menjadi ilmuwan data yang percaya diri (pada 2013). Cukup terjangkau, ya? ( Sumber: Swami Chandrasekaran )
Saya mencari cara untuk menjadi tanggal Ilmuwan, menemukan "rencana" ini dan belajar tentang krisis eksistensial. Izinkan saya bertanya, apakah saya benar-benar harus menguasai semua yang ada di diagram ini untuk menjadi seorang ilmuwan?
Saya akan menjawab secara singkat - tidak. Tidak ada orang lain yang menggunakan rencana ini. Dia adalah 2013. Ia bahkan tidak memiliki TensorFlow, dan beberapa jalur di atasnya bisa dicoret begitu saja. Saya pikir sudah pada saat itu "ilmu data" menjadi lebih kompleks dan terspesialisasi. Akan lebih baik menggunakan pendekatan yang berbeda.
Oke, sedikit lebih baik. Jadi, haruskah aku kembali ke sekolah? Saya membaca di suatu tempat bahwa banyak tanggal Para ilmuwan memiliki setidaknya gelar master. Haruskah saya mendapatkan gelar master dalam ilmu data?
Tuhan, mengapa kamu membutuhkan ini? Anda umumnya harus berhati-hati dengan bidang pelatihan "ilmu data", yang pada umumnya mendesain ulang "analitik bisnis". Selain itu, akademisi modern cenderung tertinggal di belakang industri dan dapat mengajarkan teknologi yang sudah ketinggalan zaman. Untuk mendapatkan informasi terbaru, Anda sebaiknya belajar mandiri di Coursera, Stepik atau Khan Academy.
Begini caranya.
Meskipun jika Anda kuliah, mungkin kemudian ke fisika atau metode matematika operasi penelitian? Sulit dikatakan. Anehnya, banyak teman kencan yang baik Ilmuwan yang saya kenal berasal dari daerah ini. Anda mungkin dapat menemukan program pelatihan sains data yang baik. Saya tidak tahu, berbicara dengan dokter ilmu ini, dia akan memberi tahu Anda posisinya.
Jadi, bagaimana Anda memulai pendidikan mandiri? Seseorang di LinkedIn mengatakan bahwa mereka yang tertarik dengan ilmu data harus memulai dengan menjelajahi Linux. Kemudian di Twitter, saya membaca bahwa ada orang lain yang bersikeras bahwa tanggal Para ilmuwan harus mempelajari Scala, bukan Python atau R.
Nah, orang ini membeku di LinkedIn. Adapun "ahli" Scala, jika Anda menyelam dengan cepat, maka tolong, tetapi tidak di kolam ini. Percayalah padaku. Sudah 2019 di halaman. Scala sudah lama tidak ada di komunitas sains data. Dan jika demikian, PySpark tidak akan muncul. Dan tentu saja jangan dengarkan para hipster seperti pria yang selalu berbicara tentang Kotlin.
Ok! Bagaimana dengan R? Sepertinya orang menyukainya.
R bagus dalam pemodelan matematika, dan tidak lebih. Dengan Python, Anda akan mendapatkan lebih banyak dari investasi Anda dalam pelatihan dan Anda dapat melakukan berbagai tugas yang lebih luas, seperti mengumpulkan data dan menyiapkan layanan web.
Tetapi R masih memegang tempat yang cukup tinggi di Tiobe , dan ia memiliki banyak pengikut dan sumber daya. Gunakan - merugikan diri sendiri?
Lihat, Anda dapat menggunakan R. Jika Anda hanya tertarik pada matematika, tentu saja itu bisa diperdebatkan, tetapi lebih baik, tetapi bahkan lebih baik bekerja dengan Tidyverse . Tetapi ilmu data masih banyak, JAUH lebih dari matematika dan statistik. Percayalah, dengan Python pada 2019 Anda bisa melangkah lebih jauh.
Ok, jadi ... Rupanya saya mulai belajar Python.
Anda tidak akan menyesalinya.
Apakah Python rumit? Apakah saya akan tetap bertahan dengannya ketika robot mengambil alih?
Yah, tentu saja, Python adalah bahasa yang cukup sederhana. Dengan itu, Anda dapat mengotomatisasi banyak tugas dan membuat nishtyaki keren . Tapi Anda bahkan tidak perlu Python. Ilmu data jauh lebih dari sekadar skrip dan pembelajaran mesin.
Apa maksudmu
Nah, ini hanya alat. Anda menggunakan Python untuk mendapatkan informasi dari data. Kadang-kadang membutuhkan pembelajaran mesin, tetapi dalam kebanyakan kasus tidak. Ilmu data bisa berarti membuat grafik. Bahkan, Anda bahkan tidak perlu belajar Python, Anda bisa menggunakan Tableau. Mereka beriklan bahwa mereka dapat "menjadikan semua orang di organisasi Anda sebagai tanggal Ilmuwan" jika mereka hanya menggunakan produk mereka.

Tableau yakin bahwa mereka dapat menyelesaikan masalah personel karena kurangnya tanggal Ilmuwan.
Hentikan apa? Jadi, saya hanya membeli lisensi untuk Tableau, dan apakah saya sekarang berkencan dengan Ilmuwan? Baiklah, mari kita bicara tentang tawaran komersial ini dengan sentuhan skeptis. Mungkin saya bodoh, tapi saya tahu ilmu data tidak hanya menciptakan visualisasi yang indah. Saya bisa melakukan ini di Excel juga.
Tentu saja Namun, kita harus mengakui bahwa ini adalah pemasaran yang hebat. Grafik memang menyenangkan, tentu saja, tetapi mereka kehilangan semua rasa sakit dan banyak waktu yang diperlukan untuk menghapus, memproses, memodifikasi, dan memuat data.
Ya, dan itulah sebabnya saya menduga ada nilai dalam mempelajari kode. Mari kita bicara tentang Python.
Tunggu sebentar, sebenarnya. Mungkin Anda harus belajar Alteryx.
Apa?
Ada perangkat lunak lain bernama Alteryx yang memungkinkan Anda untuk membersihkan, memproses, memodifikasi, dan mengunduh data. Ini hebat karena menggunakan Drag & Drop untuk menggabungkan data dan ...

Alteryx juga menjanjikan "ilmu data" tanpa kode.
Ya Tuhan, tolong berhenti. Tidak ada lagi seret & lepas. Saya ingin belajar Python, bukan Alteryx atau Tableau.
Oke maaf Saya hanya mencoba membuat hidup Anda lebih mudah, hindari pengkodean. Mungkin saya melakukan ini juga karena perusahaan kami membeli lisensi yang harus kami gunakan. Namun bagaimanapun juga, untuk menggunakan Python, Anda perlu mempelajari beberapa perpustakaan, seperti Pandas untuk mengelola DataFrame dan matplotlib untuk membuat grafik. Umumnya mencoret matplotlib. Gunakan Plotly. Ini menggunakan d3.js dan umumnya jauh lebih baik.
Saya tahu beberapa kata yang Anda ucapkan. Tapi apa itu DataFrame?
Nah, ini adalah struktur data dalam bentuk tabel dengan baris dan kolom. Anda bisa melakukan semua transformasi keren ini, tabel pivot, dan agregasi dengan DataFrame dengan Python.
Tunggu, jadi apa bedanya dengan Excel? Saya telah melakukan semua ini sejak lulus dari perguruan tinggi. Apakah ini berarti saya sudah berkencan dengan Ilmuwan?
Jika Anda tersanjung menyebut diri Anda seperti itu, tentu saja. Saya akan mengumumkan secara terbuka judul memproklamirkan diri ini setiap kali saya pergi ke sebuah pesta atau menulis resume.
Jadi apa yang membuat Python berbeda dari Excel?
Python berbeda karena semuanya bisa dilakukan di laptop Jupyter . Anda dapat melakukan semua tahap analisis data, dan laptop memvisualisasikan setiap langkah. Hampir seperti menulis cerita yang bisa Anda bagikan dengan orang lain. Komunikasi dan cerita, bagaimanapun, adalah bagian penting dari ilmu data.
Kedengarannya seperti PowerPoint. Saya sudah melakukan ini. Saya sangat bingung.
Ya Tuhan tidak. Laptop jauh lebih otomatis dan dioptimalkan, dan ini membuatnya mudah untuk melacak setiap langkah analisis. Tetapi jika Anda memikirkannya, saya baru ingat bahwa beberapa orang sama sekali tidak menyukai laptop, karena kode di dalamnya tidak nyaman untuk digunakan kembali. Lebih mudah untuk mendistribusikan kode di antara modul-modul di luar laptop jika Anda perlu mengubahnya menjadi produk perangkat lunak.
Jadi sekarang apakah ilmu data juga pengembangan perangkat lunak?
Mungkin, tapi jangan terganggu dengan ini. Ada banyak hal yang lebih mendesak yang perlu dipelajari pada awalnya. Untuk melakukan ilmu data, Anda jelas membutuhkan data - data.
Tentu saja
Dan tidak ada yang lebih baik bagi pemula selain mengumpulkan data di jaringan dari halaman Wikipedia yang sama yang dapat dibuang ke hard drive Anda.
Tunggu, apa yang ingin kita capai lagi?
Kami mencoba mendapatkan beberapa data untuk latihan. Menggores halaman web dan menguraikannya dengan Beautiful Soup akan memberi kami banyak data teks yang tidak terstruktur untuk digunakan.
Saya bingung. Saya baru saja selesai membaca buku SQL 130 halaman yang sangat baik , dan saya pikir saya akan meminta tabel, bukan memo internet. Bukankah SQL merupakan cara khas untuk mengakses data?
Kita bisa melakukan banyak hal menarik dengan data teks yang tidak terstruktur. Kita dapat menggunakannya untuk mengklasifikasikan suasana hati dalam pesan dari jejaring sosial atau untuk pemrosesan bahasa alami lainnya. NoSQL sangat bagus untuk menyimpan data jenis ini, karena kami dapat menyimpan sejumlah besar data tanpa khawatir membuatnya cocok untuk analitik.
Saya mendengar istilah NoSQL. Jadi, apakah itu SQL? Anti-SQL? Tunggu, saya pikir ini ada hubungannya dengan data besar, kan?
Yah, pertama, "data besar" adalah dari 2016. Kebanyakan orang tidak lagi menggunakan istilah ini, jadi tidak keren untuk mengatakan itu. Seperti banyak teknologi hype, itu melewati puncak popularitasnya dan menemukan aplikasi hanya di beberapa tempat. Tapi NoSQL pada dasarnya adalah hasil dari gerakan "big data" yang telah memelihara platform seperti MongoDB.
OK, tapi dari mana nama "NoSQL" berasal?
NoSQL berarti "tidak hanya SQL" dan mendukung struktur data di luar tabel relasional. Namun, database NoSQL, sebagai suatu peraturan, tidak menggunakan SQL, melainkan bahasa query mereka sendiri. Berikut adalah MongoDB dibandingkan dengan SQL:

Ya Tuhan, ini mengerikan. Jadi, Anda mengatakan bahwa setiap platform NoSQL memiliki bahasa permintaan sendiri? Apa yang salah dengan SQL?
Mengerti Dengan SQL, semuanya sudah beres, kecuali sudah puluhan tahun. Kegemaran untuk data yang tidak terstruktur telah menjadi peluang untuk melakukan sesuatu yang baru dan skala luas dengan cara yang sebelumnya tidak dapat diakses. Namun, saya pikir semakin banyak orang sampai pada kesimpulan bahwa ada gunanya menyimpan SQL . Ini sangat menyederhanakan analisis. Sedemikian rupa sehingga banyak teknologi NoSQL dan "data besar" telah diacak untuk menambahkan beberapa bentuk SQL . Lagipula, SQL adalah bahasa yang cukup universal, meskipun sulit bagi sebagian orang untuk menggunakannya.
Wow, baiklah. Jadi, saya menyadari bahwa mempelajari NoSQL untuk saya, sebagai tanggal Scientist, tidak penting, kecuali jika pekerjaan saya mengharuskan yang lain. Sepertinya saya aman hanya mengetahui SQL.
Semakin saya memikirkannya, semakin saya percaya bahwa ya, Anda benar, tetapi hanya sampai Anda tertarik untuk menjadi seorang insinyur data.
Insinyur Data?
Ya, tanggal Ilmuwan seolah-olah dibagi menjadi dua profesi. Insinyur data bekerja dengan sistem produksi dan membantu membuat data dan model yang cocok untuk digunakan, tetapi mereka kurang terlibat dalam pembelajaran mesin dan pemodelan matematika, yang, pada gilirannya, tetap menjadi tanggal bagi para ilmuwan. Ini mungkin diperlukan, karena sebagian besar SDM dan perekrut tidak melihat melampaui judul "Date Scientist" . Pikirkan tentang hal ini, jika Anda ingin menjadi seorang insinyur data, saya akan memberikan perhatian khusus untuk mempelajari Apache Kafka dan bukan NoSQL. Apache Kafka sekarang hanyalah bom.
Sekarang, diagram Venn ini akan membantu Anda. Untuk mendapatkan judul "Date Scientist", Anda harus berada di suatu tempat di lingkaran matematika / statistik , dan idealnya, di persimpangan dengan disiplin lain.

Diagram Venn Ilmu Data
Nah, sekarang saya tidak tahu apakah saya ingin menjadi ilmuwan data atau insinyur data. Mari kita lanjutkan. Jadi, kembali lagi, mengapa kita mem-parsing halaman Wikipedia?
Ya, mereka berfungsi sebagai masukan untuk pemrosesan bahasa alami, dan dengan bantuan mereka Anda dapat melakukannya, misalnya, obrolan bot.
Bagaimana Tay dari Microsoft? Apakah bot ini cukup pintar untuk memprediksi penjualan dan membantu saya meluncurkan produk baru dengan jumlah persediaan yang tepat? Apakah ada risiko bahwa ia akan menjadi rasis?
Secara teoritis, ada. Jika Anda memberinya artikel berita, Anda mungkin dapat membuat model yang mendefinisikan beberapa tren dan, sebagai hasilnya, memberikan rekomendasi pada keputusan bisnis. Tapi ini SANGAT sulit. Pikirkan baik-baik, ini mungkin bukan pilihan terbaik untuk memulai.
Jadi, well ... pemrosesan bahasa alami, bot obrolan, dan data teks yang tidak terstruktur mungkin tidak cocok untuk saya?
Mungkin, tetapi perlu diingat bahwa ilmu data ada di mana-mana sekarang. Perusahaan-perusahaan Silicon Valley seperti Google dan Facebook menangani banyak data tidak terstruktur (seperti posting media sosial dan artikel berita), dan jelas memiliki dampak besar pada definisi "ilmu data". Nah, sisanya, seperti kita, menggunakan data transaksi bisnis dalam bentuk database relasional dan teknologi yang kurang menginspirasi seperti SQL.
Kedengarannya bisa dipercaya. Saya berasumsi bahwa mereka mengabdikan bakat mereka di bidang data yang tidak terstruktur terutama untuk ekstraksi pesan pengguna, email, cerita untuk iklan dan tujuan keji lainnya.
Begitulah. Anda tahu, classifier Bayes yang naif mungkin terlihat menarik dan bermanfaat bagi Anda. Anda dapat mengambil teks dan memprediksi kategorinya. Ini cukup mudah diimplementasikan dari awal:
Kategorisasi badan teks menggunakan classifier Bayes yang naif
Anda benar, dia keren. Namun terlepas dari ini, saya tidak melihat nilai dalam data yang tidak terstruktur.
Kemudian lanjutkan. Jadi Anda bekerja dengan data tabular: spreadsheet dan banyak angka yang direkam. Sepertinya Anda ingin membuat prediksi atau analisis statistik.
Ya, kami akhirnya menemukan sesuatu! Akhirnya, kami akan memecahkan masalah nyata. Jadi ini sekarang akan memulai topik neuron dan pembelajaran yang mendalam?
E-gay, pegang kuda. Saya akan menyarankan mulai dengan distribusi normal dengan mean dan standar deviasi. Mungkin menghitung probabilitas dengan skor-z dan satu atau dua regresi linier.
Tetapi sekali lagi, saya bisa melakukan semuanya di Excel! Tidak bisa saya
Yah ... um ... ya, itu benar, Anda dapat melakukan banyak hal di atas di Excel. Tetapi saat menulis skrip, Anda mendapatkan lebih banyak fleksibilitas.
Bagaimana dengan VBA? Visual basic
Oke, saya akan mulai lagi dan berpura-pura tidak mengatakan itu. Excel memiliki operator statistik yang hebat dan model regresi linier yang baik. Tetapi jika Anda perlu membuat distribusi atau regresi normal terpisah untuk setiap kategori elemen, jauh lebih mudah untuk menulis skrip Python, daripada membuat rumus infernal, yang panjangnya bisa menjadi metrik jarak ke Bulan.

Saat Anda menjadi maju di Excel, Anda menimbulkan rasa sakit pada semua orang yang bekerja dengan Anda. (Ketika Anda menjadi keren dalam keunggulan, semua orang di sekitar Anda kesakitan)
Anda dapat menggunakan perpustakaan scikit-learn keren. Dengan itu Anda akan mendapatkan peluang yang jauh lebih kuat untuk berbagai regresi dan pembelajaran mesin.
Ok benar Jadi, tampaknya sekarang percakapan itu bergerak ke bidang pemodelan matematika. Berikut adalah banyak masalah matematika di depan saya, di mana saya mulai?
Nah, dalam pandangan tradisional, aljabar linier adalah blok bangunan bagi banyak hal dalam ilmu data, dan dengan itu Anda perlu memulainya. Perkalian dan penambahan matriks (produk skalar disebut) - ini adalah apa yang akan Anda lakukan sepanjang waktu, dan ada konsep penting lainnya, seperti penentu dan vektor eigen. 3Blue1Brown adalah satu-satunya saluran di mana Anda dapat menemukan penjelasan intuitif tentang aljabar linier.

Jadi ... penggandaan / penambahan satu matriks ke matriks lainnya - ini yang terutama akan saya lakukan? Kedengarannya tidak ada gunanya dan membosankan. Bisakah Anda memberi contoh?
Yah ... pembelajaran mesin! Ketika melakukan regresi linier atau membangun jaringan saraf Anda sendiri, Anda harus melipatgandakan matriks dan skala dengan nilai bobot acak berkali-kali.
Ok, jadi matriksnya ada hubungannya dengan bingkai data? Mereka terdengar seperti.
Tunggu sebentar ... Aku memikirkannya kembali. Mari kita kembali ke pernyataan ini. Dalam praktiknya, Anda tidak perlu melakukan aljabar linier.

Oh, ayolah! Benarkah? Jadi saya harus belajar aljabar linier atau tidak?
Dalam praktiknya, Anda mungkin tidak perlu belajar aljabar linier. Perpustakaan seperti TensorFlow dan scikit-learn akan melakukan segalanya untuk Anda. Pada akhirnya, itu benar-benar melelahkan dan membosankan. Tentu saja, Anda dapat memahami dan mendapatkan beberapa gagasan tentang bagaimana perpustakaan ini bekerja. Tetapi untuk sekarang, mulailah menggunakan perpustakaan pembelajaran mesin dan abaikan aljabar linear sepenuhnya.
Ketidakamanan Anda membuat saya khawatir. Bisakah aku mempercayaimu?
Tunjukkan setidaknya sedikit rasa hormat! Saya baru saja menarik Anda keluar dari kolam lain. Tidak semuanya.
Ooh
Namun, sampai saya lupa. Anda sendiri tidak menggunakan TensorFlow. Gunakan dengan Keras karena TensorFlow jauh lebih mudah dengannya.
Jika Anda kembali, apakah regresi linier benar-benar terkait dengan pembelajaran mesin?
Ya, regresi linier termasuk dalam daftar alat "pembelajaran mesin".
Keren, saya melakukan ini sepanjang waktu di Excel. Jadi bisakah saya menyebut diri saya seorang praktisi pembelajaran mesin?
* Menghela napas * secara teknis, ya. Tetapi Anda mungkin ingin sedikit memperluas wawasan Anda. Anda lihat, pembelajaran mesin (terlepas dari teknologi) sering terdiri dari dua tugas: regresi dan klasifikasi. Secara teknis, klasifikasi adalah regresi. Pohon keputusan, jaringan saraf, metode vektor dukungan, regresi logistik, dan ya ... regresi linier - semuanya cocok dengan kurva. Setiap model memiliki pro dan kontra tergantung pada situasinya.
Tunggu, apakah pembelajaran mesin hanya sebuah regresi? ?
. , , , , , . — . , , 2-3 , , .
, , . — ?
. . : . , () , , . , , , , , .
.
(!)
, ? ? ?
, , , , data science . “ ” .
, . , ?
, . , . «», , .
?
, , . , . , , , .
, ?
* * - , . , , . , : , , . .
, - , , , ?
, . , . … , « », , , . , .
, — , , ? … ? «», ?
, , ( ) , , . , , .
. , DeepMind , StarCraft! ! , ?
StarCraft ?
( )
, StarCraft ?

StarCraft, - StarCraft? : StarCraft. , , .
, . , … , , -. , , — . .
- Data Science , . , .
, ? «data science», … … . .
, . .
Terima kasih Saya perlu berjalan-jalan dan memikirkannya. Jika saya mengerti sesuatu, saya pikir pekerjaan saya di Excel memenuhi syarat sebagai "ilmu data". Meskipun saya tidak tahu apakah saya ingin memiliki gelar tanggal Scientist. Sepertinya itu bisa apa saja. Saya dapat menghabiskan waktu saya untuk sesuatu yang lain. Semoga "Hit Baru" berikutnya yang muncul setelah sains data tidak akan terlalu gila.
Mungkin Anda harus bekerja untuk beberapa waktu di IBM?
Mengapa
Pernah mendengar tentang komputasi kuantum?