Analisis log server menggunakan pembelajaran mesin

10

Saya ditugaskan tugas ini untuk menganalisis log server dari aplikasi kami yang berisi log pengecualian, log basis data, log peristiwa, dll. Saya baru mempelajari mesin, kami menggunakan Spark dengan pencarian elastis dan Sparks MLlib (atau PredictionIO). Contoh yang diinginkan hasilnya akan dapat diprediksi berdasarkan log pengecualian yang dikumpulkan untuk dapat memprediksi pengguna mana yang lebih mungkin menyebabkan pengecualian berikutnya dan di mana fitur (dan banyak hal lain untuk melacak dan meningkatkan optimalisasi aplikasi).

Saya telah berhasil memasukkan data dari ElasticSearch ke dalam percikan dan membuat DataFrames dan memetakan data yang dibutuhkan. Yang ingin saya ketahui adalah bagaimana saya mendekati aspek Machine Learning dari implementasi saya. Saya telah membaca artikel dan makalah yang membahas tentang preprocessing data, melatih model data dan membuat label dan kemudian menghasilkan prediksi.

Pertanyaan yang saya miliki adalah

  • Bagaimana cara pendekatan mentransformasikan data log yang ada menjadi vektor numerik yang dapat digunakan untuk kumpulan data yang akan dilatih.

  • Algoritma apa yang saya gunakan untuk melatih dataset saya (dengan pengetahuan terbatas yang telah saya kumpulkan beberapa hari terakhir, saya berpikir tentang menerapkan regresi linier, mohon sarankan implementasi mana yang terbaik)

Hanya mencari saran tentang cara mendekati masalah ini.

Terima kasih.

elric
sumber
Jika Anda memang memiliki kemampuan prediksi untuk meyakini pengguna tertentu memiliki kemungkinan pengecualian yang tinggi, apa yang akan Anda lakukan? Tujuannya adalah mengoptimalkan aplikasi. Apakah Anda mencoba untuk memperbaiki insinyur bug mana yang harus menghabiskan waktu mereka daripada hanya memperbaiki bug yang dikenal dalam aplikasi? Rekayasa fitur mungkin sangat penting untuk tugas ini. Juga, Anda mungkin ingin mempertimbangkan regresi logistik yang akan menghasilkan nilai 0..1 yang dapat ditafsirkan sebagai probabilitas.
5
Saya pikir Anda melampaui target. Jangan memperlakukan ML sebagai kotak hitam untuk melakukan sihir. Anda harus mengajukan pertanyaan yang tepat (dan memiliki data yang memadai untuk itu) untuk mendapatkan hasil apa pun.
Memiliki QUIT - Anony-Mousse
Apakah masalah Anda terpecahkan untuk memprediksi pengguna mana yang lebih mungkin menyebabkan pengecualian berikutnya dan pada fitur mana (dan banyak hal lain untuk melacak dan meningkatkan optimalisasi aplikasi) ? Jika ya, bisakah Anda berbagi pendekatan solusi Anda atau orang lain dapat berbagi?
Ashish Tyagi

Jawaban:

12

Saya tidak berpikir Anda perlu mengubah entri log individu menjadi vektor untuk digunakan dalam suatu algoritma. Saya kira apa yang Anda minati adalah urutan entri log, yang mewakili serangkaian peristiwa, yang diatur dalam waktu, yang bersama-sama membentuk serangkaian 'kasus'. Di sini hubungan antara serangkaian entri log yang dikumpulkan penting.

Jika ini masalahnya maka Anda mungkin ingin mempertimbangkan untuk menggunakan teknik Proses Penambangan . Ini memungkinkan Anda untuk membangun model proses Anda (penggunaan aplikasi Anda) dan menentukan pola langkah-langkah proses, bersama dengan kesalahan dan langkah-langkah pengerjaan ulang.

Ada kursus pengantar yang bagus di Coursera, di sini . Bahkan ada beberapa paket komersial yang dikembangkan seperti 'disko' untuk membantu Anda dengan analisis dan visualisasi

Oliver
sumber