Analisis Data Menggunakan Scala
Sangat penting untuk memilih alat yang tepat untuk analisis data. Di forum Kaggle, tempat diadakannya kompetisi Ilmu Data internasional, orang sering bertanya alat mana yang lebih baik. R dan Python berada di daftar teratas. Pada artikel ini kami akan memberi tahu Anda tentang tumpukan alternatif teknologi analisis data, berdasarkan Scala.
By Roman Zykov, Pendiri/Ilmuwan Data @ TopDataLab
Sangat penting untuk memilih alat yang tepat untuk analisis data. pada Kaggle.com forum-forum tempat diadakannya kompetisi Data Science internasional, orang sering bertanya alat mana yang lebih baik. R dan Python berada di daftar teratas. Dalam artikel ini kami akan memberi tahu Anda tentang tumpukan alternatif teknologi analisis data, berdasarkan bahasa pemrograman Scala dan percikan platform komputasi terdistribusi.
Bagaimana kami memikirkannya? Di Retail Rocket, kami melakukan banyak pembelajaran mesin pada kumpulan data yang sangat besar. Kami dulu menggunakan banyak IPython + Pyhs2 (driver sarang untuk Python) + Pandas + Sklearn untuk mengembangkan prototipe. Pada akhir musim panas 2014 kami membuat keputusan mendasar untuk beralih ke Spark, karena percobaan telah menunjukkan bahwa kami akan mendapatkan peningkatan kinerja 3-4 kali lipat di taman server yang sama.
Keuntungan lainnya adalah kita dapat menggunakan satu bahasa pemrograman untuk pemodelan dan kode yang akan dijalankan di server produksi. Ini adalah keuntungan besar bagi kami, karena sebelumnya kami menggunakan 4 bahasa secara bersamaan: Hive, Pig, Java, Python. Ini masalah bagi tim kecil insinyur.
Spark mendukung bekerja dengan Python/Scala/Java melalui API dengan baik. Kami memutuskan untuk memilih Scala karena ini adalah bahasa penulisan Spark, yang berarti kami dapat menganalisis kode sumbernya dan memperbaiki bug jika diperlukan. Ini juga merupakan JVM tempat Hadoop berjalan.
Saya harus mengatakan bahwa pilihan itu tidak mudah, karena tidak ada seorang pun di tim yang mengenal Scala saat itu.
Ini adalah fakta yang terkenal bahwa untuk belajar berkomunikasi dengan baik dalam suatu bahasa, Anda perlu membenamkan diri dalam bahasa tersebut dan menggunakannya sebanyak mungkin. Jadi kami meninggalkan tumpukan Python demi Scala untuk pemodelan dan analisis data yang cepat.
Langkah pertama adalah menemukan pengganti notebook IPython. Pilihannya adalah sebagai berikut:
- Zeppelin – notebook seperti IPython untuk Spark;
- ISpark;
- Buku Catatan Percikan;
- Notebook Spark IPython IBM.
- apache tbijih
Sejauh ini pilihannya adalah ISpark karena sederhana – ini adalah IPython untuk Scala/Spark. Sudah relatif mudah untuk memasang grafik HighCharts dan R. Dan kami tidak memiliki masalah untuk menghubungkannya ke kluster Benang.
tugas
Coba jawab pertanyaannya: apakah rata-rata jumlah pembelian (AOV) di toko online Anda bergantung pada parameter pelanggan statis, yang meliputi penyelesaian, jenis browser (seluler/Desktop), sistem operasi, dan versi browser? Anda dapat melakukan ini dengan Saling Informasi.
Kami banyak menggunakan entropi untuk algoritme dan analisis rekomendasi kami: rumus Shannon klasik, divergensi Kullback-Leibler, Informasi Reksa. Kami bahkan mengirimkan makalah tentang topik ini. Ada bagian terpisah, meskipun kecil, yang dikhususkan untuk langkah-langkah ini dalam buku teks terkenal Murphy tentang pembelajaran mesin.
Mari kita menganalisisnya pada data Ritel Ritel yang sebenarnya. Sebelumnya saya menyalin sampel dari cluster kami ke komputer saya sebagai file csv.
Data
Di sini kami menggunakan ISpark dan Spark yang berjalan dalam mode lokal, yang berarti bahwa semua perhitungan dilakukan secara lokal dan didistribusikan di antara inti prosesor. Semuanya dijelaskan dalam komentar ke kode. Yang paling penting adalah bahwa dalam output kita mendapatkan RDD (Spark data structure), yang merupakan kumpulan kelas kasus dari tipe Row, yang didefinisikan dalam kode. Ini akan memungkinkan Anda untuk merujuk ke bidang melalui ".", misalnya _.categoryId.
Sumber: https://www.kdnuggets.com/2021/09/data-analysis-scala.html
- "
- &
- 100
- Keuntungan
- algoritma
- Semua
- Amazon
- antara
- analisis
- Apache
- Lebah
- aplikasi
- artikel
- Bolt
- Browser
- bug
- membangun
- ikat
- perubahan
- Charts
- kode
- komentar
- Kompetisi
- komputasi
- data
- analisis data
- ilmu data
- ilmuwan data
- berurusan
- belajar mendalam
- mengembangkan
- MELAKUKAN
- komputasi terdistribusi
- pengemudi
- Teknik
- Insinyur
- dll
- Excel
- pengalaman
- eksperimen
- eksplorasi
- Menghadapi
- keluarga
- FAST
- Fitur
- Fields
- Pertama
- Memperbaiki
- pendiri
- Kerangka
- GitHub
- Hadoop
- di sini
- Sarang lebah
- Seterpercayaapakah Olymp Trade? Kesimpulan
- How To
- HTTPS
- besar
- informasi
- interaktif
- Internasional
- IT
- Jawa
- bahasa
- Bahasa
- besar
- BELAJAR
- pengetahuan
- Perpustakaan
- baris
- Daftar
- lokal
- lokal
- Panjang
- Mesin belajar
- Mesin
- matematika
- Metrik
- Microsoft
- pemodelan
- Paling Populer
- laptop
- secara online
- toko online
- Buka
- open source
- operasi
- sistem operasi
- Opsi
- urutan
- Lainnya
- kertas
- Konsultan Ahli
- prestasi
- perspektif
- Fisika
- Platform
- Populer
- portofolio
- Produksi
- Pemrograman
- proyek
- membeli
- Ular sanca
- eceran
- Run
- berjalan
- Scala
- Ilmu
- ilmuwan
- set
- penyelesaian
- Sederhana
- Ukuran
- keterampilan
- kecil
- So
- Perangkat lunak
- Space
- menyimpan
- cerita
- disampaikan
- musim panas
- Didukung
- Mendukung
- Beralih
- sistem
- Teknologi
- pengujian
- Grafik
- waktu
- puncak
- kesatuan
- URI
- us
- nilai
- jaringan
- Wikipedia
- Windows
- Kerja
- X
- tahun
- nol