Úkol 6 - Web usage mining

  • Source files wum_dataset.zip ZIP
  • RapidMiner middw06RapidMiner.zip ZIP

Zadání

Popis dat

Archiv obsahuje následující data:

clicks.csv
  • LocalID - interní identifikátor události
  • PageID - identifikátor zobrazené stránky
  • VisitID - identifikátor session
  • PageName - relativní uri navštívené stránky
  • CatName, CatID - typ stránky(Navigace), obecnější granularita
  • ExtCat,ExtCatID - typ stránky (Obsah), konkrétnější granularita
  • TopicName, TopicID - téma stránky (VHT = vysokohorská turistika)
  • TimeOnPage - čas na stránce v sekundách. Na poslední stránce v session se předpokládá 30s. Údaj je zaokrouhlen na půlminutové bloky.
  • PageScore - váha stránky odvozená od času na stránce o a pořadí stránky v clickstreamu t podle heuristiky (ln(o)+1)*t
  • SequenceNumber - pořadí stránky v clickstreamu
visitors.csv
  • VisitID - identifikátor session
  • Referrer - anonymizované označení odkazující domény
  • Den - den započetí návštěvy
  • Hodina - hodina započetí návštěvy
  • Delka_sekundy - délka návštěvy v sekundách (součet hodnot TimeOnPage v řádcích se stejným VistiID v clicks.csv)
  • Delka_pocetstranek - počet navštívených stránek během návštěvy (počet řádků se stejným VistiID v clicks.csv)
search_engine_map.csv
  • Referrer - anonymizované označení odkazující domény
  • Typ_Odkazovace - typ odkazující domény

Úkoly

Předzpracování dat

  • Navrhněte vhodnou reprezentaci dat pro následné dolování asociačních pravidel a shlukovou analýzu (clustering).
    • Vytvořte dva soubory, kde každý řádek bude reprezentovat jedno sezení (session) a sloupce budou obsahovat data vhodná pro daný typ úlohy.
    • V případě váhové funkce zvolte mezi binární, agregovaným časem, nebo agregovaným PageScore.
  • Odstraňte příliš krátké návštěvy (Delka_pocetstranek ⇐2).
  • Navrhněte a použijte další metody na pročištění dat.
  • Identifikujte měkké konverze: zobrazení stránky se slevami (n_sleva.asp) a s informacemi o přihlášení (jak_se_prihlasit.htm), pojištění (n_pojistenick.asp) a informacemi o CK (n_kdojsme.asp).
  • Identifikujte tvrdé konverze: zobrazení stránky n_prihlaska.asp, n_katalog.asp (předpokládejte, že stránka se zobrazuje po úspěšně odeslané přihlášce / žádosti o katalog).

Dolování dat

  • Pokuste se v datech nalézt zajímavá asociační pravidla, která se vztahují ke konverzi (konsekvent).
  • Pokuste se v datech nalézt shluky návštěvníků s podobným profilem (shlukujte především podle atributu TopicName).

Pro dolování dat je preferovaným nástrojem Weka.

Shlukování

Předzpracování dat

  • Pro předzpracování dat, stejně jako pro následné dolování dat jsem použil program Rapid Miner.

Prepare data for clustering

  1. pomocí bloku “Select Attributes” vybereme atributy, které budeme dále zpracovávat
  2. blok “Pivot” vytvoří pivot tabulku podle TopicName - to vytvoří sloupec pro každý TopicName, metriku jsem zvolil TimeOnPage, ale nezáleží na ni, jelikož se nakonec stejně nebere v potaz
  3. další blok “Replace missing” nahradí chybějící atributy nulou
  4. blok “Agregate” agreguje do jednoho řádku (VisitID) všechny témata, které uživatel navšívil
  5. jelikož mě nazajímají hodnoty v agregaci, ale pouze zda uživatel byl nebo nebyl v tématu, pomocí “Numerical to Binominal” převedu hodnoty na true/false a jelikož shlukování pracuje pouze s numerical daty, převedu zpět na 0/1 pomocí “Nominal tu Numerical” (njspíš by to celé šlo i diskretizací)
  6. další bloky už jen upravují výstup, “Select Attributes” vybere atributy, “Rename Attributes” přejmenovává atributy

Shlukování

  • k shlukování použil jsem “Clustering with k-means”
    • k = 8
    • max runs = 100
    • mas optimization steps 1000

Výsledky

Cluster 0Cluster 1Cluster 2Cluster 3Cluster 4Cluster 5Cluster 6Cluster 7
Obecne 0.000 0.837 1.000 1.000 0.864 0.354 0.657 0.379
Turistika 0.163 0.271 1.000 0.000 0.158 0.044 0.030 0.051
Horska turistika 0.076 0.199 0.118 0.000 0.998 0.048 0.014 0.014
VHT 0.038 0.041 0.032 0.014 0.355 0.003 0.030 0.042
Voda 0.029 0.034 0.033 0.010 0.061 0.007 0.022 0.013
Rafting 0.022 0.014 0.027 0.011 0.061 0.010 0.019 0.007
Exotika 0.000 0.110 0.128 0.000 0.118 0.010 0.107 1.000
Neni 0.060 0.947 0.057 0.010 0.067 0.010 0.063 0.038
Korsika 0.042 0.168 0.073 0.037 0.056 0.109 0.073 0.022
Pobyty s vylety 0.052 0.290 0.034 0.023 0.021 0.068 0.036 0.018
Hotelbusy 0.013 0.141 0.069 0.011 0.035 0.048 0.029 0.018
Lastminute 0.000 0.218 0.147 0.000 0.198 0.027 1.000 0.046
Poznavaci zajezdy U 0.211 0.475 0.178 0.057 0.041 0.044 0.089 0.057
Expedice Narocne 0.041 0.070 0.055 0.015 0.174 0.024 0.076 0.114
Lyze 0.067 0.019 0.009 0.016 0.098 0.020 0.136 0.011
Lipari 0.025 0.141 0.040 0.024 0.021 0.058 0.057 0.022
Cyklo 0.051 0.072 0.054 0.033 0.083 0.048 0.066 0.020
Bulharsko 0.040 0.077 0.018 0.033 0.032 0.088 0.055 0.013
Poznavaci zajezdy LT 0.048 0.700 0.043 0.007 0.015 0.112 0.014 0.008
Skolni zajezdy 0.018 0.014 0.006 0.005 0.012 0.010 0.009 0.002
Ubytovani a doprava 0.024 0.043 0.011 0.012 0.015 0.054 0.043 0.005
Pobytove 0.035 0.158 0.019 0.033 0.018 0.071 0.077 0.019
Horolezecka skola 0.008 0.012 0.005 0.007 0.135 0.003 0.016 0.006
Nezjisten 0.026 0.005 0.007 0.003 0.008 0.003 0.005 0.007
Cerna Hora 0.000 0.070 0.022 0.000 0.024 1.000 0.022 0.001
Alpy 0.028 0.177 0.012 0.007 0.070 0.031 0.025 0.007
Golf 0.011 0.007 0.005 0.005 0.003 0.007 0.016 0.002


Ze shluků můžeme vyvodit jaká témata uživatele spojují. Jako směrodatná data jsem vybíral TOP 5 navštěvovaných témat ve shluku a zároveň téma navštívilo více než 10% navštěvníků ze shluku.

  • Cluster 0: Poznávací zájezdy s ubytováním, Turistika
  • Cluster 1: Obecné, Poznávací zájezdy s ubytováním, Pobyty s výlety, Poznávací zájezdy s lechkou turistikou
  • Cluster 2: Obecné, Turistika, Poznávací zájezdy s ubytováním, Lastminute
  • Clusetr 3: Obecné
  • Clusetr 4: Obecné, Horská turistika, Vysokohorská turistika, Last minute, Expedice náročné
  • Clusetr 5: Černá hora, Korsika, Obecné
  • Clusetr 6: Lastminute, Obecné, Lyže, Exotika
  • Clusetr 7: Obecné, Exotika, Expedice náročné

Závěry

Výsledky odpovídají co bychom očekávali, zjímavé shluky jsou například: Clusetr 4, kde vidíme že uživatele spojují témata Horská turistika, Vysokohorská turistika, Last minute, Expedice náročné. Další zajímavým shlukem je Cluster 1, kde uživatele spojují témata Poznávací zájezdy s ubytováním, Pobyty s výlety, Poznávací zájezdy s lechkou turistikou.

Asociační pravidla

Předzpracování dat

  • Pro předzpracování dat, stejně jako pro následné dolování dat jsem použil program Rapid Miner.

  1. nejdříve bylo data potřeba sjoinovat (je nutné nastavit parametr id, podle kterého se joinuje, ten může být jen jeden, proto používám “Set Role”)
  2. odfiltrujeme návštěvy, kde je počet zhlédnutých stránek < 3 → jsou nezajimavé pro asociační pravidla
  3. vytvoříme si sloupce pro měkké a tvrdé konverze “Generate Attributes”
  4. agregujeme (podle VisitID), metriky, které nás zajímají
  5. provedeme diskretizaci a převedeme atributy, které nás zajímají do binomiální podoby (podmínka pro vytváření asoc. pravidel)

Asociační pravidla

  • Pro tvorbu asociačních pravidel jsem použil “FP-Growth” a “Create Association Rules”
    • min supprot: 0.01
    • min confidence: 0.2

Výsledky

PremisesConclusionSupportConfidence
Tvrdé konverze
sum(TimeOnPage) = range1 [-∞ - 135], maximum(Delka_pocetstranek) = range2 [3.500 - 4.500]Konverze_tvrde 0.011973 0.319797
sum(TimeOnPage) = range1 [-∞ - 135], maximum(Delka_pocetstranek) = range3 [4.500 - 6.500]sum(PageScore) = range1 [-∞ - 194], Konverze_tvrde 0.011022 0.3625
sum(TimeOnPage) = range1 [-∞ - 135], maximum(Delka_pocetstranek) = range4 [6.500 - ∞]sum(PageScore) = range1 [-∞ - 194], Konverze_tvrde 0.013493 0.405714
sum(PageScore) = range1 [-∞ - 194], maximum(Delka_pocetstranek) = range3 [4.500 - 6.500]Konverze_tvrde 0.011022 0.449612
sum(PageScore) = range1 [-∞ - 194], maximum(Delka_pocetstranek) = range3 [4.500 - 6.500]sum(TimeOnPage) = range1 [-∞ - 135], Konverze_tvrde 0.011022 0.449612
sum(TimeOnPage) = range1 [-∞ - 135], sum(PageScore) = range1 [-∞ - 194], maximum(Delka_pocetstranek) = range3 [4.500 - 6.500]Konverze_tvrde 0.011022 0.449612
sum(TimeOnPage) = range1 [-∞ - 135], maximum(Delka_pocetstranek) = range3 [4.500 - 6.500]Konverze_tvrde 0.013683 0.45
sum(TimeOnPage) = range1 [-∞ - 135], sum(PageScore) = range2 [194 - 429.500]Konverze_tvrde 0.014633 0.458333
sum(PageScore) = range1 [-∞ - 194], maximum(Delka_pocetstranek) = range4 [6.500 - ∞]sum(TimeOnPage) = range1 [-∞ - 135], Konverze_tvrde 0.013493 0.577236
sum(TimeOnPage) = range1 [-∞ - 135], maximum(Delka_pocetstranek) = range4 [6.500 - ∞]Konverze_tvrde 0.019384 0.582857
sum(PageScore) = range1 [-∞ - 194], maximum(Delka_pocetstranek) = range4 [6.500 - ∞]Konverze_tvrde 0.013683 0.585366
sum(TimeOnPage) = range1 [-∞ - 135], sum(PageScore) = range1 [-∞ - 194], maximum(Delka_pocetstranek) = range4 [6.500 - ∞]Konverze_tvrde 0.013493 0.586777
Měkké konverze
sum(TimeOnPage) = range1 [-∞ - 135], maximum(Delka_pocetstranek) = range2 [3.500 - 4.500]Konverze_mekke 0.010832 0.28934
sum(TimeOnPage) = range1 [-∞ - 135], maximum(Delka_pocetstranek) = range4 [6.500 - ∞]Konverze_mekke 0.013873 0.417143
sum(TimeOnPage) = range1 [-∞ - 135], maximum(Delka_pocetstranek) = range3 [4.500 - 6.500]sum(PageScore) = range1 [-∞ - 194], Konverze_mekke 0.012733 0.41875
sum(TimeOnPage) = range1 [-∞ - 135], maximum(Delka_pocetstranek) = range3 [4.500 - 6.500]Konverze_mekke 0.014823 0.4875
sum(PageScore) = range1 [-∞ - 194], maximum(Delka_pocetstranek) = range3 [4.500 - 6.500]Konverze_mekke 0.012733 0.51938
sum(PageScore) = range1 [-∞ - 194], maximum(Delka_pocetstranek) = range3 [4.500 - 6.500]sum(TimeOnPage) = range1 [-∞ - 135], Konverze_mekke 0.012733 0.51938
sum(TimeOnPage) = range1 [-∞ - 135], sum(PageScore) = range1 [-∞ - 194], maximum(Delka_pocetstranek) = range3 [4.500 - 6.500]Konverze_mekke 0.012733 0.51938

Závěr

Ve výsledku můžeme vidět několik zajímavých asociačních pravidel vedoucích ke konverzím, například je vidět, že čím více stránek u6ivatel navštíví, tím větší je pravděpodobnost konverze (měkké i tvrdé). Například je vidět, že pokud uživatel navštívil více než 6 stránek, udělal z 60% tvrdou konverzi a z 50% měkkou konverzi. Zajimavé také může být, že 60% uživatelů, kteří strávili na stránkách méně než 135 vteřin a zároveň zhlédli více než šest stránek udělalo tvrdou konverzi. Jinak jsou mnou získaná asociační pravidla nepříliš zajímavá a chtělo by to lépe předzpracovat vstupní data.

school/fit/middw/webusagemining.txt · Last modified: 2018-06-21 19:48 (external edit)
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0