Saat ini bekerja di oktaf, tetapi karena kemajuan dokumentasi yang buruk sangat lambat.
Bahasa apa yang mudah dipelajari dan digunakan, dan didokumentasikan dengan baik untuk memecahkan masalah pembelajaran mesin? Saya mencari prototipe pada dataset kecil (ribuan contoh), jadi kecepatan tidak penting.
EDIT: Saya sedang mengembangkan mesin rekomendasi. Jadi, saya tertarik menggunakan Reguler Linear Regression, Neural Nets, SVN atau Collaborative Filtering.
Jawaban:
Jika Anda ingin menggunakan sesuatu di luar kotak, Weka bisa menjadi titik awal yang bagus. Tidak perlu memprogram apa pun. Anda mengimpor data Anda, memvisualisasikannya dan bermain-main dengan berbagai model.
Selanjutnya dalam rantai akan menjadi R. Ada beberapa kurva belajar yang terkait - terutama dengan munging data Anda agar sesuai dengan struktur data R tetapi setelah Anda menyelesaikannya, Anda memiliki banyak perpustakaan yang menawarkan semua kemampuan pembelajaran mesin tanpa banyak usaha.
Selanjutnya adalah pemrograman tangan algoritma pembelajaran mesin. Karena Anda sudah menggunakan Octave dan mencari alternatif, mungkin yang Anda inginkan adalah tidak menggunakan algoritma kode di beberapa sistem lain, tetapi hanya menggunakan perpustakaan yang ditulis oleh orang lain.
Jika Anda menyusuri jalan R, Anda mungkin menemukan buku karya Luis Torgo (Penggalian Data dengan R: Belajar dengan Studi Kasus) sangat berguna (pengungkapan: tidak ada afiliasi). Ini menjelaskan dalam studi kasus mendalam yang dapat Anda beradaptasi dengan masalah Anda.
sumber
Anda mungkin mendapatkan jawaban yang lebih baik jika Anda menentukan algoritma spesifik yang Anda minati. Saya menggunakan R untuk hal-hal semacam ini (saya melakukan ekonometrik seri waktu, meskipun, bukan pembelajaran mesin); Anda dapat melihat fungsionalitas yang ada di sini:
http://cran.r-project.org/web/views/MachineLearning.html
dan ada kode R untuk menerapkan analisis dalam elemen pembelajaran statistik Hastie, Tibshirani dan Friedman :
http://www-stat.stanford.edu/~tibs/ElemStatLearn/
Sistem pengemasan R cukup bagus dan mendorong orang ke arah mendokumentasikan kode mereka, dan ini merupakan sumber terbuka sehingga Anda selalu dapat melihat implementasinya. Saya belum pernah menggunakan Matlab dalam beberapa tahun dan tidak menggunakannya untuk banyak pembelajaran mesin - kotak alat mereka biasanya didokumentasikan dengan baik tetapi bisa mahal, tetapi kode kontribusi pengguna akan didokumentasikan dengan buruk seperti yang lainnya.
sumber
Dalam kursus online pembelajaran mesinnya, Andrew Ng menyarankan untuk menggunakan Octave / Matlab.
Saya sarankan Anda mendaftar di edisi berikutnya dari kursus ini: ini sangat berguna dan Anda akan belajar banyak hal tentang Oktaf dan tentang algoritma pembelajaran mesin yang berbeda.
EDIT 1 : Saya setuju dengan orang lain yang lebih suka bekerja di R. Namun, dalam menyelesaikan masalah pembelajaran mesin, sebagian besar perhitungan Anda akan dalam bentuk matriks, dan seperti yang ditunjukkan oleh @Wayne, bahasa Matlab atau Octave sangat populer karena kekuatan mereka. Anda mungkin ingin melihat solusi untuk latihan kursus pembelajaran mesin yang diusulkan oleh siswa lain; pasti Anda dapat belajar beberapa hal dari mereka:
Gkokaisel Github
Merwan Github
sumber
t(A) %*% B
kurang intuitif daripada di Matlab.The scikit-belajar (sekarang
sklearn
) harus memenuhi beberapa kriteria yang dijelaskan (kecepatan, kelas yang dirancang untuk menangani data, model, dan hasil), termasuk aplikasi yang ditargetkan (L1 / L2 dihukum regresi, SVM, dll). Muncul dengan set dokumentasi yang kaya dan banyak contoh . Lihat juga deskripsinya dalam makalah yang diterbitkan dalam JMLR.Kerangka kerja alternatif dalam Python adalah Oranye , yang dapat digunakan melalui GUI yang lembut atau pada baris perintah secara langsung. Untuk pemfilteran kolaboratif, pyrsvd mungkin menarik tetapi saya belum pernah mencobanya. Namun, Apache Mahout mungkin dapat digunakan untuk penyaringan kolaboratif .
sumber
Jika Anda merujuk pada prototipe industri (yaitu sesuatu yang dilakukan untuk digunakan oleh orang-orang nyata dan bukan untuk penelitian murni) python adalah saat ini satu-satunya cara untuk pergi.
Jika Anda menggunakan Matlab, Octave atau R Anda mendapatkan lingkungan yang mudah digunakan untuk penelitian ML tetapi itu akan menjadi mimpi buruk untuk menempatkan model di tempat kerja dengan antarmuka pengguna atau dengan layanan web.
Dalam python, kita beruntung memiliki ekosistem ilmiah yang luas ( sklearn untuk ML, panda untuk data wragling, matplotlib / seaborn untuk visualisasi) dan ekosistem aplikasi (pikirkan tentang Django dan kerangka sisanya ).
Python adalah bahasa yang mudah dipelajari. Di masa depan saya berharap ekosistem Javascript akan menjadi suara ilmiah sebagai python, tetapi meskipun beberapa proyek besar saya tidak melihat itu segera hadir.
Jangan membungkus diri Anda dalam sebuah kotak, gunakan bahasa umum!
sumber