Crea un albero delle probabilità del percorso per i viaggi attraverso un sito Web


10

Attualmente sto effettuando analisi su un sito Web che richiede che crei un diagramma dell'albero decisionale che mostri il percorso probabile che le persone prendono ogni volta che arrivano sul sito Web. Ho a che fare con un data.frameche mostra i percorsi di tutti i clienti al sito, a partire dalla homepage. Ad esempio, un cliente potrebbe seguire il seguente percorso:

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

quindi questo cliente avrebbe un viaggio di 3 pagine. Quello che voglio provare a fare in R è combinare tutti i percorsi dei clienti e quindi assegnare una probabilità a un cliente seguendo un determinato percorso sul sito. Ad esempio, se dovessi esaminare tutti i percorsi, potrei scoprire che il 34% delle persone che arrivano sulla home page accede alla pagina degli articoli da cucina. R ha questa struttura?

Ho cercato diversi metodi attraverso i pacchetti rpart e partykit ma non sembravano essere di alcun aiuto.

Qualsiasi sterzo nella giusta direzione per questo è molto apprezzato!


1
non ne so molto di quest'area, ma il igraphpacchetto sembra essere abbastanza completo.
richiemorrisroe,

3
sì, igraph è la strada da percorrere per la visualizzazione. Devi calcolare in anticipo le probabilità di transizione da solo. In generale, ho raccomandato di dare un'occhiata a Markov Chains
steffen,

1
Puoi pubblicare alcuni dati di esempio? Ci aiuterebbe a capire meglio la situazione.
curious_cat

Risposte:


1

n×nMn×nnMrcrc

La tua prima domanda ha già una risposta: "Qual è la percentuale di utenti sulla home page (ad esempio pagina 1) che viaggiano accanto ad esempio ad articoli da cucina (ad esempio pagina 2)?"

M12cM1c

O è troppo semplicistico?


1
No questo è giusto. Da qui però - c'è un modo per rappresentare ciascuno di questi dinamicamente in un albero in R? In caso contrario, c'è un altro strumento che potrei usare?
Nell '11

@nellington: che tipo di albero hai in mente?
curious_cat

1
Preferibilmente un albero delle probabilità, con il nodo radice come homepage (ma se posso cambiare il nodo radice, in un'altra pagina del sito - sarebbe una grande caratteristica), ogni ramo del nodo radice rappresenterebbe la pagina successiva visitata dopo il nodo principale. Idealmente, ogni ramo avrebbe una probabilità% allegata. Sarebbe dinamico, nel senso che dovrei essere in grado di espandersi e contrarmi su ciascun sotto-nodo. Conosci qualche software di visualizzazione in grado di gestirlo?
Nell '11

@nellington: per la visualizzazione puramente, potresti provare graphviz. Quell'albero sarà un grafico diretto e ci sono molti strumenti orientati a graphviz per gestirlo.
curious_cat

0

Sembra che tu stia cercando di ricreare l'algoritmo PageRank di Google. Gran parte dell'algoritmo PageRank è stato sviluppato utilizzando Markov Chains. Puoi trovare molte menzioni sullo sviluppo di metodi PageRank in R.

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


1
Per quanto vedo, non si tratta di pagerank. IMHO, l'unica sovrapposizione è che i percorsi utente saranno probabilmente correlati alla progettazione del sito (collegamenti), ma il gioco è fatto. A parte, il link fornito non funziona.
Steffen,

1
Penso di aver trovato il link, probabilmente era sulla pagina web di igraph ad un certo punto perché sembra usare pesantemente igraph. stat.berkeley.edu/users/vigre/undergrad/reports/…
geneorama

Oh, capisco ... e page.rank è una funzione in igraph. Alcuni documenti: link1 link2 link3
geneorama

Dopo aver brevemente sfogliato il primo rapporto, in realtà penso che questa sia una risposta abbastanza buona, e l'ho votato a favore (anche se avrebbe potuto usare qualche elaborazione!). La funzionalità di ranking della pagina sembra essere la risposta.
geneorama

0

Da quello che vedo qui, sono d'accordo che igraphs / Markov Chains è probabilmente la strada da percorrere, tuttavia potresti sicuramente usare rpart e / o il partykit.

È difficile per me dare una risposta semplice con il tuo esempio limitato, ma posso spiegare in generale come lo faresti.

Vuoi dare un'occhiata a dove erano stati tutti i tuoi utenti e riassumere questo in una stringa per esempio

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

Potresti quindi segmentare i tuoi utenti in categorie, ad esempio quelli che sono finiti nella pagina "acquista ora" e quelli che non lo hanno fatto. Quindi potresti semplicemente iniziare a prevedere il risultato di quel terminale. In questo esempio, potresti scoprire che le persone che hanno fatto più acquisti comparativi hanno / non hanno comprato qualcosa.

Potresti anche creare più variabili, come "qual era la pagina prima della pagina buynow" "quante pagine hanno visitato prima di acquistare qualcosa" o "quando hanno creato il loro primo account" e puoi aggiungere quelle metriche alla tua analisi.

Ci sono un sacco di modi diversi si poteva andare, e questo comincia a rispondere a domande diverse, ma il mio punto è che si potrebbe utilizzare gli alberi e per alcuni problemi potrebbe essere un percorso più rapido e più semplice da intuizione.

A proposito, dovresti creare fattori variabili non numerici usando factoro as.factor, se hai intenzione di usare party. Party ha delle belle vignette per iniziare.


1
Ad essere sincero, voglio ottimizzare la homepage, quindi prevedere dove vanno le persone dalla homepage alla pagina 2 e quindi dalla pagina 2 alla terza pagina è la sezione di dati più importante che vorrei. La pagina del terminale non è di grande interesse. Ho URL di pagina e numeri di pagina nel viaggio, quindi le probabilità di transizione sembrano un modo per farlo. Nonostante ciò, sembra un po 'manuale e anche se R potrebbe essere in grado di fornire una soluzione più iterativa ...
Nell'ington,

Dopo aver riletto la tua domanda e l'ultimo commento, penso che tu voglia semplicemente una tabella di ciò che le persone fanno dalla home page. (per iniziare)
geneorama,

Ciò che le persone fanno dalla homepage e dalla pagina dopo la homepage è la cosa più importante, ma essere in grado di concatenare tutti i dati degli utenti in r e assegnare le probabilità è dove è più difficile. Forse Excel è la strada da percorrere? Sto andando lungo la rotta vertici / bordi in igraph ma sembra causare più danni che aiuto.
Nell'ington,

Ho aggiunto alcune informazioni di contatto al mio profilo. Forse potremmo parlare offline?
geneorama,

sarebbe molto utile grazie - mail inviata
nellington il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.