ZASTOSOWANIE ALGORYTMÓW GRUPOWANIA

W SIECI WWW I E-BIZNESIE

Sprawozdanie III

Algorytmy grupujące w systemach rekomendujących

Czemiel Paulina

Hałaburda Krzysztof

Zadanie 1

Dla podzbioru danych MovieLens zawierających 50 użytkowników i ich oceny dla 10 filmów:

Wynik po użyciu algorytmu Em

=== Run information ===

Scheme: weka.clusterers.EM -I 100 -N -1 -M 1.0E-6 -S 100

Relation: 50u_10film_w (1)

Instances: 50

Attributes: 11

nr użytk/film

f1

f2

f3

f4

f5

f6

f7

f8

f9

f10

Test mode: evaluate on training data

=== Model and evaluation on training set ===

EM

==

Number of clusters selected by cross validation: 2

Cluster

Attribute 0 1

(0.62) (0.38)

===============================

nr użytk/film

mean 34.2589 11.0246

std. dev. 10.0578 6.9933

f1

mean 3.5191 3.5465

std. dev. 1.1048 1.1387

f2

mean 3.5 3.5

std. dev. 0.2474 0.3989

f3

mean 0 0

std. dev. 0 0

f4

mean 4 4

std. dev. 0 0

f5

mean 3.5045 3.4925

std. dev. 0.1726 0.061

f6

mean 3.4951 3.5081

std. dev. 0.1363 0.456

f7

mean 4.1751 4.1527

std. dev. 0.375 0.5292

f8

mean 3 3

std. dev. 0 0

f9

mean 4.5161 4.4735

std. dev. 0.0881 0.1121

f10

mean 4.5096 4.4842

std. dev. 0.1928 0.2104

Clustered Instances

0 31 ( 62%)

1 19 ( 38%)

Log likelihood: 34.7179

dla każdego użytkownika ze zbioru testowego:

Uzupełnić poniższą tabelę dla przypadków testowych:

nr

ocena rzeczywista 

ocena oszacowana 

1

4

4

2

1

2

3

5

4

4

1

4

5

5

4

Kod funkcji:

function licz_ocene($i,$aOceny,$aProfile){

$iPodPierwiastkiem[0]=0;

$iPodPierwiastkiem[1]=0;

for($f=1;$f<count($aOceny);$f++){

if($f<>$i&&$aOceny[$f]<>"?"){

$iPodPierwiastkiem[0]+=pow(($aOceny[$f]-$aProfile[$f][0]),2);

$iPodPierwiastkiem[1]+=pow(($aOceny[$f]-$aProfile[$f][1]),2);

}

}

if(sqrt($iPodPierwiastkiem[0])<sqrt($iPodPierwiastkiem[1])){

return 0;

}return 1;

}

Wykorzystać oprogramowanie Weka