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

Perancang Minigame Minigame - dummies

Perancang Minigame Minigame - dummies

Sebelum menulis semua kode untuk membuat Minecraft Minigame, Anda perlu merancang permainan Anda. The Gameplay Loop adalah proses sederhana yang bisa Anda ikuti untuk memastikan permainan Anda menyenangkan, menantang, dan lengkap. The Gameplay Loop memiliki empat bagian: Start: Buat adegan dasar. Tujuan: Menambahkan cara untuk menang dan ...

Menciptakan Efek Air dan Es di Minecraft - dummies

Menciptakan Efek Air dan Es di Minecraft - dummies

Satu hal yang rapi tentang Minecraft adalah bahwa beberapa fisika realistis sedang dimainkan dalam permainan. Misalnya, jika Anda memiliki air dan Anda memasukkan es ke dalamnya, itu akan membeku! Oke, mungkin di dunia nyata, menambahkan es tidak membuat air membeku, tapi memang membuatnya lebih dingin. Anda dapat melihat ini ...

Mendapatkan Minecraft Experience Points - dummies

Mendapatkan Minecraft Experience Points - dummies

Di Minecraft, experience points, XP untuk jangka pendek, dikumpulkan dari bola pengalaman bercahaya. Sebagai pemain mengumpulkan cukup bola dan meningkatkan tingkat pengalaman mereka, mereka akan dapat menggunakan tabel dan landasan yang mempesona untuk meningkatkan kemampuan banyak item seperti senjata, baju besi, dan peralatan. Jadi, bagaimana Anda bisa cepat mendapatkan ini ...

Pilihan Editor

Bagaimana Mendidik dengan Infografis Informasi Dokumentual - dummies

Bagaimana Mendidik dengan Infografis Informasi Dokumentual - dummies

Infomasi editorial sama dengan artikel berita karena tujuan utamanya adalah untuk mengirimkan informasi. Di bawah payung grafis editorial, ada beberapa tipe yang berbeda, dengan keseimbangan bias dan objektivitas yang berbeda. Berikut adalah beberapa melihat: Badai salju menghantam kota Anda. Koran lokal menciptakan grafik yang menunjukkan hujan salju ...

Bagaimana Mengimpor Sketsa ke Ilustrator untuk Menciptakan Infografis - dummies

Bagaimana Mengimpor Sketsa ke Ilustrator untuk Menciptakan Infografis - dummies

Bahkan di dunia kabel ini, seniman masih suka sketsa Kabar baik! Sketsa kasar Anda dapat dengan mudah digunakan dalam draf infografis Anda. Anda dapat memindai sketsa atau mengambil gambar sketsa Anda dengan telepon Anda dan mengirim e-mail ke komputer Anda sendiri. Mereka tidak perlu diwarnai, cukup jelas bagi Anda untuk ...

Bagaimana cara memasukkan ilustrasi di Infografis Anda - jeleknya

Bagaimana cara memasukkan ilustrasi di Infografis Anda - jeleknya

Infografis yang baik (jelas) harus mencakup seni yang bagus. Ilustrasi mempromosikan alur cerita, menentukan elemen secara visual, dan mencerahkan halaman yang mungkin diisi dengan tipe abu-abu. Ilustrasi bisa berupa gambar fisik, semacam bagan atau grafik, atau bahkan garis waktu. Kehidupan sehari-hari Anda dipenuhi dengan contoh bagaimana ilustrasi ...

Pilihan Editor

GED Contoh Pertanyaan: Penalaran Melalui Bahasa Seni Membaca Informasi Teknis - dummies

GED Contoh Pertanyaan: Penalaran Melalui Bahasa Seni Membaca Informasi Teknis - dummies

Tentang Penalaran Melalui bagian Seni Bahasa GED, Anda mungkin diminta untuk menjawab pertanyaan tentang bagian teknis. Ini bisa termasuk petunjuk cara melengkapi, seperti berikut. Pertanyaan dalam artikel ini mengacu pada kutipan berikut dari Russell Hart's Photography For Dummies, 2nd Edition (Wiley). Apa Rahasia Untuk ...

GED Contoh Pertanyaan: Pertanyaan singkat tentang Ilmu Pengetahuan - dummies

GED Contoh Pertanyaan: Pertanyaan singkat tentang Ilmu Pengetahuan - dummies

Di beberapa titik selama bagian Ilmu Pengetahuan dari Tes GEE, Anda akan diminta untuk membuat jawaban singkat. Anda akan diberi sebuah bagian dan mengajukan pertanyaan yang perlu Anda tanggapi. Buat respons Anda jelas dan ringkas. Bagian Jawaban Jawaban Semua orang mengenal keju cheddar. Orang-orang meletakkan ...

GED Contoh Pertanyaan: Ilmu Sosial dan Media - dummies

GED Contoh Pertanyaan: Ilmu Sosial dan Media - dummies

Di bagian Ilmu Sosial GED, Anda mungkin diminta untuk menjawab pertanyaan tentang berbagai bentuk media, termasuk siaran berita. Lihatlah contoh berikut di bawah ini. Pertanyaan dalam artikel ini mengacu pada siaran berita berikut. Berita Lingkungan Dunia Selamat malam dan selamat datang di World Environmental News. Cerita kami ini ...