Rumah Keuangan Pribadi Berjalan di Paralel Python untuk Data Science - dummies

Berjalan di Paralel Python untuk Data Science - dummies

Daftar Isi:

Video: Python Tutorial For Beginners | Python Full Course From Scratch | Python Programming | Edureka 2024

Video: Python Tutorial For Beginners | Python Full Course From Scratch | Python Programming | Edureka 2024
Anonim

Sebagian besar komputer saat ini multicore (dua atau lebih prosesor dalam satu paket), beberapa dengan beberapa CPU fisik. Salah satu keterbatasan terpenting Python adalah menggunakan inti tunggal secara default. (Ini diciptakan pada saat single core menjadi norma.)

Proyek ilmu data memerlukan banyak perhitungan. Secara khusus, bagian dari aspek ilmiah ilmu data bergantung pada tes berulang dan eksperimen pada matriks data yang berbeda. Jangan lupa bahwa bekerja dengan jumlah data yang besar berarti bahwa kebanyakan transformasi memakan waktu mengulang pengamatan setelah pengamatan (misalnya, operasi yang identik dan tidak terkait pada bagian matriks yang berbeda).

Menggunakan lebih banyak core CPU mempercepat perhitungan dengan faktor yang hampir sesuai dengan jumlah core. Misalnya, memiliki empat inti berarti bekerja paling cepat empat kali lebih cepat. Anda tidak menerima kenaikan empat kali lipat penuh karena ada overhead saat memulai proses paralel - contoh Python yang baru berjalan harus disiapkan dengan informasi in-memory yang tepat dan diluncurkan; Akibatnya, perbaikan akan kurang dari yang dapat dicapai namun tetap signifikan.

Mengetahui bagaimana menggunakan lebih dari satu CPU karena itu merupakan keterampilan yang maju namun sangat berguna untuk meningkatkan jumlah analisis yang telah selesai, dan untuk mempercepat operasi Anda saat menyiapkan dan menggunakan produk data Anda.

Multiprocessing bekerja dengan mereplikasi kode dan konten memori yang sama dalam berbagai contoh Python baru (para pekerja), menghitung hasilnya untuk masing-masing, dan mengembalikan hasil gabungan ke konsol asli utama. Jika contoh asli Anda sudah memenuhi sebagian besar memori RAM yang tersedia, tidak mungkin membuat kasus baru, dan mesin Anda mungkin kehabisan memori.

Cross-validating:

Menguji hasil hipotesis belajar mesin dengan menggunakan data pelatihan dan pengujian yang berbeda

  • Pencarian grid: Secara sistematis mengubah parameter hiper dari hipotesis belajar mesin dan menguji hasil konsekuen [Prediksi Multilabel:

  • Menjalankan algoritma berkali-kali terhadap beberapa target bila ada banyak hasil target yang berbeda untuk memprediksi pada saat yang sama Metode pembelajaran mesin pembuat Ensemble:

  • Memodelkan sejumlah besar pengklasifikasi, masing-masing independen dari yang lain, seperti saat menggunakan pemodelan berbasis RandomForest Anda tidak perlu melakukan sesuatu yang istimewa untuk memanfaatkan perhitungan paralel - Anda dapat mengaktifkan paralelisme dengan menyetel n_jobs -parameter ke sejumlah core lebih dari 1 atau dengan menetapkan nilai ke -1, yang berarti Anda ingin menggunakan semua instance CPU yang ada.

  • Jika Anda tidak menjalankan kode Anda dari konsol atau dari Notebook IPython, sangat penting bahwa Anda memisahkan kode dari impor paket atau variabel global apapun dalam skrip Anda dengan menggunakan if __name __ == '__ main__': perintah pada awal kode apapun yang mengeksekusi paralelisme multicore. Pernyataan jika memeriksa apakah program dijalankan secara langsung atau dipanggil oleh konsol Python yang sudah berjalan, menghindari kebingungan atau kesalahan oleh proses multiparalel (seperti rekursif memanggil paralelisme). Mendemonstrasikan multiprocessing

Sebaiknya gunakan IPython saat Anda menjalankan demonstrasi tentang bagaimana multiprocessing dapat benar-benar menghemat waktu Anda selama proyek sains data. Menggunakan IPython memberikan keuntungan menggunakan perintah magic time time untuk eksekusi waktu. Anda memulai dengan memuat dataset multiclass, algoritma pembelajaran mesin yang kompleks (Support Vector Classifier, atau SVC), dan prosedur validasi silang untuk memperkirakan skor yang dapat diandalkan dari semua prosedur.

Hal yang paling penting untuk diketahui adalah bahwa prosedur menjadi cukup besar karena SVC menghasilkan 10 model, yang diulang 10 kali setiap kali menggunakan validasi silang, dengan total 100 model.

dari sklearn. dataset import load_digits digit = load_digits () X, y = digit. data, angka target dari sklearn svm mengimpor SVC dari sklearn cross_validation import cross_val_score% timeit single_core_learning = cross_val_score (SVC (), X, y, cv = 20, n_jobs = 1) Out [1]: 1 loop, terbaik dari 3: 17. 9 s per loop

Setelah tes ini, Anda perlu mengaktifkan paralelisme multicore dan waktu hasilnya menggunakan perintah berikut:

% timeit multi_core_learning = cross_val_score (SVC (), X, y, cv = 20, n_jobs = -1) Out [2]: 1 loop, terbaik dari 3: 11. 7 s per loop

Mesin contoh menunjukkan keuntungan positif dengan menggunakan pemrosesan multicore, walaupun menggunakan kumpulan data kecil dimana Python menghabiskan sebagian besar waktu mulai konsol dan menjalankan sebagian kode di masing-masing. Overhead ini, beberapa detik, masih signifikan mengingat total eksekusi meluas selama beberapa detik. Bayangkan apa yang akan terjadi jika Anda bekerja dengan kumpulan data yang lebih besar - waktu eksekusi Anda dapat dengan mudah dipotong dua atau tiga kali.

Meskipun kode tersebut berfungsi dengan baik dengan IPython, meletakkannya di dalam skrip dan meminta Python untuk menjalankannya di konsol atau menggunakan IDE dapat menyebabkan kesalahan karena operasi internal dari tugas multicore. Solusinya adalah meletakkan semua kode di bawah sebuah pernyataan jika, yang memeriksa apakah program dimulai secara langsung dan tidak dipanggil sesudahnya. Inilah contoh skripnya:

dari sklearn. dataset mengimpor load_digits dari sklearn. svm mengimpor SVC dari sklearn cross_validation import cross_val_score jika __name__ == '__main__': digits = load_digits () X, y = digit. data, angka target multi_core_learning = cross_val_score (SVC (), X, y, cv = 20, n_jobs = -1)
Berjalan di Paralel Python untuk Data Science - dummies

Pilihan Editor

Menjelajahi Alternatif untuk Jaringan Multichannel - dummies

Menjelajahi Alternatif untuk Jaringan Multichannel - dummies

Ada kekuatan dalam jumlah - atau begitulah kata pepatah. Hal ini dapat membantu saat mengelola saluran YouTube Anda. Pemikiran seperti inilah yang menyebabkan terbentuknya jaringan multichannel (sering disebut dengan singkatan MCNs) di YouTube. MCN pada dasarnya adalah kesepakatan kemitraan yang dibuat oleh pembuat konten independen dengan jumlah yang lebih besar ...

Apa yang harus dilakukan jika Anda lupa kata kunci atau kata kunci YouTube

Apa yang harus dilakukan jika Anda lupa kata kunci atau kata kunci YouTube

Jika Anda lupa nama pengguna atau kata sandi YouTube Anda, jangan panik YouTube memiliki alamat e-mail Anda, dan Anda dapat mengambil nama pengguna atau kata sandi yang terlupakan dari mereka. (Saat pertama kali mendaftar ke YouTube, catat nama pengguna dan kata sandi Anda, terutama jika berbeda dari yang biasa Anda gunakan di situs Web lainnya.) Buka YouTube. com ...

Apa itu YouTube Red? - dummies

Apa itu YouTube Red? - dummies

YouTube Red adalah layanan berlangganan baru yang meningkatkan pengalaman YouTube. Layanan ini mencakup langganan Google Play Musik. YouTube Red bukan hanya layanan streaming video - namun juga membuka fitur hebat membuat YouTube menjadi tempat yang tepat untuk hiburan berjam-jam. Kredit: Gambar milik YouTube. com. Layanan Red YouTube ...

Pilihan Editor

Dua kolom Kolom Sidebar kiri Desain Gambar - dummies

Dua kolom Kolom Sidebar kiri Desain Gambar - dummies

Gambar cermin dari layout sidebar kanan dua kolom , desain blog dua kolom ini menampilkan konten blog utama Anda di sisi kanan dengan sidebar di sebelah kiri. Memilih sidebar di sebelah kanan pasti pilihan yang lebih umum di blogland, namun menggunakan sidebar kiri tetap bisa memberi dampak. Di sini, Anda ...

Transparansi dalam Komunitas Online - dummies

Transparansi dalam Komunitas Online - dummies

Transparansi adalah kata besar di ruang media sosial saat ini. Ini adalah istilah yang menyenangkan dan menyenangkan untuk kejujuran. Ini berarti mendapatkan kepercayaan komunitas online karena tidak ada yang perlu disembunyikan. Dengan bersikap transparan, Anda memberi pandangan publik pada cara kerja merek Anda. Anda tidak menyapu pers atau ketidakpuasan yang buruk di bawah karpet. ...

Matikan Blog Mom Anda ke Job - dummies

Matikan Blog Mom Anda ke Job - dummies

Dapatkan pekerjaan bukanlah perluasan dari Anda blog, tapi anggap itu lebih sebagai perluasan karir Anda. Beberapa blogger, termasuk ibu, telah membangun begitu banyak kepercayaan dan kredibilitas di media sosial bahwa perusahaan telah mempekerjakan mereka untuk mengisi beberapa pemasaran media sosial yang hebat dan posisi manajemen lainnya. Bila Anda ...

Pilihan Editor

Cara membuat Lembar Kerja Prakiraan di Excel 2016 - dummies

Cara membuat Lembar Kerja Prakiraan di Excel 2016 - dummies

Fitur Lembar Perkiraan baru di Excel 2016 membuatnya sangat mudah untuk mengubah lembar kerja yang berisi data keuangan historis menjadi lembar kerja ramalan visual yang luar biasa. Yang Anda lakukan adalah membuka lembar kerja dengan data historis Anda, posisi kursor sel dalam satu selnya, lalu klik tombol Forecast Sheet pada Data ...

Cara membuat Peta Daya 3-D di Excel 2016 - dummies

Cara membuat Peta Daya 3-D di Excel 2016 - dummies

Power Map adalah nama fitur analisis visual baru yang menarik di Excel 2016 yang memungkinkan Anda menggunakan data geografis, keuangan, dan jenis lainnya bersama dengan bidang tanggal dan waktu dalam model data Excel Anda untuk membuat tur peta 3D animasi. Untuk membuat animasi baru untuk tur pertama di Power ...

Bagaimana cara Copy Formula dengan IsiOtomatis di Excel 2016 - dummies

Bagaimana cara Copy Formula dengan IsiOtomatis di Excel 2016 - dummies

Jika Anda hanya perlu menyalin satu formula di Excel 2016, gunakan fitur IsiOtomatis atau perintah Copy and Paste. Jenis salinan formula ini, meski lumrah, tidak bisa dilakukan dengan drag and drop. Jangan lupa pilihan Totals pada alat Quick Analysis. Anda bisa menggunakannya untuk membuat baris ...