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 2025

Video: Python Tutorial For Beginners | Python Full Course From Scratch | Python Programming | Edureka 2025
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

Kantor 2011 untuk Mac: Membuat Tabel dengan Kotak Dialog atau Teks - dummies

Kantor 2011 untuk Mac: Membuat Tabel dengan Kotak Dialog atau Teks - dummies

Sementara ada cara baru untuk membuat tabel di Office 2011 untuk Mac, Anda masih bisa menggunakan teknik stand-by. Menu yang familiar masih bekerja di Office 2011 untuk Mac, dan inilah buktinya. Dialog meja semuanya masih ada di sana: Di Word, pilih Table → Insert → Table; Sebagai alternatif, pada tab Tabel Ribbon, di Tabel Pilihan ...

Kantor 2011 untuk Mac: Melepaskan Command Toolbar - dummies

Kantor 2011 untuk Mac: Melepaskan Command Toolbar - dummies

Apakah Anda menggunakan Office 2011 untuk Mac atau Produk Microsoft Office lainnya, toolbar Anda bisa sangat berantakan. Setiap kali Anda merasa perlu untuk men-tweak antarmuka aplikasi Microsoft Office, Anda perlu memanggil dialog Customize Toolbars and Menus. Ini adalah dialog super kuat di Word, Excel, dan PowerPoint yang memungkinkan Anda ...

Kantor 2011 untuk Mac: Berbagi Toolbar dan Menu - dummies

Kantor 2011 untuk Mac: Berbagi Toolbar dan Menu - dummies

Setelah Anda menyesuaikan Office 2011 Anda bilah alat dan antarmuka, Anda dapat berbagi penyesuaian dengan orang lain. Namun, pastikan bahwa Anda menasihati orang-orang yang telah Anda lakukan sebelum membagikan dokumen Anda dengannya; Jika tidak, mereka mungkin akan terkejut saat mereka membuka dokumen Anda dan melihat susunan toolbar atau menu yang berbeda dari pada apa ...

Pilihan Editor

Penting Office 2007 Commands - dummies

Penting Office 2007 Commands - dummies

Anda dapat membuat program Office 2007 lebih mudah jika Anda menggunakan pintasan sederhana ini. Perintah-perintah ini, seperti mengurungkan kesalahan dan memperbesar dan memperkecil akan membantu Anda menghemat waktu. Memasuki simbol: Untuk memasukkan simbol atau karakter asing yang tidak ada pada keyboard Anda, masuk ke tab Insert dan klik Symbol ...

Menyesuaikan Perintah Menu di Office 2003 - dummies

Menyesuaikan Perintah Menu di Office 2003 - dummies

Office 2003 menyediakan dua teknik untuk menyesuaikan menu dan perintah menu. Anda bisa memulai dari kotak dialog Rearrange Commands atau menggunakan metode drag-and-drop. Teruslah membaca. Menangani perintah menu di kotak dialog Rearrange Commands Teknik tombol Options Toolbar untuk menangani tombol toolbar bagus dan keren, tapi bagaimana jika Anda ingin ...

Pilihan Editor

Bagaimana memecahkan kesalahan logis dalam analisis argumen Pertanyaan GRE - dummies

Bagaimana memecahkan kesalahan logis dalam analisis argumen Pertanyaan GRE - dummies

Ketika Anda menjawab Argument Analysis Pertanyaan di GRE, argumen mungkin tampak logis dan adil di permukaan tapi sebenarnya keliru (keliru, cacat). Alasan melingkar, penalaran sebab-akibat yang keliru, dan generalisasi sweeping adalah tiga tanda argumen lemah. Dengan melihat beberapa kesalahan logis yang lebih umum, Anda dapat mengidentifikasi kelemahan dalam argumen dan ...

Pilihan ganda, Beberapa Jawaban tentang Tes Matematika GRE - Pertanyaan Praktik - dummies

Pilihan ganda, Beberapa Jawaban tentang Tes Matematika GRE - Pertanyaan Praktik - dummies

Meskipun pertanyaan matematika biasanya hanya memiliki satu jawaban yang benar, ini tidak selalu terjadi. Akibatnya, beberapa pertanyaan pilihan ganda pada tes GRE Math akan memberi Anda daftar jawaban dan meminta Anda untuk memilih lebih dari satu. Pertanyaan praktik berikut meminta Anda untuk menemukan nilai kemungkinan yang berbeda secara berurutan dan ...

Pilihan ganda, Beberapa Jawaban tentang Tes Verbal GRE - Pertanyaan Praktik - dummies

Pilihan ganda, Beberapa Jawaban tentang Tes Verbal GRE - Pertanyaan Praktik - dummies

Pada tes GRE Verbal, beberapa pertanyaan pilihan ganda akan memiliki lebih dari satu jawaban yang benar. Untuk pertanyaan ini, Anda akan diminta untuk melihat-lihat pilihan jawaban dan memilih semua yang menurut Anda benar. Dalam pertanyaan praktik berikut, Anda diminta untuk membaca bagian yang disertakan, dan kemudian ...