Elastik Arama'da depolanan müşteri verilerini kümeleme


10

Bir sürü müşteri profilim var. Küme. Bu profiller artık e-posta aboneliklerimiz için hedef gruplar oluşturmak için kullanılıyor.

Hedef gruplar artık elasticsearch yönlü arama özellikleri kullanılarak manuel olarak oluşturulmaktadır (23 yaşında tüm erkek müşterileri bir araba ve 3 çocuk ile almak gibi).

Veri bilimini, makine öğrenimini, kümelemeyi veya başka bir şeyi kullanarak ilginç grupları nasıl otomatik olarak arayabilirim ?

programlama dili bu görev için iyi bir araç gibi görünüyor, ancak böyle bir grup aramasının metodolojisini oluşturamıyorum. Bir çözüm, bir şekilde en büyük müşteri kümelerini bulmak ve bunları hedef grup olarak kullanmaktır, bu yüzden soru:

Benzer müşterilerin en büyük kümelerini otomatik olarak nasıl seçebilirim (şu anda bilmediğim parametrelere benzer)?

Örneğin: Programım elasticsearch'e bağlanacak, müşteri verilerini CSV'ye yükleyecek ve R dil komut dosyasını kullanarak müşterilerin büyük bir kısmının çocuksuz erkek olduğunu ve müşterilerin başka bir büyük kısmının araba olduğunu ve göz renginin kahverengi olduğunu görecek.


1
"İlginç gruplar" altında ne demek istiyorsun? Önceden tanımlanmış önemli bir özellik listeniz var mı?
yatul

İlginç gruplar, bazı eşik değerlerden daha büyük olan ve diğer olası kümelerden çok daha büyük olan gruplardır.
Konstantin V.Salikhov

1
Verilerinizin hazırlık adımlarını nasıl gerçekleştireceğiniz açık değildir. Ancak en.wikipedia.org/wiki/Anomaly_detection adresinde açıklanan algoritmalara bakmalısınız . Ben olsaydım, önce SVM yöntemini kontrol ettim
yatul

SVM hakkında okudum ve mevcut veri kümesi üzerinde manuel eğitimden sonra yeni oluşturulan verilerin sınıflandırılması hakkında daha fazla şey olduğunu düşünüyorum - mevcut verileri kümelemek ve anormal derecede büyük kümeler bulmak değil. Haklı mıyım? Eğer öyleysem bu yöntem istediğim gibi değil.
Konstantin V.Salikhov

Yanıtlar:


6

Bunun için kullanılabilecek bir algoritma k-ortalama kümeleme algoritmasıdır .

Temelde:

  1. Setinizden m veri noktalarını rastgele seçin, m_1, ..., m_k.
  2. "Yakınsama kadar":

    1. Veri noktalarınızı k kümelerine atayın; burada i kümesi, m_i değerinin geçerli araçlarınıza en yakın olduğu nokta kümesidir.
    2. Her m_i kümesini i kümesine atanan tüm noktaların ortalaması ile değiştirin.

Bu algoritmayı birkaç kez tekrarlamak, ardından her kümenin i ve merkez m_i noktaları arasındaki mesafeleri en aza indiren sonucu seçmek iyi bir uygulamadır.

Tabii ki, burada başlamak için k bilmeniz gerekir; yine de bu parametreyi seçmek için çapraz doğrulamayı kullanabilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.