Saya baru mengenal pembelajaran mesin, jadi saya mencoba mencari beberapa literatur tetapi saya bahkan tidak yakin apa gunanya Google. Data saya adalah dari formulir berikut:
User A performs Action P
User B performs Action Q
User C performs Action R
...
User C performs Action X
User A performs Action Y
User B performs Action Z
...
Di mana setiap Aksi memiliki karakteristik tertentu (tanggal, waktu, klien, dll). Ada sekitar 300 pengguna dan kami memiliki sekitar 20.000 tindakan.
Pertanyaan :
Saya ingin mengetahui apakah ada hubungan sebab akibat / korelasi antara tindakan pengguna. Misalnya, "setiap kali Pengguna E melakukan Tindakan T, 2 hari kemudian Pengguna G melakukan Tindakan V". Namun di antaranya, mungkin ada banyak pengguna lain yang melakukan banyak tindakan lain, dan mungkin saja tidak ada korelasi yang ditemukan. Ada juga kemungkinan bahwa beberapa pengguna berkorelasi, tetapi yang lain sepenuhnya independen. Apakah ini sesuatu yang bisa dipelajari mesin untuk saya? Apakah ada algoritma atau rangkaian algoritma tertentu yang dapat membantu saya?
Saya telah membaca tentang Analisis Asosiasi dan algoritma Apriori tetapi saya tidak berpikir ini akan memberi saya apa yang saya butuhkan, karena tampaknya memerlukan diketahui, dataset yang baik dibatasi sebagai input, sedangkan saya hanya memiliki aliran panjang pengguna yang tampaknya acak tindakan. Setiap saran tentang apa yang harus dilihat akan sangat dihargai!
P
Jawaban:
Saya pikir Anda harus melakukan beberapa persiapan data sebelum menggunakan algoritma apa pun untuk menemukan item yang sering ditetapkan dan aturan asosiasi.
Lihat tabel transaksi dalam artikel ini: analisis keranjang pasar
Dalam kasus Anda, Anda perlu mengatur (dan menyempurnakan) rentang waktu maksimal antara interaksi yang diharapkan akan dikorelasikan, maka Anda dapat memilih pengguna yang sering, dan untuk setiap transaksi yang dilakukan (atau sampel), Anda akan melampirkan di catatan tunggal 2 hari dari transaksi pengguna lain. Atribut harus berupa boolean seperti
sumber
Salah satu cara untuk mengeksplorasi data Anda adalah dengan membuat tabel tindakan sebelumnya x tindakan selanjutnya. Jadi untuk setiap acara, cari tindakan selanjutnya oleh pengguna yang sama. Anda juga dapat melakukan tabulasi terhadap penundaan tindakan X sebelumnya hingga tindakan selanjutnya.
Kemudian Anda dapat menjelajahi apakah tindakan sebelumnya mempengaruhi yang berikutnya. Jika tidak, maka pengguna Anda "stateless".
Penyederhanaan lain yang mungkin adalah mengabaikan userids, dan bertanya apakah frekuensi setiap tindakan sama dari waktu ke waktu atau berbeda-beda; dan jika bervariasi apakah itu siklik atau menunjukkan tren.
Jawaban atas pertanyaan-pertanyaan ini mungkin menunjukkan bahwa data Anda memiliki struktur kecil. Atau, mereka mungkin mengajukan beberapa hipotesis baru untuk diuji.
sumber
Ini pertanyaan yang menarik. Pendekatan terbaik adalah melihat keseluruhan dataset dan membuat tabel frekuensi. Misalnya: Pengguna A melakukan Tindakan P dan Y Pengguna B melakukan Tindakan Q dan Z, Pengguna C melakukan Tindakan R dan X Jadi, ada lebih banyak pengguna yang melakukan lebih banyak tindakan. Jadi, ada beberapa pendekatan untuk menangani dataset ini 1) Algoritma Cluster untuk mengelompokkan item yang serupa dalam ember yang berbeda 2) Analisis keranjang pasar untuk mengidentifikasi pengguna versus pemetaan tindakan dan frekuensi
Tanpa melalui seluruh kumpulan data, tidak disarankan untuk meresepkan algoritma tertentu untuk jenis pertanyaan ini.
sumber