Xây dựng cây xác suất đường dẫn cho các chuyến đi thông qua một trang web


10

Tôi hiện đang phân tích trên một trang web yêu cầu tôi tạo sơ đồ cây quyết định hiển thị tuyến đường có khả năng mọi người đi bất cứ khi nào họ đến trang web. Tôi đang làm việc với một data.frametrong đó cho thấy đường dẫn của tất cả khách hàng đến trang web, bắt đầu từ trang chủ. Ví dụ: một khách hàng có thể đi theo con đường sau:

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

vì vậy khách hàng này sẽ có một hành trình 3 trang. Những gì tôi muốn làm trong R là kết hợp tất cả các đường dẫn của khách hàng và từ đó gán xác suất cho một khách hàng theo một đường dẫn nhất định trên trang web. Ví dụ: nếu tôi kiểm tra tất cả các đường dẫn, tôi có thể thấy rằng 34% những người đến Trang chủ đi vào 'Trang vật phẩm nhà bếp'. R có cơ sở này không?

Tôi đã tìm kiếm các phương pháp khác nhau thông qua các gói rpartpartykit nhưng chúng dường như không giúp được gì.

Bất kỳ chỉ đạo đúng hướng cho điều này là rất nhiều đánh giá cao!


1
Tôi không biết nhiều về lĩnh vực này, nhưng igraphgói có vẻ khá toàn diện.
richiemorrisroe

3
yup, igraph là cách để hình dung. Bạn phải tự mình tính toán các xác suất chuyển tiếp. Nói chung, tôi khuyên bạn nên xem Markov Chains
steffen

1
Bạn có thể gửi một số dữ liệu mẫu? Nó sẽ giúp chúng tôi hiểu tình hình tốt hơn.
tò mò_cat

Câu trả lời:


1

Không phải là một cách để bắt đầu, là có một ma trận (giả sử ) trong đó là số lượng trang. Sau đó, dựa trên phần tử ma trận gia tăng dữ liệu thô của bạn bất cứ khi nào bạn có một người dùng nhảy từ trang đến trang . Điều đó giúp bạn có xác suất chuyển tiếp.n×nMn×nnMrcrc

Câu hỏi đầu tiên của bạn đã được trả lời bởi điều này: "Bao nhiêu phần trăm người dùng trên trang chủ (nói trang 1) đi bên cạnh, giả sử, Đồ dùng nhà bếp (nói trang 2)?"

M12cM1c

Hay điều này là quá đơn giản?


1
Không có điều này là đúng. Từ đây mặc dù - có cách nào để vẽ đồ thị từng cái này một cách linh hoạt vào một cây trong R không? Nếu không, tôi có thể sử dụng một công cụ khác không?
nellington

@nellington: Bạn đang nghĩ đến loại cây nào?
tò mò_cat

1
Tốt nhất là cây xác suất, với nút gốc là trang chủ (nhưng nếu tôi có thể thay đổi nút gốc, sang một trang khác trên trang web - đó sẽ là một tính năng tuyệt vời), mỗi nhánh từ nút gốc sẽ đại diện cho trang tiếp theo được truy cập sau nút gốc. Lý tưởng nhất, mỗi chi nhánh sẽ có một% xác suất kèm theo. Nó sẽ là động theo nghĩa là tôi sẽ có thể mở rộng và ký hợp đồng trên mỗi nút phụ. Bạn có biết bất kỳ phần mềm trực quan nào có thể xử lý việc này không?
nellington

@nellington: Để hình dung hoàn toàn, bạn có thể thử graphviz. Cây đó sẽ là một biểu đồ có hướng và có rất nhiều công cụ định hướng graphviz để xử lý điều đó.
tò mò_cat

0

Có vẻ như bạn đang cố gắng tạo lại thuật toán PageRank của Google. Hầu hết thuật toán PageRank được phát triển bằng Chuỗi Markov. Bạn có thể tìm thấy rất nhiều đề cập đến việc phát triển các phương thức PageRank trong R.

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


1
Theo như tôi thấy, đây không phải là về pagerank. IMHO, sự trùng lặp duy nhất là đường dẫn người dùng rất có thể sẽ tương quan với thiết kế trang web (liên kết), nhưng đó là nó. Ngoài ra, liên kết được cung cấp không hoạt động.
steffen

1
Tôi nghĩ rằng tôi đã tìm thấy liên kết, có lẽ nó đã ở trên trang web của igraph bởi vì nó dường như sử dụng igraph rất nhiều. stat.berkeley.edu/users/vigre/undergrad/reports/...
geneorama

Ồ, tôi thấy ... và page.rank là một chức năng trong igraph. Một số tài liệu: link1 link2 link3
genorama

Sau khi lướt qua bản báo cáo đầu tiên, tôi thực sự nghĩ rằng đây là một câu trả lời khá hay và tôi đã bình chọn nó (mặc dù nó có thể đã sử dụng một số chi tiết!). Các chức năng xếp hạng trang dường như là câu trả lời.
genorama

0

Từ những gì tôi thấy ở đây, tôi đồng ý rằng igraphs / Markov Chains có lẽ là con đường để đi, tuy nhiên bạn chắc chắn có thể sử dụng rpart và / hoặc partykit.

Thật khó cho tôi để đưa ra một câu trả lời đơn giản với ví dụ hạn chế của bạn, nhưng tôi có thể giải thích chung về cách bạn sẽ làm điều đó.

Bạn muốn xem tất cả người dùng của bạn đã ở đâu và tóm tắt điều đó thành một chuỗi chẳng hạn

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

Sau đó, bạn có thể phân đoạn người dùng của mình thành các danh mục, giả sử những người đã kết thúc trong trang "mua ngay bây giờ" và những người không. Sau đó, bạn có thể chỉ cần bắt đầu dự đoán về kết quả cuối cùng đó. Trong ví dụ này, có thể bạn sẽ phát hiện ra rằng những người làm cửa hàng so sánh nhiều nhất đã / không mua thứ gì đó.

Bạn cũng có thể tạo nhiều biến hơn, như "trang nào trước trang buynow" "họ đã truy cập bao nhiêu trang trước khi mua thứ gì đó" hoặc "khi nào họ tạo tài khoản đầu tiên" và bạn có thể thêm các số liệu đó vào phân tích của mình.

Có rất nhiều cách khác nhau bạn có thể đi, và điều này bắt đầu trả lời các câu hỏi khác nhau, nhưng quan điểm của tôi là bạn có thể sử dụng cây và đối với một số vấn đề, nó có thể là một cách nhanh hơn và đơn giản hơn để hiểu sâu hơn.

Nhân tiện, bạn sẽ cần tạo các yếu tố biến số không bằng cách sử dụng factorhoặc as.factor, nếu bạn sẽ sử dụng bữa tiệc. Bữa tiệc có một số họa tiết đẹp để bạn bắt đầu.


1
Thành thật mà nói, tôi muốn tối ưu hóa trang chủ, vì vậy dự đoán mọi người đi từ trang chủ đến trang 2 và sau đó trang 2 đến trang thứ ba là phần dữ liệu quan trọng nhất tôi muốn. Trang thiết bị đầu cuối không được quan tâm nhiều. Tôi có các url trang và số trang trong hành trình để xác suất chuyển tiếp có vẻ như là một cách để làm điều đó. Mặc dù vậy, có vẻ như một chút thủ công và tôi mặc dù R có thể cung cấp một giải pháp lặp đi lặp lại nhiều hơn ...
nellington

Sau khi đọc lại câu hỏi của bạn và nhận xét cuối cùng, tôi nghĩ rằng bạn chỉ muốn có một bảng về những gì mọi người làm từ trang chủ. (để bắt đầu)
genorama

Những gì mọi người làm từ trang chủ và trang sau trang chủ là quan trọng nhất, nhưng có thể kết hợp tất cả dữ liệu người dùng trong r và gán xác suất là điều khó khăn nhất. Có lẽ excel là con đường để đi? Tôi đang đi xuống tuyến đường đỉnh / cạnh trong igraph nhưng dường như nó gây ra nhiều tác hại hơn là giúp đỡ.
nellington

Tôi đã thêm một số thông tin liên lạc vào hồ sơ của tôi. Có lẽ chúng ta có thể nói chuyện ngoại tuyến?
genorama

điều đó sẽ rất hữu ích cảm ơn - thư đã gửi
nellington
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.