Baru-baru ini mulai mengajar diri saya sendiri Pembelajaran Mesin dan Analisis Data, saya mendapati diri saya membentur dinding bata pada kebutuhan untuk membuat dan menanyakan set data yang besar. Saya ingin mengambil data yang telah saya kumpulkan dalam kehidupan profesional dan pribadi saya dan menganalisisnya tetapi saya tidak yakin cara terbaik untuk melakukan hal berikut:
Bagaimana saya harus menyimpan data ini? Unggul? SQL ??
Apa cara yang baik bagi pemula untuk mulai mencoba menganalisis data ini? Saya seorang programmer komputer profesional sehingga kerumitannya tidak dalam menulis program tetapi lebih atau kurang spesifik untuk domain analisis data.
EDIT: Permintaan maaf untuk ketidakjelasan saya, ketika Anda pertama kali mulai belajar tentang sesuatu itu sulit untuk mengetahui apa yang Anda tidak tahu, ya tahu? ;)
Karena itu, tujuan saya adalah menerapkan ini pada dua topik utama:
Metrik tim perangkat lunak (pikirkan kecepatan Agile, risiko kuantifikasi, kemungkinan iterasi yang berhasil diselesaikan dengan sejumlah x poin cerita)
Pembelajaran mesin (mis. Pengecualian sistem telah terjadi dalam satu set modul apa kemungkinan modul akan melempar pengecualian di lapangan, berapa biayanya, berapa data yang dapat saya ceritakan tentang modul-modul kunci untuk ditingkatkan yang akan diperoleh saya yang terbaik untuk uang saya, memprediksi bagian sistem yang ingin digunakan pengguna selanjutnya untuk mulai memuat data, dll).
sumber
Jawaban:
Jika Anda memiliki kumpulan data besar - yang membuat Excel atau Notepad memuat dengan lambat, maka basis data adalah cara yang baik untuk melakukannya. Postgres adalah open-source dan sangat bagus, dan mudah terhubung dengan JMP, SPSS, dan program lain. Anda mungkin ingin sampel dalam kasus ini. Anda tidak harus menormalkan data dalam database. Kalau tidak, CSV ramah-berbagi.
Pertimbangkan Apache Hive jika Anda memiliki 100M + baris.
Dalam hal analisis, berikut adalah beberapa titik awal:
Jelaskan satu variabel:
Jelaskan hubungan antar variabel:
Pencilan? lihat jarak Mahalanobis
Plot mosaik untuk kategori
Memprediksi bilangan real (seperti harga): regresi
Regresi OLS atau teknik regresi pembelajaran mesin
ketika teknik yang digunakan untuk memprediksi dapat dimengerti oleh manusia, ini disebut pemodelan. Misalnya, jaringan saraf dapat membuat prediksi, tetapi umumnya tidak dapat dimengerti. Anda dapat menggunakan regresi untuk menemukan Indikator Kinerja Utama juga.
Prediksi keanggotaan kelas atau probabilitas keanggotaan kelas (seperti lulus / gagal): klasifikasi
Masukkan pengamatan ke dalam kelompok "alami": pengelompokan
Masukkan atribut ke dalam kelompok "alami": anjak piutang
Mengukur Risiko = Deviasi Standar, atau proporsi kali "hal buruk" terjadi x seberapa buruk mereka
Kemungkinan iterasi berhasil diselesaikan diberikan x jumlah poin cerita = Regresi Logistik
Semoga berhasil!
sumber
Jika Anda melihat kesalahan sistem, Anda mungkin tertarik pada makalah berikut yang menggunakan teknik pembelajaran mesin untuk diagnosis kesalahan di eBay. Ini mungkin memberi Anda rasa jenis data apa yang harus dikumpulkan atau bagaimana satu tim mendekati masalah tertentu dalam domain yang sama.
Jika Anda baru memulai, sesuatu seperti RapidMiner atau Orange mungkin merupakan sistem perangkat lunak yang baik untuk mulai bermain dengan data Anda dengan cukup cepat. Keduanya dapat mengakses data dalam berbagai format (file csv, database, antara lain).
sumber
Pertanyaan Anda sangat luas sehingga jawabannya adalah: itu tergantung. Namun, untuk memberikan jawaban yang lebih bermanfaat saya akan menunjukkan apa yang saya pikir umum dalam Penelitian.
Menyimpan data sangat sering dilakukan dalam file teks. Saat melakukan analisis statistik, Anda sebagian besar bekerja dengan koleksi satu jenis vektor. Ini dapat dilihat sebagai tabel dan ditulis dalam format csv. Alasan mengapa thins sering disimpan dalam teks biasa, adalah karena setiap alat dapat membacanya dan mudah untuk mengubahnya.
Tentang menganalisis, ini agak sulit untuk lebih spesifik. Jika 2 dimensi, buat sebaran. Jika dimensi tinggi, lakukan PCA dan lihat di mana komponen utama pertama ada untuk menemukan variabel penting. Jika Anda memiliki data waktu, plotlah. Ini semua sangat umum sehingga untuk menjadi berguna Anda harus benar-benar menunjukkan lebih baik apa data Anda.
sumber
Satu-satunya hal yang sangat baik dilakukan ROOT adalah menyimpan jumlah data yang besar. ROOT adalah pustaka C ++ yang digunakan dalam fisika partikel; itu juga disertai dengan ikatan Ruby dan Python, sehingga Anda dapat menggunakan paket dalam bahasa ini (misalnya NumPy atau Scipy) untuk menganalisis data ketika Anda menemukan bahwa ROOT menawarkan beberapa kemungkinan di luar kotak.
Format file ROOT dapat menyimpan pohon atau tupel, dan entri dapat dibaca secara berurutan, sehingga Anda tidak perlu menyimpan semua data di memori pada saat yang sama. Ini memungkinkan untuk menganalisis petabyte data, sesuatu yang tidak ingin Anda coba dengan Excel atau R.
Dokumentasi ROOT I / O dapat dihubungi dari sini .
sumber