Bir web sitesi üzerinden yolculuklar için bir yol olasılık ağacı oluşturun


10

Şu anda bir web sitesinde analiz yapıyorum ve insanların web sitesine her ulaştıklarında olası yolu gösteren bir karar ağacı diyagramı oluşturmamı gerektiriyor. Ben data.frameana sayfasından başlayarak, siteye tüm müşterilerin yollarını gösteren bir ile ilgileniyorum . Örneğin, bir müşteri aşağıdaki yolu izleyebilir:

Homepage - pg 1
Kitchen Items page - pg 2
Pots and Pans page - pg 3

bu müşterinin 3 sayfalık bir yolculuğu olur. R'de yapmak istediğim şey, tüm müşteri yollarını birleştirmek ve böylece sitede belirli bir yolu izleyen bir müşteriye bir olasılık atamaktır. Örneğin, tüm yolları inceleyecek olsaydım, Ana sayfaya gelenlerin% 34'ünün 'Mutfak eşyaları sayfasına' gittiğini bulabilirdim. R bu tesiste mevcut mu?

Ben rpart ve partykit paketleri ile farklı yöntemler aradım ama herhangi bir yardım gibi görünmüyordu.

Bunun için doğru yönde herhangi bir direksiyon çok takdir!


1
Bu alan hakkında çok şey bilmiyorum, ama igraphpaket oldukça kapsamlı görünüyor.
richiemorrisroe

3
evet, igraph görselleştirme yoludur. Geçiş olasılıklarını önceden kendi başınıza hesaplamanız gerekir. Genel olarak, Markov Zincirlerine
steffen

1
Bazı örnek veriler gönderebilir misiniz? Durumu daha iyi anlamamıza yardımcı olur.
curious_cat

Yanıtlar:


1

Başlamanın bir yolu değil, matrisine sahip olmak ( deyin ) burada sayfa sayısıdır. Ardından , sayfa sayfa her kullanıcı sıçrama yaptığınızda ham veri artış matris elemanınıza göre birer birer . Bu size geçiş olasılıklarını getirir.nxnMnxnnMrcrc

İlk sorunuz şu şekilde cevaplandı: "Ana sayfadaki kullanıcıların yüzde kaçı (d. Sayfa 1), Mutfak Eşyalarının (d. Sayfa 2) yanında seyahat ediyor?"

M12ΣcM1c

Yoksa bu çok basit mi?


1
Hayır, bu doğru. Ancak buradan - bunların her birini dinamik olarak R'deki bir ağaca çizmenin bir yolu var mı? Yoksa, kullanabileceğim başka bir araç var mı?
nellington

@nellington: Aklınızda ne tür bir ağaç var?
curious_cat

1
Tercihen, kök düğümün ana sayfa olduğu bir olasılık ağacı (ancak kök düğümü sitedeki başka bir sayfaya değiştirebilirsem - bu harika bir özellik olurdu), kök düğümdeki her dal, daha sonra ziyaret edilen bir sonraki sayfayı temsil eder kök düğümü. İdeal olarak, her dalın bağlı olma olasılığı% olur. Her bir alt düğümü genişletip daraltabilmem gerektiği için dinamik olurdu. Bunun üstesinden gelebilecek herhangi bir görselleştirme yazılımı biliyor musunuz?
Mart'ta

@nellington: Tamamen görselleştirmek için graphviz'i deneyebilirsiniz. Bu ağaç yönlendirilmiş bir grafik olacak ve bunu halletmek için çok sayıda grafik odaklı araç var.
curious_cat

0

Google'ın PageRank algoritmasını yeniden oluşturmaya çalıştığınız anlaşılıyor. PageRank algoritmasının çoğu Markov Zincirleri kullanılarak geliştirilmiştir. R'de PageRank yöntemleri geliştirmeyle ilgili birçok şey bulabilirsiniz.

igraph.sourceforge.net/doc/R/page.rank.htm


1
Gördüğüm kadarıyla bu pagerank ile ilgili değil. IMHO, tek çakışma, kullanıcı yollarının büyük olasılıkla site tasarımı (bağlantılar) ile ilişkili olacağı, ancak bu kadar. Bir yana, sağlanan bağlantı çalışmıyor.
steffen

1
Bağlantıyı bulduğumu düşünüyorum, muhtemelen bir noktada igraph'ın web sayfasındaydı çünkü igraph'ı yoğun bir şekilde kullanıyor gibi görünüyor. stat.berkeley.edu/users/vigre/undergrad/reports/…
geneorama

Oh, anlıyorum ... ve page.rank igraph'ta bir işlev. Bazı belgeler: link1 link2 link3
geneorama

İlk raporu kısaca gözden geçirdikten sonra, aslında bunun oldukça iyi bir cevap olduğunu düşünüyorum ve bunu oyladım (biraz özen göstermiş olsa da!). Sayfa sıralamasının işlevselliği cevap gibi görünüyor.
geneorama

0

Burada gördüğüm kadarıyla, igraphs / Markov Zincirlerinin muhtemelen gidilecek yol olduğunu kabul ediyorum, ancak kesinlikle rpart ve / veya parti setini kullanabilirsiniz.

Sınırlı örneğinizle basit bir cevap vermek benim için zor, ama genel olarak nasıl yapacağınızı açıklayabilirim.

Tüm kullanıcılarınızın nerede bulunduğuna bakmak ve örneğin bir dizede özetlemek istiyorsunuz

"Home / product4 / product3 / product4 / buynow"
"Home / product3 / buynow"
"Home / product3 / product4"

Daha sonra kullanıcılarınızı kategorilere bölebilir, "şimdi satın al" sayfasında bulunanları ve yapmayanları söyleyebilirsiniz. O zaman bu terminal sonucunu tahmin etmeye başlayabilirsiniz. Bu örnekte, belki de en çok karşılaştırma dükkanını yapan kişilerin bir şey satın almadığını / satın almadığını öğreneceksiniz.

Ayrıca "buynow sayfasından önceki sayfa neydi" "" bir şey satın almadan önce kaç sayfa ziyaret ettiler "veya" ilk hesaplarını ne zaman oluşturdular "gibi daha fazla değişken oluşturabilir ve bu metrikleri analizinize ekleyebilirsiniz.

İşte bu kadar çıkabilecek farklı pek çok yolu vardır ve bu farklı sorulara cevap başlar, ama benim açımdan böyle olduğunu olabilir ağaçları kullanmak ve bazı sorunlar için fikir için daha hızlı ve daha basit bir yol olabilir.

Bu arada, factorveya as.factorpartiyi kullanacaksanız sayısal olmayan değişkenler faktörleri yapmanız gerekir . Partinin başlamanız için bazı güzel vinyetleri var.


1
Dürüst olmak gerekirse, ana sayfayı optimize etmek istiyorum, bu yüzden insanların ana sayfadan sayfa 2'ye ve ardından sayfa 2'den üçüncü sayfaya nereye gittiklerini tahmin etmek istiyorum, verilerin en önemli bölümüdür. Terminal sayfası fazla ilgi çekmiyor. Yolculukta sayfa URL'leri ve sayfa numaraları var, bu yüzden geçiş olasılıkları bunu yapmanın bir yolu gibi görünüyor. Buna rağmen, biraz manuel gibi görünüyor ve ben R daha yinelemeli bir çözüm sağlayabilir ...
nellington

Sorunuzu ve son yorumu tekrar okuduktan sonra, insanların ana sayfadan neler yaptığını gösteren bir tablo istediğinizi düşünüyorum. (başlamak için)
geneorama

Kullanıcıların ana sayfadan ve ana sayfadan sonraki sayfadan yaptıkları en önemlisidir, ancak tüm kullanıcı verilerini r ile birleştirebilme ve olasılık atayabilme en zor olduğu yerdir. Belki excel gitmek için bir yol? İgraph'ta köşe / kenar rotasından iniyorum ama yardımdan daha fazla zarara yol açıyor gibi görünüyor.
nellington

Profilime iletişim bilgileri ekledim. Belki çevrimdışı konuşabiliriz?
geneorama

Bu çok yararlı olurdu teşekkürler - gönderilen posta
nellington
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.