ZASTOSOWANIE ALGORYTMÓW GRUPOWANIA
W SIECI WWW I E-BIZNESIE
Sprawozdanie III
Czemiel Paulina
Hałaburda Krzysztof
Zadanie 1
podzielić dane na zbiór uczący (45) i testowy (5),
w zbiorze uczącym wyodrębnić grupy za pomocą algorytmu EM
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
oszacować wybrane oceny w zbiorze testowym (po jednej dla każdego użytkownika):
dla każdego użytkownika ze zbioru testowego:
na podstawie odległości euklidesowej przydzielamy grupę
pobieramy odpowiednią wartość średnią tej grupy i przydzielamy ją dla nieznanej oceny
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