Repositori kode buku Pembelajaran Mesin Python
CATATAN PENTING (21/09/2017):
Repositori GitHub ini berisi contoh kode buku Pembelajaran Mesin Python Edisi Pertama . Jika Anda mencari contoh kode Edisi ke-2 , silakan merujuk ke repositori ini.
Apa yang dapat Anda harapkan adalah 400 halaman yang kaya akan materi bermanfaat tentang segala hal yang perlu Anda ketahui untuk memulai pembelajaran mesin... dari teori hingga kode aktual yang dapat langsung Anda praktikkan! Ini bukan sekadar buku "beginilah cara kerja scikit-learn". Saya bertujuan untuk menjelaskan semua konsep mendasar, memberi tahu Anda semua yang perlu Anda ketahui terkait praktik terbaik dan peringatan, dan kami akan menerapkan konsep tersebut terutama menggunakan NumPy, scikit-learn, dan Theano.
Anda tidak yakin apakah buku ini cocok untuk Anda? Silakan periksa kutipan dari Kata Pengantar dan Kata Pengantar, atau lihat bagian FAQ untuk informasi lebih lanjut.
Edisi pertama, terbit 23 September 2015
Sampul tipis: 454 halaman
Penerbit: Penerbitan Paket
Bahasa: Bahasa Inggris
ISBN-10: 1783555130
ISBN-13: 978-1783555130
Kindle ASIN: B00YSILNL0
ISBN-13 Jerman: 978-3958454224
ISBN-13 Jepang: 978-4844380603
ISBN-13 Italia: 978-8850333974
Cina (tradisional) ISBN-13: 978-9864341405
Cina (daratan) ISBN-13: 978-7111558804
ISBN-13 Korea: 979-1187497035
ISBN-13 Rusia: 978-5970604090
Daftar Isi dan Kode Buku Catatan
Cukup klik tautan ipynb
/ nbviewer
di sebelah judul bab untuk melihat contoh kode (saat ini, tautan dokumen internal hanya didukung oleh versi NbViewer). Harap diperhatikan bahwa ini hanyalah contoh kode yang menyertai buku, yang saya unggah demi kenyamanan Anda; Sadarilah bahwa buku catatan ini mungkin tidak berguna tanpa rumus dan teks deskriptif.
- Kutipan dari Kata Pengantar dan Kata Pengantar
- Petunjuk untuk menyiapkan Python dan Notebook Jupiter
- Pembelajaran Mesin - Memberi Komputer Kemampuan untuk Belajar dari Data [dir] [ipynb] [nbviewer]
- Pelatihan Algoritma Pembelajaran Mesin untuk Klasifikasi [dir] [ipynb] [nbviewer]
- Tur Pengklasifikasi Pembelajaran Mesin Menggunakan Scikit-Learn [dir] [ipynb] [nbviewer]
- Membangun Set Pelatihan yang Baik – Pra-Pemrosesan Data [dir] [ipynb] [nbviewer]
- Mengompresi Data melalui Pengurangan Dimensi [dir] [ipynb] [nbviewer]
- Mempelajari Praktik Terbaik untuk Evaluasi Model dan Optimasi Hyperparameter [dir] [ipynb] [nbviewer]
- Menggabungkan Model Berbeda untuk Pembelajaran Ensemble [dir] [ipynb] [nbviewer]
- Menerapkan Pembelajaran Mesin pada Analisis Sentimen [dir] [ipynb] [nbviewer]
- Menanamkan Model Pembelajaran Mesin ke dalam Aplikasi Web [dir] [ipynb] [nbviewer]
- Memprediksi Variabel Target Kontinu dengan Analisis Regresi [dir] [ipynb] [nbviewer]
- Bekerja dengan Data Tak Berlabel – Analisis Pengelompokan [dir] [ipynb] [nbviewer]
- Pelatihan Jaringan Syaraf Tiruan untuk Pengenalan Gambar [dir] [ipynb] [nbviewer]
- Pelatihan Jaringan Neural Paralel melalui Theano [dir] [ipynb] [nbviewer]
Referensi Persamaan
[PDF] [TEKS]
Slide untuk Pengajaran
Terima kasih sebesar-besarnya kepada Dmitriy Dligach yang telah membagikan slide kursus pembelajaran mesin yang saat ini ditawarkan di Loyola University Chicago.
- https://github.com/dmitriydligach/PyMLSlides
Sumber Daya Matematika dan NumPy Tambahan
Beberapa pembaca bertanya tentang dasar Matematika dan NumPy, karena keduanya tidak disertakan karena keterbatasan panjangnya. Namun, baru-baru ini saya mengumpulkan sumber daya tersebut untuk buku lain, namun saya membuat bab-bab ini tersedia secara online secara gratis dengan harapan bahwa bab-bab tersebut juga dapat berfungsi sebagai bahan latar belakang yang berguna untuk buku ini:
Dasar-Dasar Aljabar [PDF] [EPUB]
Dasar Kalkulus dan Diferensiasi [PDF] [EPUB]
Pengantar NumPy [PDF] [EPUB] [Buku Catatan Kode]
Mengutip Buku ini
Anda dipersilakan untuk menggunakan kembali cuplikan kode atau konten lain dari buku ini dalam publikasi ilmiah dan karya lainnya; dalam hal ini, saya sangat menghargai kutipan ke sumber aslinya:
BibTeX :
@Book{raschka2015python,
author = {Raschka, Sebastian},
title = {Python Machine Learning},
publisher = {Packt Publishing},
year = {2015},
address = {Birmingham, UK},
isbn = {1783555130}
}
MLA :
Raschka, Sebastian. Pembelajaran mesin Python . Birmingham, Inggris: Packt Publishing, 2015. Cetak.
Umpan Balik & Ulasan
Cuplikan ulasan singkat
Buku baru Sebastian Raschka, Python Machine Learning, baru saja dirilis. Saya mendapat kesempatan untuk membaca salinan ulasan dan itu seperti yang saya harapkan - sungguh hebat! Ini terorganisir dengan baik, sangat mudah diikuti, dan tidak hanya memberikan landasan yang baik bagi orang yang cerdas dan non-ahli, praktisi juga akan mendapatkan beberapa ide dan mempelajari trik baru di sini.
– Lon Riesberg di Data Elixir
Pekerjaan luar biasa! Sejauh ini, bagi saya tampaknya teori dan praktik telah mencapai keseimbangan yang tepat…matematika dan kode!
– Brian Thomas
Saya telah membaca (hampir) setiap judul Pembelajaran Mesin berdasarkan Scikit-learn dan ini adalah yang terbaik di luar sana.
– Jason Wolosonovich
Buku terbaik yang pernah saya lihat keluar dari PACKT Publishing. Ini adalah pengantar pembelajaran mesin dengan Python yang ditulis dengan sangat baik. Seperti yang telah dicatat orang lain, perpaduan sempurna antara teori dan aplikasi.
– Josh D.
Sebuah buku dengan perpaduan kualitas yang sulit didapat: menggabungkan matematika yang diperlukan untuk mengontrol teori dengan penerapan pengkodean dengan Python. Senang juga melihatnya tidak membuang-buang kertas dalam memberikan dasar tentang Python seperti yang dilakukan banyak buku lain hanya untuk menarik lebih banyak pembaca. Anda dapat mengatakan bahwa ini ditulis oleh penulis berpengetahuan luas dan bukan hanya ahli DIY.
– Pelanggan Amazon
Sebastian Raschka membuat tutorial pembelajaran mesin luar biasa yang menggabungkan teori dengan praktik. Buku ini menjelaskan pembelajaran mesin dari perspektif teoretis dan memiliki banyak contoh kode untuk menunjukkan bagaimana Anda sebenarnya menggunakan teknik pembelajaran mesin. Itu dapat dibaca oleh programmer pemula atau lanjutan.
- William P. Ross, 7 Buku Python yang Harus Dibaca
Ulasan yang lebih panjang
Jika Anda memerlukan bantuan untuk memutuskan apakah buku ini cocok untuk Anda, lihatlah beberapa ulasan "lebih panjang" yang ditautkan di bawah. (Jika Anda menulis ulasan, harap beri tahu saya, dan saya akan dengan senang hati menambahkannya ke daftar).
- Ulasan Pembelajaran Mesin Python oleh Patrick Hill di Chartered Institute for IT
- Resensi Buku: Pembelajaran Mesin Python oleh Sebastian Raschka oleh Alex Turner di WhatPixel
Tautan
- ebook dan paperback di Amazon.com, Amazon.co.uk, Amazon.de
- ebook dan paperback dari Packt (penerbit)
- di toko buku lain: Google Books, O'Reilly, Safari, Barnes & Noble, Apple iBooks, ...
- platform sosial: Goodreads
Terjemahan
- Terjemahan bahasa Italia melalui "Apogeo"
- Terjemahan bahasa Jerman melalui "mitp Verlag"
- Terjemahan bahasa Jepang melalui "Impress Top Gear"
- Terjemahan bahasa Mandarin (bahasa Mandarin tradisional)
- Terjemahan bahasa Mandarin (bahasa Mandarin sederhana)
- Terjemahan bahasa Korea melalui "Kyobo"
- Terjemahan Polandia melalui "Helion"
Referensi Literatur & Sumber Bacaan Lebih Lanjut
Kesalahan
Bonus Buku Catatan (tidak ada di dalam buku)
- Implementasi Regresi Logistik [dir] [ipynb] [nbviewer]
- Pengaturan Dasar Pencarian Saluran dan Grid [dir] [ipynb] [nbviewer]
- Contoh Validasi Silang Bersarang yang Diperluas [dir] [ipynb] [nbviewer]
- Templat Webapp Barebones Flask Sederhana [lihat direktori][unduh sebagai file zip]
- Membaca angka tulisan tangan dari MNIST ke dalam array NumPy [GitHub ipynb] [nbviewer]
- Scikit-pelajari Kegigihan Model menggunakan JSON [GitHub ipynb] [nbviewer]
- Regresi logistik multinomial / regresi softmax [GitHub ipynb] [nbviewer]
"Konten Terkait" (tidak ada dalam buku)
- Evaluasi model, pemilihan model, dan pemilihan algoritma dalam pembelajaran mesin - Bagian I
- Evaluasi model, pemilihan model, dan pemilihan algoritma dalam pembelajaran mesin - Bagian II
- Evaluasi model, pemilihan model, dan pemilihan algoritma dalam pembelajaran mesin - Bagian III
Sains 2016
Kami bersenang-senang di SciPy 2016 di Austin! Sungguh menyenangkan bertemu dan mengobrol dengan begitu banyak pembaca buku saya. Terima kasih banyak atas semua kata-kata dan masukan yang bagus! Dan jika Anda melewatkannya, Andreas Mueller dan saya memberikan Pengantar Pembelajaran Mesin dengan Scikit-learn ; jika anda tertarik, rekaman video Part I dan Part II kini sudah online!
PyData Chicago 2016
Saya mencoba tugas yang agak menantang dengan memperkenalkan scikit-learn & pembelajaran mesin hanya dalam 90 menit di PyData Chicago 2016. Slide dan materi tutorial tersedia di "Mempelajari scikit-learn -- Pengantar Pembelajaran Mesin dengan Python."
Catatan
Saya telah menyiapkan perpustakaan terpisah, mlxtend
, yang berisi implementasi tambahan dari algoritma pembelajaran mesin (dan "ilmu data" umum). Saya juga menambahkan implementasi dari buku ini (misalnya, plot wilayah keputusan, jaringan syaraf tiruan, dan algoritme pemilihan fitur sekuensial) dengan fungsionalitas tambahan.
Terjemahan
Pembaca yang budiman ,
pertama-tama, saya ingin mengucapkan terima kasih kepada Anda semua atas dukungannya yang luar biasa! Saya sangat senang dengan semua masukan bagus yang Anda kirimkan kepada saya sejauh ini, dan saya senang buku ini sangat bermanfaat bagi khalayak luas.
Selama beberapa bulan terakhir, saya menerima ratusan email, dan saya mencoba menjawab sebanyak mungkin dalam waktu yang saya miliki. Agar bermanfaat bagi pembaca lain juga, saya mengumpulkan banyak jawaban saya di bagian FAQ (di bawah).
Selain itu, beberapa dari Anda bertanya kepada saya tentang wadah bagi pembaca untuk mendiskusikan isi buku. Saya harap ini dapat memberikan kesempatan bagi Anda untuk berdiskusi dan berbagi pengetahuan dengan pembaca lainnya:
Dewan Diskusi Grup Google
(Dan saya akan mencoba menjawab pertanyaan saya sendiri jika waktu memungkinkan! :))
Satu-satunya hal yang dapat dilakukan dengan nasihat yang baik adalah menyebarkannya. Itu tidak pernah ada gunanya bagi diri sendiri.
—Oscar Wilde
Contoh dan Penerapan oleh Pembaca
Sekali lagi, saya harus mengucapkan (besar!) TERIMA KASIH atas semua tanggapan bagus tentang buku ini. Saya telah menerima banyak email dari pembaca, yang menerapkan konsep dan contoh dari buku ini ke dunia nyata dan memanfaatkannya dengan baik dalam proyek mereka. Di bagian ini, saya mulai mengumpulkan beberapa aplikasi hebat ini, dan saya akan dengan senang hati menambahkan proyek Anda ke daftar ini -- kirimkan saja saya email singkat!
- 40 skrip tentang Pengenalan Karakter Optik oleh Richard Lyman
- Eksperimen kode oleh Jeremy Nation
- Apa yang Saya Pelajari Menerapkan Pengklasifikasi dari Awal dengan Python oleh Jean-Nicholas Hould
Pertanyaan Umum
Pertanyaan Umum
- Apa itu pembelajaran mesin dan ilmu data?
- Mengapa Anda dan orang lain terkadang menerapkan algoritme pembelajaran mesin dari awal?
- Jalur/disiplin pembelajaran apa dalam ilmu data yang harus saya fokuskan?
- Pada titik manakah seseorang harus mulai berkontribusi pada open source?
- Menurut Anda seberapa pentingkah memiliki mentor dalam proses pembelajaran?
- Di manakah komunitas online terbaik yang berpusat pada ilmu data/pembelajaran mesin atau python?
- Bagaimana Anda menjelaskan pembelajaran mesin kepada insinyur perangkat lunak?
- Seperti apa kurikulum Anda untuk pemula pembelajaran mesin?
- Apa Definisi Ilmu Data?
- Bagaimana Data Scientist melakukan pemilihan model? Apakah ini berbeda dari Kaggle?
Pertanyaan tentang Bidang Pembelajaran Mesin
- Apa hubungan Kecerdasan Buatan dan Pembelajaran Mesin?
- Apa sajakah contoh nyata penerapan pembelajaran mesin di lapangan?
- Apa saja bidang studi yang berbeda dalam penambangan data?
- Apa perbedaan sifat penelitian antara kedua bidang tersebut: pembelajaran mesin & penambangan data?
- Bagaimana cara mengetahui apakah masalahnya dapat diselesaikan melalui pembelajaran mesin?
- Apa asal mula pembelajaran mesin?
- Bagaimana klasifikasi, sebagai mesin pembelajaran, dikembangkan?
- Algoritme pembelajaran mesin mana yang dianggap terbaik?
- Apa saja kategori pengklasifikasi yang luas?
- Apa perbedaan antara pengklasifikasi dan model?
- Apa perbedaan antara algoritma pembelajaran parametrik dan algoritma pembelajaran nonparametrik?
- Apa perbedaan antara fungsi biaya dan fungsi kerugian dalam pembelajaran mesin?
Pertanyaan tentang Konsep dan Statistik ML
Fungsi Biaya dan Optimasi
- Menyesuaikan model melalui persamaan bentuk tertutup vs. Penurunan Gradien vs Penurunan Gradien Stochastic vs Pembelajaran Mini-Batch -- apa bedanya?
- Bagaimana Anda mendapatkan aturan Penurunan Gradien untuk Regresi Linier dan Adaline?
Analisis Regresi
- Apa perbedaan antara Pearson R dan Regresi Linier Sederhana?
Model pohon
- Bagaimana cara kerja model hutan acak? Apa bedanya dengan bagging dan boosting pada model ansambel?
- Apa kerugian menggunakan algoritma pohon keputusan klasik untuk kumpulan data yang besar?
- Mengapa implementasi algoritma pohon keputusan biasanya biner, dan apa keuntungan dari metrik pengotor yang berbeda?
- Mengapa kita mengembangkan pohon keputusan melalui entropi, bukan kesalahan klasifikasi?
- Kapan hutan acak bisa berkinerja buruk?
Evaluasi model
- Apa itu overfitting?
- Bagaimana cara menghindari overfitting?
- Apakah selalu lebih baik untuk memiliki jumlah lipatan sebanyak mungkin saat melakukan validasi silang?
- Saat melatih pengklasifikasi SVM, apakah lebih baik memiliki vektor dukungan dalam jumlah besar atau kecil?
- Bagaimana cara mengevaluasi model?
- Apa metrik validasi terbaik untuk klasifikasi kelas jamak?
- Faktor apa yang harus saya pertimbangkan ketika memilih teknik model prediktif?
- Kumpulan data mainan apa yang terbaik untuk membantu memvisualisasikan dan memahami perilaku pengklasifikasi?
- Bagaimana cara memilih kernel SVM?
- Selingan: Membandingkan dan Menghitung Metrik Kinerja dalam Validasi Silang -- Masalah Kelas yang Tidak Seimbang dan 3 Cara Berbeda untuk Menghitung Skor F1
Regresi Logistik
- Apa itu Regresi Softmax dan Apa Kaitannya dengan Regresi Logistik?
- Mengapa regresi logistik dianggap sebagai model linier?
- Apa interpretasi probabilistik dari regresi logistik yang diatur?
- Apakah regularisasi dalam regresi logistik selalu menghasilkan kesesuaian dan generalisasi yang lebih baik?
- Apa perbedaan utama antara Naive Bayes dan regresi logistik?
- Apa sebenarnya "softmax dan kerugian logistik multinomial" dalam konteks pembelajaran mesin?
- Apa hubungan antara Regresi Logistik dan Jaringan Syaraf Tiruan dan kapan harus menggunakan yang mana?
- Regresi Logistik: Mengapa fungsi sigmoid?
- Apakah ada solusi analitis untuk Regresi Logistik yang mirip dengan Persamaan Normal Regresi Linier?
Jaringan Neural dan Pembelajaran Mendalam
- Apa perbedaan antara pembelajaran mendalam dan pembelajaran mesin biasa?
- Bisakah Anda memberikan penjelasan visual tentang algoritma propagasi balik untuk jaringan saraf?
- Mengapa jaringan dalam membutuhkan waktu begitu lama untuk ditemukan?
- Apa sajakah buku/makalah yang bagus untuk mempelajari deep learning?
- Mengapa ada begitu banyak perpustakaan pembelajaran mendalam?
- Mengapa sebagian orang membenci jaringan saraf/pembelajaran mendalam?
- Bagaimana saya bisa mengetahui apakah Pembelajaran Mendalam berfungsi lebih baik untuk masalah tertentu daripada SVM atau hutan acak?
- Apa yang salah ketika kesalahan jaringan saraf saya meningkat?
- Bagaimana cara men-debug algoritma jaringan saraf tiruan?
- Apa perbedaan antara model Perceptron, Adaline, dan jaringan saraf?
- Apa ide dasar di balik teknik dropout?
Algoritma Lain untuk Pembelajaran yang Diawasi
- Mengapa Tetangga Terdekat Merupakan Algoritma Malas?
Pembelajaran Tanpa Pengawasan
- Apa saja masalah yang ada pada pengelompokan?
Pembelajaran Semi-Supervisi
- Apa kelebihan pembelajaran semi-supervisi dibandingkan pembelajaran dengan supervisi dan tanpa supervisi?
Metode Ensembel
- Apakah Menggabungkan Pengklasifikasi dengan Penumpukan Lebih Baik daripada Memilih yang Terbaik?
Prapemrosesan, Pemilihan Fitur dan Ekstraksi
- Mengapa kita perlu menggunakan kembali parameter pelatihan untuk mengubah data pengujian?
- Apa sajakah metode reduksi dimensi yang berbeda dalam pembelajaran mesin?
- Apa perbedaan antara LDA dan PCA untuk reduksi dimensi?
- Kapan saya harus menerapkan normalisasi/standardisasi data?
- Apakah pemusatan rata-rata atau penskalaan fitur mempengaruhi Analisis Komponen Utama?
- Bagaimana Anda mengatasi masalah pembelajaran mesin dengan banyak fitur?
- Apa sajakah pendekatan umum untuk menangani data yang hilang?
- Apa perbedaan antara metode filter, wrapper, dan metode tersemat untuk pemilihan fitur?
- Haruskah langkah persiapan/pra-pemrosesan data dianggap sebagai salah satu bagian dari rekayasa fitur? Mengapa atau mengapa tidak?
- Apakah representasi fitur sekantong kata untuk klasifikasi teks dianggap sebagai matriks renggang?
Bayes yang naif
- Mengapa Pengklasifikasi Naive Bayes naif?
- Apa batasan keputusan untuk Naive Bayes?
- Bisakah saya menggunakan pengklasifikasi Naive Bayes untuk tipe variabel campuran?
- Apakah mungkin untuk menggabungkan tipe variabel yang berbeda di Naive Bayes, misalnya fitur biner dan lanjutan?
Lainnya
- Berapa jarak Euclidean dalam pembelajaran mesin?
- Kapan sebaiknya seseorang menggunakan median, bukan mean atau rata-rata?
Bahasa Pemrograman dan Perpustakaan untuk Ilmu Data dan Pembelajaran Mesin
- Apakah R digunakan secara luas saat ini dalam ilmu data?
- Apa perbedaan utama antara TensorFlow dan scikit-learn?
Pertanyaan tentang Buku
- Bisakah saya menggunakan paragraf dan gambar dari buku dalam presentasi atau blog saya?
- Apa bedanya dengan buku pembelajaran mesin lainnya?
- Versi Python manakah yang digunakan dalam contoh kode?
- Teknologi dan perpustakaan apa yang digunakan?
- Versi/format buku manakah yang akan Anda rekomendasikan?
- Mengapa Anda memilih Python untuk pembelajaran mesin?
- Mengapa Anda menggunakan begitu banyak garis bawah di depan dan di belakang dalam contoh kode?
- Apa tujuan dari
return self
idiom dalam contoh kode Anda? - Apakah ada prasyarat dan pra-bacaan yang direkomendasikan?
- Bagaimana saya bisa menerapkan SVM ke data kategorikal?
Kontak
Saya dengan senang hati menjawab pertanyaan! Cukup kirimkan email kepada saya atau pertimbangkan untuk mengajukan pertanyaan di Daftar Email Grup Google.
Jika Anda tertarik untuk tetap berhubungan, saya memiliki aliran Twitter yang cukup ramai (@rasbt) tentang ilmu data dan pembelajaran mesin. Saya juga memelihara blog tempat saya memposting semua hal yang sangat saya sukai.