Hello ! could any one help me to know why am getting Nan as predicted values. I will be really grateful for help .Thank you
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
i have data 900 users of 7 application usage. Where each column represent user and row represent APP.
if true
% code
end
6524 703 126 51 517 36 439 4 149 480 38 608 9 3520 3 5 476 1 615 335 145 3040 1898 2 253 884 57 48 2789 36 1276 1004 NaN 931 1209 190 1347 1867 1149 332 102 47 496 3 1840 15 21 1731 1614 11 9005 13 60 463 163 618 4346 NaN 2 59 1096 423 1 8 236 228 683 54 97 NaN 2 1016 11 12 663 189 NaN 11 1974 NaN NaN 901 1 2330 31 1540 532 475 4 58 NaN 106 126 NaN 35 381 96 73 9191 7098 108 202 19 5311 2869 26 58 3 284 61 14 1 63 2500 2103 NaN 95 2850 46 432 1 4542 152 NaN 810 320 14 895 243 1458 3671 248 75 137 789 2309 NaN 49 12201 61 10 3053 15 2618 2894 5895 44 5487 185 176 22 1279 278 1 161 NaN 1211 2094 118 3108 2 418 117 7 2 NaN 633 NaN 7 6 4 NaN NaN 162 NaN NaN 1718 3042 3942 2 1039 NaN 4681 4 NaN 666 509 4006 NaN 1035 1409 59 3625 280 4 63 14 NaN 569 NaN 101 100 3 1622 5096 5482 713 3 17 7 1592 NaN 11 51 1 NaN 2360 2021 3589 4107 49 2186 29 178 60 3175 8 NaN 1 70 3 4542 1442 NaN 3131 4 887 33 177 119 28 5222 2087 8674 1496 1964 1492 1569 1391 NaN 1723 2224 661 NaN 104 NaN 486 NaN 1413 824 2063 1089 3568 1786 NaN 24 51 891 3146 NaN 662 959 157 312 951 35 2 331 551 2 468 7361 636 5997 418 738 787 239 501 997 164 223 833 21 NaN 47 NaN NaN 46 NaN 4301 2025 87 9 6 1 48 NaN 298 1471 404 1350 3210 1236 311 262 700 912 NaN 12 62 NaN NaN 28 3 49 19051 244 1 4307 296 2096 45 8157 1989 913 519 154 838 513 5604 2092 799 10 1310 2092 12 4511 428 2939 646 791 5448 1640 10351 6493 860 5048 8203 1692 1990 267 2359 2550 163 1781 667 957 689 3557 106 723 2524 89 3609 1759
1541 39 7 NaN 145 NaN NaN NaN 19 4 NaN 2 NaN 11 1 4 NaN NaN 13 50 39 172 85 NaN 1 7 22 1 100 17 6 120 NaN 29 NaN 5 79 188 20 12 NaN NaN 67 NaN 5 NaN NaN 37 67 2 455 NaN 4 100 2 18 9 NaN 28 NaN 6 9 NaN NaN 1 5 5 NaN 12 NaN 3 24 NaN NaN 64 11 NaN NaN 1 NaN NaN 64 NaN 209 6 10 195 4 NaN NaN NaN 5 2 NaN 55 14 18 2 169 185 NaN 118 6 73 468 4 1 1 65 15 NaN NaN 3 71 250 NaN 137 771 NaN 2 NaN 57 41 NaN 78 22 7 217 22 97 287 7 12 5 7 124 1 4 1147 NaN 1 46 13 238 4346 1895 13 472 64 9 NaN 513 19 8 10 NaN 110 6 27 170 NaN 48 NaN NaN NaN NaN 70 NaN 2 NaN NaN NaN NaN 3 NaN NaN 26 801 621 NaN 814 NaN 2657 NaN NaN 11 9 123 19 364 137 NaN 1037 1 3 NaN NaN NaN 143 NaN 1 NaN NaN 1307 1432 669 32 NaN NaN NaN 214 NaN NaN 8 NaN NaN 189 178 245 1492 2 185 NaN 5 NaN 57 NaN NaN NaN 41 NaN 57 71 NaN 461 NaN 68 NaN 1 20 NaN 70 9 1485 740 38 26 235 114 NaN 84 354 NaN NaN NaN NaN 3 NaN 6 32 27 115 85 125 NaN NaN 3 24 169 NaN 1 1012 5 22 311 1 NaN 29 3 NaN 11 75 75 527 30 27 54 NaN NaN 84 NaN 25 6 NaN NaN 14 1 NaN NaN NaN 171 622 NaN NaN NaN NaN 1 NaN 24 255 4426 105 198 76 NaN 210 2150 1022 NaN 43 NaN NaN NaN 7 1 NaN 513 4 NaN 2260 107 1712 39 2084 144 77 7 233 20 4 558 170 4 NaN 146 345 9 9985 297 105 200 15 7278 352 236 708 102 320 849 1108 186 124 212 597 4 36 14 4 371 343 53 169 1798 2 321 299
36 38 9 14 64 NaN 20 3 156 91 5 17 NaN 211 34 NaN 27 NaN NaN 519 297 25 72 77 7 19 1 2 274 113 38 629 13 51 19 3 185 232 16 NaN 2 6 39 1 NaN NaN 13 12 420 NaN 502 6 1 495 NaN 43 160 44 NaN 3 257 23 NaN NaN NaN 50 89 NaN 14 1 NaN 241 NaN NaN 394 27 4 3 NaN NaN NaN 1 NaN 64 2 90 21 56 3 1 NaN 34 105 NaN 7 67 8 1 535 241 NaN 26 NaN 654 1050 NaN 68 NaN 15 19 NaN NaN 5 84 74 NaN NaN 84 NaN NaN NaN 48 83 26 19 NaN 4 184 NaN 34 34 36 9 190 142 177 NaN NaN 1351 NaN 101 312 5 177 66 238 1 787 31 141 NaN 10 40 NaN 291 3 299 NaN NaN 224 1 158 NaN 3 NaN 43 40 NaN NaN NaN NaN 68 NaN 202 NaN 3 11 504 289 36 38 NaN 2480 NaN NaN 279 660 342 NaN 73 NaN NaN 1985 142 12 NaN 13 1 114 NaN NaN NaN NaN 166 1272 406 109 2 NaN NaN 44 4 4 22 NaN NaN 241 52 46 352 10 111 NaN NaN NaN 148 NaN NaN 3 4 NaN 48 79 26 144 NaN 152 150 NaN 8 2 55 129 540 60 NaN 81 416 164 4 34 250 45 NaN NaN 2 NaN NaN 14 109 77 251 49 92 42 12 3 65 123 NaN 45 74 59 1 369 1 2 237 100 5 96 305 778 598 90 51 77 NaN 1 32 NaN 37 44 663 16 3 NaN 2 NaN NaN 647 6 NaN 1 NaN NaN 2 38 2 773 596 45 289 132 NaN 2 20 164 14 NaN NaN NaN NaN 1 93 NaN 566 11 NaN 294 14 2 1 209 3 49 275 4 NaN NaN 400 39 398 NaN 59 15 NaN 19 12 279 432 8 71 179 329 1006 13 315 357 31 533 NaN 481 166 84 219 61 176 2 392 137 46 30 NaN 165 149
NaN NaN NaN NaN 2 NaN NaN NaN NaN 3 NaN NaN NaN 13 NaN NaN NaN NaN NaN NaN NaN 50 NaN NaN NaN NaN 17 2 NaN NaN NaN 3 NaN 9 NaN NaN 8 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 24 8 1 449 NaN NaN 2 84 NaN 1 NaN NaN NaN NaN NaN NaN NaN NaN NaN 1 NaN 7 NaN NaN NaN NaN NaN 28 NaN NaN NaN NaN NaN NaN NaN NaN 164 1 44 5 NaN NaN NaN NaN NaN NaN NaN NaN 39 NaN NaN NaN 12 NaN 16 NaN 6 NaN NaN NaN 1 1 24 NaN NaN NaN NaN 1 NaN NaN 10 NaN NaN NaN 4 NaN NaN 9 NaN 2 NaN NaN 6 34 NaN NaN 1 NaN 118 NaN NaN 26 NaN NaN NaN NaN 79 54 335 NaN NaN NaN 2 NaN 6 NaN 19 1 NaN NaN 309 NaN 21 NaN 22 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 1 NaN NaN NaN 176 173 NaN 3 NaN 128 NaN NaN 15 32 10 NaN 18 144 NaN 191 63 NaN 463 4 NaN 12 NaN NaN NaN NaN 99 4 119 1 NaN NaN NaN 37 NaN NaN NaN NaN 2 2 NaN 121 1163 NaN 6 NaN 1 NaN 19 NaN NaN NaN NaN NaN 4 1 NaN 7 NaN 2 NaN 1 NaN NaN NaN NaN 71 4 NaN NaN 1 NaN NaN 55 30 NaN NaN NaN NaN NaN NaN 2 NaN NaN NaN NaN NaN NaN NaN NaN 2 209 NaN NaN 14 NaN NaN 2 NaN NaN 55 43 NaN NaN 6 11 46 NaN NaN 1 NaN 6 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 245 NaN NaN NaN NaN NaN 2 NaN 1 325 NaN NaN 3 NaN NaN NaN NaN 35 NaN NaN 3 NaN NaN 2 NaN 45 2709 93 NaN 17 3 NaN 1 497 3 8 NaN 24 NaN 18 147 127 NaN NaN 3 NaN NaN 71 117 67 NaN NaN 689 2 NaN 14 149 2 9 37 2 NaN 1 7 NaN 55 149 2 NaN 793 NaN 1 1 NaN NaN 669
26 24 2 NaN 16 NaN 1 NaN NaN NaN NaN 1 NaN 8 NaN NaN 6 NaN NaN 7 1 9 3 NaN NaN 1 11 2 NaN 2 11 31 NaN 35 NaN NaN 2 1 NaN NaN NaN NaN 164 NaN 3 NaN NaN 4 10 NaN 476 NaN NaN 22 NaN NaN 5 1 NaN NaN 226 49 NaN NaN NaN NaN 10 NaN 25 NaN NaN 1 NaN NaN NaN 36 NaN NaN NaN 8 NaN 2 NaN 203 NaN NaN 5 6 NaN 3 NaN 2 1 NaN 4 1 5 NaN 38 4 NaN NaN NaN 20 11 NaN NaN 4 10 NaN NaN 3 6 NaN 98 NaN NaN 34 NaN NaN NaN 7 91 NaN 11 NaN NaN NaN NaN 9 2 NaN NaN NaN 10 51 NaN NaN 1 NaN NaN 150 NaN 318 1 12 NaN 127 6 5 NaN NaN NaN NaN 15 NaN 28 12 NaN 677 NaN 1 NaN NaN NaN NaN 7 NaN NaN NaN NaN NaN NaN 17 1 NaN NaN 2 139 NaN 4 NaN 389 NaN NaN 4 NaN 4 NaN 16 2 NaN 72 NaN NaN NaN NaN NaN 71 NaN 2 4 NaN 3 271 36 3 NaN NaN NaN 26 NaN NaN NaN NaN NaN 30 28 7 85 NaN 55 NaN 1 NaN 214 NaN NaN NaN 30 NaN 7 79 NaN 602 NaN NaN NaN NaN NaN 14 4 263 3 8 29 11 7 2 NaN 61 53 2 NaN NaN NaN NaN NaN 8 9 41 174 1 10 NaN NaN NaN NaN 137 1 NaN 33 NaN 2 3 NaN NaN 2 111 NaN 39 246 3 143 7 12 28 NaN 1 24 NaN NaN 4 NaN NaN NaN NaN NaN NaN NaN 63 2 NaN 12 NaN NaN 2 NaN NaN 15 2 NaN 306 6 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 67 NaN NaN NaN 44 1 NaN 33 3 NaN 4 NaN 1 NaN 43 11 NaN NaN 58 NaN 1 44 NaN 60 1 11 9 2 307 723 NaN 3 35 1 47 NaN 3 NaN 10 10 6 1 3 8 10 48 47 1 2 19
903 496 291 6 115 NaN 180 1 27 924 4 141 NaN 342 13 NaN 771 NaN 34 285 267 559 2364 16 32 46 51 42 554 606 427 280 NaN 235 93 1021 2675 1322 2151 1119 NaN NaN 883 NaN 102 NaN NaN 420 2071 19 3894 1 118 1109 4 14 33 3 17 1 2896 86 NaN NaN NaN 43 142 NaN 141 1 1 313 NaN NaN 600 8 NaN 83 11 32 1 392 1 413 40 199 483 70 1 15 NaN 28 266 5 48 172 9 1 3056 1160 NaN 295 7 6538 468 1 7 4 76 89 NaN NaN 139 490 2757 NaN 38 293 6 16 NaN 110 101 NaN 286 NaN NaN 219 87 133 769 162 128 128 916 3038 NaN 12 1252 NaN 9 708 221 8679 4345 4613 53 339 114 178 NaN 114 709 7 182 2 339 173 2 1521 NaN 1866 7 NaN NaN NaN 90 NaN 17 NaN 4 NaN NaN 31 NaN NaN 1390 3030 4231 NaN 1184 3 16827 NaN 6 2056 202 1152 2 260 325 40 7514 409 NaN 291 3 NaN 370 1 4 NaN NaN 1438 24731 916 103 20 4 NaN 233 NaN NaN 14 4 NaN 1520 1561 1274 782 19 2728 NaN 38 NaN 1091 1 NaN NaN 16 NaN 110 9326 NaN 1187 62 483 21 26 51 NaN 5104 1431 4274 1177 1252 3388 971 11574 NaN 897 1049 601 NaN 5 NaN 91 74 924 3993 551 341 385 2915 NaN 164 33 209 386 NaN 1369 5899 11 29 351 NaN NaN 720 138 NaN 13 3927 508 1200 94 295 603 NaN 230 295 NaN 65 162 NaN 1 1 NaN 1 5 49 3287 276 NaN 13 NaN 2 42 2 17 950 953 595 715 1124 62 1319 414 513 NaN 4 174 NaN NaN 45 NaN 4 26138 264 NaN 1366 72 352 42 4750 1356 606 122 50 296 NaN 4577 91 525 NaN 1723 244 15 2523 149 3324 23 35 3124 507 4700 2456 231 1593 1741 756 1437 206 525 1558 198 294 293 47 194 1924 120 721 1205 3 796 2952
if true
% code
end
if true
% code
crosstab(crosstab==0) = nan;
ratings=crosstab' % row represnt users and colum represt app
movies = {'App1','App2','App3','App4','App5','App6','App7'}
users = [1:883]
if true
% code
end
figure
subplot(2,1,1)
scatter(ratings(:,1),ratings(:,2),'filled')
lsline
%xlim([0 6]); ylim([0 6])
title('Application Preference Space by Two Users')
xlabel('Kevin''s usage frequency'); ylabel('Jay''s usage frequency')
for i = 1:size(ratings,1)
text(ratings(i,1)+0.05,ratings(i,2),movies{i})
end
subplot(2,1,2)
scatter(ratings(:,1),ratings(:,4),'filled')
lsline
%xlim([0 6]); ylim([0 6])
xlabel('Kevin''s usage frequency'); ylabel('Spencer''s usage frequency')
for i = 1:size(ratings,1)
text(ratings(i,1)+0.01,ratings(i,4),movies{i})
end
%By looking at the slope of the best-fit lines, you can tell that Kevin and
%Jay share similar application usage pattern because their ratings are positively correlated.
%while Kevin and Spencer, on the other hand, seem to like use disimilar movies.
if true
% code
end
sims = corr(ratings, 'rows', 'pairwise')
fprintf('Similarity between Kevin and Jay: %.2f\n',sims(1,2))
fprintf('Similarity between Kevin and Spencer: %.2f\n',sims(1,4))
%Because Kevin and Jay have verysimilar app usage , their similarity is positive.
%Kevin and Spencer, on the other hand, share highly different app uasge. Users who
%share similar application usage are called neighbors and we can predict unused APP by combining their existing ratings for other items.
%But we need to find those neighbors first. Let's find the neighbors for Kevin
if true
% code
endsims = sims - eye(length(users)) % set self-correlations to 0
kevin_corrs = sims(1,:)
[ngh_corr, ngh_idx] = sort(kevin_corrs,'descend')
ngh_corr
if true
% code
end
kevin_mu = nanmean(ratings(:,1)) % Kevin's average rating
ngh_corr(300:end) = [] % drop non-neighbors
ngh_idx(300:end) = [] % drop non-neighbors
ngh_mu = nanmean(ratings(:,ngh_idx),1) % neighbor average ratings
Predicted = nan(length(movies),1) % initialize an accumulator
if true
% code
end
for i = 1:length(movies) % loop over movies
ngh_r = ratings(i,ngh_idx) % neighbor ratings for the movie
isRated = ~isnan(ngh_r) % only use neighbors who rated
meanCentered =... % mean centered weighted average
(ngh_r(isRated) - ngh_mu(isRated)) * ngh_corr(isRated)'...
/ sum(ngh_corr(isRated));
Predicted(i) = kevin_mu + meanCentered % add Kevin's average
end
if true
% code
endActual = ratings(:,1) % Kevin's actual ratings
table(Actual, Predicted,'RowNames',movies) % compare them to predicted
end
Result : if true % code end Actual Predicted ____ _______
App1 6524 NaN
App2 1541 NaN
App3 36 NaN
App4 NaN NaN
App5 26 NaN
App6 903 NaN
App7 1890 NaN
Respuestas (0)
Ver también
Categorías
Más información sobre 使用 App 设计工具开发 App en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!