Praktek menunjukkan bahwa banyak perusahaan perusahaan menghadapi kesulitan dalam mengimplementasikan proyek analitis.
Masalahnya adalah bahwa, tidak seperti proyek klasik untuk penyediaan besi atau pengenalan solusi vendor yang sesuai dengan model eksekusi linier, tugas yang berkaitan dengan analisis lanjutan (ilmu data) sangat sulit untuk diformalkan dalam bentuk spesifikasi teknis yang jelas dan tidak ambigu dalam bentuk yang cukup untuk disampaikan. pemain Situasi ini diperparah oleh kenyataan bahwa pelaksanaan tugas membutuhkan integrasi sejumlah besar sistem TI internal dan sumber data, beberapa pertanyaan dan jawaban mungkin muncul hanya setelah pekerjaan dengan data dimulai dan keadaan nyata yang diungkapkan, yang sangat berbeda dari gambar dokumenter dunia. Ini semua berarti bahwa untuk menulis TK yang kompeten, perlu untuk melakukan bagian awal pekerjaan yang sebanding dengan setengah dari proyek, dikhususkan untuk studi dan formalisasi kebutuhan nyata, analisis sumber data, hubungan mereka, struktur, dan kesenjangan. Dalam kerangka organisasi, karyawan yang mampu melakukan pekerjaan besar seperti itu praktis tidak ada. Jadi ternyata persyaratan yang sepenuhnya kasar diberikan untuk kompetisi. Dalam kasus terbaik, kontes dibatalkan (dikirim untuk revisi) setelah serangkaian pertanyaan klarifikasi. Dalam skenario terburuk - untuk anggaran besar dan untuk jangka waktu yang lama, Anda mendapatkan sesuatu yang sama sekali berbeda dari rencana penggugat. Dan mereka tetap tanpa apa-apa.
Alternatif yang masuk akal adalah membuat tim ilmu data (DS) di dalam perusahaan. Jika Anda tidak bertujuan untuk membangun piramida Mesir, maka tim dan 2-3 spesialis yang kompeten dapat melakukan sangat, sangat banyak. Tetapi di sini muncul pertanyaan lain, bagaimana mempersiapkan para spesialis ini. Di bawah ini saya ingin berbagi serangkaian pertimbangan yang berhasil diuji untuk dengan cepat mempersiapkan "pasukan khusus" dengan R sebagai senjata.
Ini adalah kelanjutan dari publikasi sebelumnya .
Masalah
Saat ini, mencari pasar untuk para profesional yang kompeten dan memadai adalah masalah besar. Karena itu, sangat berguna untuk mempertimbangkan strategi pembelajaran yang sederhana dan memadai. Pada saat yang sama, spesifikasi pelatihan yang dibutuhkan diamati:
- tidak ada kesempatan untuk belajar selama berbulan-bulan, hasilnya harus diperoleh secepat mungkin;
- perlu ditekankan pada tugas nyata perusahaan;
- di industri DS ada banyak tugas yang terkait dengan pemrosesan data daripada dengan AI \ ML;
- Industrial DS bukan rumah seni, tetapi kegiatan terstruktur yang diterjemahkan ke dalam kode aplikasi yang stabil.
Meskipun Coursera, Datacamp, berbagai buku, serta program ML luar biasa, tidak satu pun dari rangkaian program studi tidak memungkinkan untuk memperoleh serangkaian karakteristik yang diperlukan. Mereka berfungsi sebagai sumber yang sangat baik untuk meningkatkan keterampilan, tetapi sulit untuk memulai dengan cepat. Tugas utama di awal yang cepat adalah untuk menunjukkan jalur, rawa, perangkap; untuk membiasakan diri dengan berbagai alat yang ada; menunjukkan bagaimana tugas-tugas perusahaan dapat diselesaikan dengan menggunakan alat; membuang ke danau dari perahu dan berenang.
Penting untuk menunjukkan bahwa R tidak hanya instrumen, tetapi juga komunitas yang tepat. Oleh karena itu, penggunaan sejumlah besar perkembangan yang relevan, termasuk Presentasi, adalah salah satu format bekerja dengan komunitas. Hadley bahkan dapat menulis pertanyaan di tweeter atau github. Untuk pertanyaan yang layak, Anda bisa mendapatkan jawaban yang komprehensif.
Sebagai hasil dari berbagai percobaan, pendekatan struktural โDeep Dive Into Rโ untuk penyediaan bahan dasar diperoleh.
Menyelam di R
- Durasi kursus optimal adalah 50 jam (~ 7-9 hari selama 7-6 jam).
- Tujuan utama dari kursus adalah pembentukan keterampilan praktis untuk penulisan cepat kode berkualitas tinggi dan efektif menggunakan algoritma yang optimal.
- Demo komprehensif paling baik dibuat pada tugas-tugas khusus - dengan cara ini Anda dapat membiasakan diri dengan alat dan pendekatan lebih cepat.
- Sejumlah besar masalah dianggap berfungsi untuk membentuk representasi dan "bookmark" tentang kemampuan ekosistem.
- Rincian hari bukanlah dogma, tetapi kontrol fokus yang direncanakan.
- Untuk setiap hari, untuk menunjukkan dan mengkonsolidasikan materi, tugas-tugas praktis dari berbagai tingkat kompleksitas dan volume dianalisis.
Sebelum memulai, setiap siswa menerima tugas praktis (โmakalahโ) dari kepemimpinannya dalam bentuk tugas nyata yang harus dia selesaikan selama penyelaman dan melindunginya di akhir kursus.
Hari 1
Secara singkat tentang R. Sintaks dan struktur bahasa. Dasar-dasar penggunaan IDE RStudio untuk analisis dan pengembangan. Jenis dan data dasar. Komputasi interaktif dan eksekusi kode program. Pengantar singkat untuk R Markdown dan R notebook. Prinsip bekerja dengan perpustakaan. Mempersiapkan pekerjaan analitis, menginstal perpustakaan yang diperlukan, membuat proyek. Prinsip-prinsip perhitungan profil, pencarian tempat-tempat kemacetan (sangat panjang) dan penghapusannya.
- Sejarah dan Ekologi R
- RStudio Cheatsheets
- Memulai-dengan-R-Markdown
- Kriteria untuk kualitas pelatihan / pekerjaan: kami dengan cepat menulis kode yang cepat dan ringkas menggunakan algoritma yang optimal
- Vektorisasi
- Evaluasi kecepatan eksekusi kode:
system.time
, tictoc
, benchmark
, bench
, profvis
- Penilaian Kinerja Sistem:
benchmarkme
- Ecosystem R, dasar-dasar bahasa
- Nilai-nilai
NA
, NULL
, NaN
. - Operator
=
, ==
, <-
- Fungsi
is.na()
, is.null()
, is.nan()
, ( is.finite()
, is.infinite()
) - Berlangganan & mengiris
Hari 2
Konsep dan ekosistem paket 'rapi' ( https://www.tidyverse.org/ ). Tinjauan singkat dari paket-paket yang termasuk di dalamnya (impor / pemrosesan / visualisasi / ekspor). Konsep tidy data
sebagai dasar metode kerja di tidyverse
. 'tibble' sebagai format representasi data. (Paket dari ekosistem terbalik). Transformasi dan manipulasi data. Sintaks dan prinsip-prinsip pemrosesan aliran (pipa). - -
. (Paket tibble
, dplyr
, tidyr
.)
Hari ke 3
Pembentukan representasi grafis menggunakan ggplot ( https://ggplot2.tidyverse.org/reference/index.html ). Menggunakan alat grafis untuk menganalisis data bisnis.
Hari ke 4
Bekerja dengan string dan tipe yang disebutkan. Dasar-dasar ekspresi reguler. Bekerja dengan kurma. (Paket stringi
, stringr
, forcats
, re2r
, lubridate
, anytime
)
Hari ke 5
Impor data lanjutan. txt, csv, json, odbc, scrapping web (REST API), xlsx.
(Paket readr
, opexlsx
, jsonlite
, curl
, rvest
, httr
, readtext
, DBI
, data.table
)
- Direktori kerja.
getwd()
, setwd()
. Paket aplikasi here
- Add-in
rspivot
. rspivot adalah gadget Shiny untuk RStudio untuk melihat bingkai data. - Paket dan
datapasta
add-in. - Pengantar readr . Pergi ke fitur spesifikasi kolom.
- bekerja dengan Excel:
- Memotong web pada demo:
Hari 6
Ekspor data. rds, csv, json, xlsx, docx, pptx, odbc. Dasar-dasar R Markdown dan R Notebook.
(Paket opexlsx
, officer
, DBI
, jsonlite
, readr
, data.table
, knitr
)
Termasuk
- Membuat presentasi menggunakan R
officer
. - Ekspor ke PDF melalui rajutan -> LaTeX
- Ekspor Langsung ke Word
Hari ke 7
Dasar-dasar pemrograman dalam R. Membuat fungsi. Ruang lingkup variabel. Lihat objek. Lihat objek, strukturnya. Prinsip-prinsip operasi "melalui tautan."
- Konsep fungsi. Buat fungsi Anda sendiri.
- Konsep lingkungan. Lingkungan Lanjutan R. 7
- untuk loop, sedangkan loop
- tutorial purrr
- konsep perhitungan "aman", penggunaannya dalam analisis bets (
safely
) - Profvis - Alat profiling untuk kode R yang lebih cepat
- Pendekatan Lazy_evaluation, evaluasi non-standar, paket
lobstr
Hari ke 8
Pendekatan untuk validasi hasil antara dan akhir. Prinsip kolaborasi dan pembentukan komputasi yang dapat direproduksi. Demonstrasi aplikasi mengkilap sebagai antarmuka target untuk pengguna akhir. (Paket checkmate
, reprex
, futile.logger
, shiny
)
Hari ke 9
Metode dan pendekatan dalam bekerja dengan data ukuran "rata-rata". Paket data.table
. data.table
. Fungsi utamanya. Analisis eksperimental komparatif.
Ikhtisar pertanyaan tambahan yang muncul dalam 1-8 hari.
Hari 10
Perlindungan saja
Persyaratan Pekerjaan Anggota Windows 10
Buku
Kesimpulan
- Urutan pakan yang diusulkan bukan dogma. Mungkin ada berbagai derogasi dan termasuk. materi, termasuk sisipan matematika. Semuanya ditentukan oleh masalah topikal nyata dan tugas-tugas yang akan ditentukan untuk kursus dan daftar masalah produksi populer. Yang paling populer adalah regresi, pengelompokan, penambangan teks, dan algoritma deret waktu.
- Masalah komputasi paralel, membuat aplikasi mengkilap, menggunakan algoritma ML dan platform eksternal tidak sesuai dengan konsep "perendaman cepat", tetapi dapat menjadi kelanjutan setelah dimulainya pekerjaan praktis.
SDM PS biasanya mengalami kesulitan dalam merumuskan persyaratan pekerjaan.
Berikut adalah contoh yang mungkin untuk benih. Setiap pelengkap dan aturan berdasarkan harapan mereka.
Ilmu Data (DS): Big Data dan Analytics. Persyaratan Pekerjaan
- Pendidikan:
- Ilmiah teknis atau alam lebih tinggi.
- Sertifikat untuk mata pelajaran (Coursera, DataCamp) dipersilakan.
- Bahasa Inggris adalah aset (pembacaan gratis literatur teknis, pemahaman percaya diri dari pidato lisan yang tidak diadaptasi, bahasa lisan di tingkat komunikasi teknis).
- Pengalaman:
- Di bidang DS - setidaknya 1 tahun.
- Setidaknya 2 tahun pengalaman pengembangan tim dalam metodologi tangkas.
- Pengalaman dalam mengembangkan antarmuka pengguna (WEB + JS).
- Pengalaman dalam mengembangkan dokumentasi.
- Pengetahuan yang kuat tentang teknologi berikut (setidaknya 30% dari daftar):
- SQL + No-SQL backend (setidaknya satu dari setiap jenis database).
- Bahasa pemrograman open-source untuk tugas DS (Python, R, atau keduanya).
- Platform untuk menyimpan dan memproses data besar (Hadoop dan turunannya, Spark \ Ignite, ClickHouse, Vertica, ELK stack ...)
- Dasar-dasar HTML + JS + CSS untuk pengembangan web-GUI untuk pengguna akhir.
- Kemahiran dalam dasar-dasar statistik matematika dan aljabar linier.
- Rangkaian waktu (termasuk prediksi dan pencarian anomali).
- Pembelajaran mesin, jaringan saraf.
- Penambangan teks dan ekspresi reguler.
- Dasar-dasar administrasi sistem windows + nix.
- Alat dan algoritme untuk pemrosesan dan visualisasi geoinformation (ESRI, OpenStreet, Yandex Maps, Google Maps, leaflet, ..), bekerja dengan file shap dan GPX.
- Impor data ke alat ilmu data dan normalisasi mereka (file, ODBC, REST API, Web-crawling).
- Visualisasi (Tableau, QlikView, Excel, Shiny \ Dash).
- Paket matematika komersial (Wolfram Mathematica, Maple, Matlab).
- Tanggung jawab pekerjaan:
- Inspeksi dan persiapan sumber data.
- Pengembangan hipotesis dan verifikasi mereka pada sumber data.
- Pengembangan model matematika dan pengujiannya.
- Pengembangan solusi desain perangkat lunak.
- Pengembangan aplikasi-WEB dan dasbor interaktif.
- Pengembangan laporan cetak.
- Tuning, pengujian, pengembangan dan pemeliharaan sirkuit analitis.
- Memperbarui dokumentasi proyek.
Posting sebelumnya - โSeberapa Cepat R untuk Produktivitas?โ .