Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
3 / 3 / 1
Регистрация: 05.05.2014
Сообщений: 75
1

Распределение массива на 4 класса

15.03.2016, 16:50. Показов 1318. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!

Есть матрица 40х9, доподлинно известно, что каждые 10 строк это новый класс с специфичными ему 9 параметрами.
Построил диаграмму рассеяния по классам, на ней вручную показал какие граничащие правила нужно задать, чтобы отнести к тому или иному классу(A,B,E,F).

Цель заключается в том, чтобы на основании имеющихся данных создать правила для сортировки по 4 классами, когда оператор будет вносить очередную строчку(9 значений).
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
F2=[524.794072 0.187448362 0.032114058 228.8002279 6843.598481 29.91080273 60.20487976 220.737212  556.8283342;
330 0.226892803 0.265290046 121.1542007 3163.239472 26.10920178 69.71736145 99.084964   400.225776;
551.8792874 0.232477856 0.063529985 264.8049354 11888.39183 44.89490276 77.79329681 253.7852998 656.7694494;
380 0.240855437 0.286233997 137.6401109 5402.17118  39.2485239  88.75844574 105.198568  493.7018135;
362.8312659 0.200712864 0.244346095 124.9125594 3290.462446 26.34212655 69.38938904 103.8665519 424.7965034;
389.8729777 0.150098316 0.097738438 118.6258143 2475.557078 20.86862032 49.75714874 107.6861642 429.3857879;
290.4551412 0.144164196 0.053058009 74.63506664 1189.545213 15.93815436 35.70333099 65.54132446 330.2672929;
275.6773934 0.15393804  0.187797428 91.52789334 1756.234837 19.187974   39.30518341 82.65868215 331.5883017;
470 0.213104702 0.225496539 184.5900566 8185.360837 44.34345484 84.48248291 164.1225107 603.3157151;
423 0.21956242  0.261799388 172.371241  6108.106297 35.43576214 79.05635071 153.1729029 558.2745153;
211 0.053931 0.094248 30.75344 151.9846 4.942034 14.26837 27.24312 217.1307;
196.8567 0.020071 0.090757 28.59313 82.05889 2.869882 7.968783 27.66152 200.7493;
245 0.189019 0.081681 62.90296 1235.983 19.64905 42.15202 46.69036 292.3762;
352.6564 0.121999 0.090757 68.52785 1066.158 15.55802 43.69193 52.79282 382.7332;
243.294 0.039968 0.067021 68.54478 383.9285 5.601134 9.991348 67.81666 263.6408;
259.8851 0.070686 0.006981 58.24381 465.0873 7.98518 17.50684 56.34024 267.5174;
250 0.068068 -0.01536 57.17243 652.9013 11.41986 17.77698 55.79127 278.3086;
200 0.037699 0.117286 42.31668 220.8109 5.218059 10.67576 40.94788 218.0343;
355 0.064054 0.084474 89.55846 1033.854 11.5439 27.56266 86.57656 372.04;
272 0.091455 0.004887 63.78938 718.9463 11.27063 20.08556 60.69073 286.9202;
1724.09 0.052709 -0.02094 404.1262 3053.967 7.556963 71.42759 399.1942 1489.387;
1385.665 0.092328 0.089361 202.48  8785.029 43.38713 143.0922 143.2578 1524.609;
1084.247 0.073478 0   191.898 2937.972 15.31007 66.56363 179.9836 1064.104;
649.3694 0.107512 0.01885 207.1117 3344.433 16.14797 50.54747 200.8487 623.9088;
1500 0.056549 0.050265 375.0966 4759.455 12.68861 78.44598 366.802 1336.159;
770 0.041628 0.002435 175.0197 346.0913 1.977442 25.22233 173.1927 654.7984;
650 0.041015 0.145211 216.8113 427.5341 1.971918 33.76516 214.166 528.6992;
691.972 0.026005 0.086568 190.6767 304.2707 1.595742 23.97572 189.1633 594.3156;
1461.75 0.040841 0.049567 391.846 5574.003 14.22498 57.23148 387.644 1428.84;
1496.736 0.103847 0.08238 640.276 11072   17.29254 108.2869 631.0525 1178.274;
2100 0.061959 -0.04538 390.4825 16640.72 42.6158 125.9004 380.6447 2073.029;
1800 0.034208 0.042586 301.0604 4406.154 14.63545 67.62533 293.3669 1742.376;
2100 0.121649 0.377689 450.5517 35671.61 79.17318 436.0996 113.1986 2461.45;
1666.149 0.012392 0.058451 72.93105 1402.232 19.22681 51.85477 58.59576 1746.578;
1700 0.043982 0.105127 120.653 12331.1 102.203 120.2973 -9.2577 2212.178;
1949.118 0.051798 0.016501 170.3315 3212.077 18.8578 101.4558 136.8193 1941.367;
1850 0.079149 0.06947 253.6215 13113.2 51.70384 160.0655 196.7305 1916.985;
2350 0.081507 0.271573 515.2895 27758.64 53.86999 289.5691 426.2312 2457.677;
1800 0.091979 0.205251 362.8633 15021.55 41.39728 217.834 290.2036 1893.664;
1900 0.054454 0.113795 272.618 7481.593 27.4435 138.3593 234.8985 1924.518];
ABC=['A'; 'A'; 'A'; 'A'; 'A'; 'A'; 'A'; 'A'; 'A'; 'A'; 'B'; 'B'; 'B'; 'B'; 'B'; 'B'; 'B'; 'B'; 'B'; 'B'; 'E'; 'E'; 'E'; 'E'; 'E'; 'E'; 'E'; 'E'; 'E'; 'E'; 'F';'F'; 'F'; 'F'; 'F'; 'F'; 'F'; 'F'; 'F'; 'F'];  
abc=cellstr(ABC); 
[PC,SCORE]=princomp(F2);
figure
gscatter(SCORE(:,1),SCORE(:,2),abc,'','.');
title('Метод главных компонент') 
xlabel('1-я главная компонента');
Понимаю, что нужно прописать цикл на 4 класса, как задать эти линии-границы?
ПС. разумеется есть данные для проверки работоспособности сортировки
Миниатюры
Распределение массива на 4 класса  
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.03.2016, 16:50
Ответы с готовыми решениями:

Ручное распределение памяти для массива объектов класса Qt
Всем доброго времени суток, умею в ручную распределять и освобождать память для массивов...

Составьте таблицу распределение и найдите функцию распределение числа появлений цифры
Монету бросают, пока не выпадет герб. Составьте таблицу распределение и найдите функцию...

Распределение расходов по видам деятельности для УСН в Бухгалтерии 2.0 (распределение зарплаты)
Добрый день. Бухгалтерия предприятия, редакция 2.0 (2.0.64.20). При закрытии месяца март 2015 г....

Двумерное нормальное распределение (Гаусса). Распределение значений в матрице
Здравствуйте. Для реализации алгоритма внедрения водяного знака мне нужно сделать распределение...

9
59 / 59 / 13
Регистрация: 01.03.2016
Сообщений: 142
16.03.2016, 17:12 2
Лучший ответ Сообщение было отмечено starjke как решение

Решение

У меня вот, что вышло:
Кликните здесь для просмотра всего текста

Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
F2=[524.794072 0.187448362 0.032114058 228.8002279 6843.598481 29.91080273 60.20487976 220.737212  556.8283342;
330 0.226892803 0.265290046 121.1542007 3163.239472 26.10920178 69.71736145 99.084964   400.225776;
551.8792874 0.232477856 0.063529985 264.8049354 11888.39183 44.89490276 77.79329681 253.7852998 656.7694494;
380 0.240855437 0.286233997 137.6401109 5402.17118  39.2485239  88.75844574 105.198568  493.7018135;
362.8312659 0.200712864 0.244346095 124.9125594 3290.462446 26.34212655 69.38938904 103.8665519 424.7965034;
389.8729777 0.150098316 0.097738438 118.6258143 2475.557078 20.86862032 49.75714874 107.6861642 429.3857879;
290.4551412 0.144164196 0.053058009 74.63506664 1189.545213 15.93815436 35.70333099 65.54132446 330.2672929;
275.6773934 0.15393804  0.187797428 91.52789334 1756.234837 19.187974   39.30518341 82.65868215 331.5883017;
470 0.213104702 0.225496539 184.5900566 8185.360837 44.34345484 84.48248291 164.1225107 603.3157151;
423 0.21956242  0.261799388 172.371241  6108.106297 35.43576214 79.05635071 153.1729029 558.2745153;
211 0.053931 0.094248 30.75344 151.9846 4.942034 14.26837 27.24312 217.1307;
196.8567 0.020071 0.090757 28.59313 82.05889 2.869882 7.968783 27.66152 200.7493;
245 0.189019 0.081681 62.90296 1235.983 19.64905 42.15202 46.69036 292.3762;
352.6564 0.121999 0.090757 68.52785 1066.158 15.55802 43.69193 52.79282 382.7332;
243.294 0.039968 0.067021 68.54478 383.9285 5.601134 9.991348 67.81666 263.6408;
259.8851 0.070686 0.006981 58.24381 465.0873 7.98518 17.50684 56.34024 267.5174;
250 0.068068 -0.01536 57.17243 652.9013 11.41986 17.77698 55.79127 278.3086;
200 0.037699 0.117286 42.31668 220.8109 5.218059 10.67576 40.94788 218.0343;
355 0.064054 0.084474 89.55846 1033.854 11.5439 27.56266 86.57656 372.04;
272 0.091455 0.004887 63.78938 718.9463 11.27063 20.08556 60.69073 286.9202;
1724.09 0.052709 -0.02094 404.1262 3053.967 7.556963 71.42759 399.1942 1489.387;
1385.665 0.092328 0.089361 202.48  8785.029 43.38713 143.0922 143.2578 1524.609;
1084.247 0.073478 0   191.898 2937.972 15.31007 66.56363 179.9836 1064.104;
649.3694 0.107512 0.01885 207.1117 3344.433 16.14797 50.54747 200.8487 623.9088;
1500 0.056549 0.050265 375.0966 4759.455 12.68861 78.44598 366.802 1336.159;
770 0.041628 0.002435 175.0197 346.0913 1.977442 25.22233 173.1927 654.7984;
650 0.041015 0.145211 216.8113 427.5341 1.971918 33.76516 214.166 528.6992;
691.972 0.026005 0.086568 190.6767 304.2707 1.595742 23.97572 189.1633 594.3156;
1461.75 0.040841 0.049567 391.846 5574.003 14.22498 57.23148 387.644 1428.84;
1496.736 0.103847 0.08238 640.276 11072   17.29254 108.2869 631.0525 1178.274;
2100 0.061959 -0.04538 390.4825 16640.72 42.6158 125.9004 380.6447 2073.029;
1800 0.034208 0.042586 301.0604 4406.154 14.63545 67.62533 293.3669 1742.376;
2100 0.121649 0.377689 450.5517 35671.61 79.17318 436.0996 113.1986 2461.45;
1666.149 0.012392 0.058451 72.93105 1402.232 19.22681 51.85477 58.59576 1746.578;
1700 0.043982 0.105127 120.653 12331.1 102.203 120.2973 -9.2577 2212.178;
1949.118 0.051798 0.016501 170.3315 3212.077 18.8578 101.4558 136.8193 1941.367;
1850 0.079149 0.06947 253.6215 13113.2 51.70384 160.0655 196.7305 1916.985;
2350 0.081507 0.271573 515.2895 27758.64 53.86999 289.5691 426.2312 2457.677;
1800 0.091979 0.205251 362.8633 15021.55 41.39728 217.834 290.2036 1893.664;
1900 0.054454 0.113795 272.618 7481.593 27.4435 138.3593 234.8985 1924.518];
 
%% первая область
xv=[-0.4*10^4;-0.4*10^4;1.4*10^4;-0.4*10^4];
yv=[-1500;-150;-1500;-1500];
%% вторая область
xv1=[-1*10^4;-1*10^4;-0.4*10^4;-0.4*10^4;-1*10^4];
yv1=[-1500;300;-150;-1500;-1500];
%% третья область
xv2=[-1*10^4;3.3*10^4;1.4*10^4;-1*10^4;-1*10^4];
yv2=[1800;-1500;-1500;300;1800];
%% четвертая область
xv3=[3.5*10^4;3.5*10^4;3.3*10^4;-1*10^4;-1*10^4;3.5*10^4];
yv3=[2000;-1500;-1500;1800;2000;2000];
 
[PC,SCORE]=princomp(F2);
figure
plot(xv,yv,'b') % polygon1
hold on
plot(xv1,yv1,'r') % polygon2
plot(xv2,yv2,'g') % polygon3
plot(xv3,yv3,'k') % polygon4
for k=1:2:length(PC)-1
[in,on] = inpolygon(SCORE(:,k),SCORE(:,k+1),xv,yv);
[in1,on1] = inpolygon(SCORE(:,k),SCORE(:,k+1),xv1,yv1);
[in2,on2] = inpolygon(SCORE(:,k),SCORE(:,k+1),xv2,yv2);
[in3,on3] = inpolygon(SCORE(:,k),SCORE(:,k+1),xv3,yv3);
plot(SCORE(in,k),SCORE(in,k+1),'b+') 
plot(SCORE(in1,k),SCORE(in1,k+1),'r+') 
plot(SCORE(in2,k),SCORE(in2,k+1),'g+') 
plot(SCORE(in3,k),SCORE(in3,k+1),'k+') 
end
hold off

Если я правильно все понял...
1
3 / 3 / 1
Регистрация: 05.05.2014
Сообщений: 75
16.03.2016, 18:20  [ТС] 3
Dmitriu_L, огромное спасибо сейчас буду разбираться.

Сейчас нужно будет реализовать ввод новой строчки(9 параметров).
Определение ее в один из четырех классов.
0
3 / 3 / 1
Регистрация: 05.05.2014
Сообщений: 75
16.03.2016, 21:00  [ТС] 4
Dmitriu_L, после первого прохода цикла добавляется сразу все нужны маркеры, зачем делать 4 цикла?
Миниатюры
Распределение массива на 4 класса  
0
59 / 59 / 13
Регистрация: 01.03.2016
Сообщений: 142
16.03.2016, 21:12 5
starjke, не особо разбирался что там за данные, просто отсортировал все что было...
Кликните здесь для просмотра всего текста

Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
F2=[524.794072 0.187448362 0.032114058 228.8002279 6843.598481 29.91080273 60.20487976 220.737212  556.8283342;
330 0.226892803 0.265290046 121.1542007 3163.239472 26.10920178 69.71736145 99.084964   400.225776;
551.8792874 0.232477856 0.063529985 264.8049354 11888.39183 44.89490276 77.79329681 253.7852998 656.7694494;
380 0.240855437 0.286233997 137.6401109 5402.17118  39.2485239  88.75844574 105.198568  493.7018135;
362.8312659 0.200712864 0.244346095 124.9125594 3290.462446 26.34212655 69.38938904 103.8665519 424.7965034;
389.8729777 0.150098316 0.097738438 118.6258143 2475.557078 20.86862032 49.75714874 107.6861642 429.3857879;
290.4551412 0.144164196 0.053058009 74.63506664 1189.545213 15.93815436 35.70333099 65.54132446 330.2672929;
275.6773934 0.15393804  0.187797428 91.52789334 1756.234837 19.187974   39.30518341 82.65868215 331.5883017;
470 0.213104702 0.225496539 184.5900566 8185.360837 44.34345484 84.48248291 164.1225107 603.3157151;
423 0.21956242  0.261799388 172.371241  6108.106297 35.43576214 79.05635071 153.1729029 558.2745153;
211 0.053931 0.094248 30.75344 151.9846 4.942034 14.26837 27.24312 217.1307;
196.8567 0.020071 0.090757 28.59313 82.05889 2.869882 7.968783 27.66152 200.7493;
245 0.189019 0.081681 62.90296 1235.983 19.64905 42.15202 46.69036 292.3762;
352.6564 0.121999 0.090757 68.52785 1066.158 15.55802 43.69193 52.79282 382.7332;
243.294 0.039968 0.067021 68.54478 383.9285 5.601134 9.991348 67.81666 263.6408;
259.8851 0.070686 0.006981 58.24381 465.0873 7.98518 17.50684 56.34024 267.5174;
250 0.068068 -0.01536 57.17243 652.9013 11.41986 17.77698 55.79127 278.3086;
200 0.037699 0.117286 42.31668 220.8109 5.218059 10.67576 40.94788 218.0343;
355 0.064054 0.084474 89.55846 1033.854 11.5439 27.56266 86.57656 372.04;
272 0.091455 0.004887 63.78938 718.9463 11.27063 20.08556 60.69073 286.9202;
1724.09 0.052709 -0.02094 404.1262 3053.967 7.556963 71.42759 399.1942 1489.387;
1385.665 0.092328 0.089361 202.48  8785.029 43.38713 143.0922 143.2578 1524.609;
1084.247 0.073478 0   191.898 2937.972 15.31007 66.56363 179.9836 1064.104;
649.3694 0.107512 0.01885 207.1117 3344.433 16.14797 50.54747 200.8487 623.9088;
1500 0.056549 0.050265 375.0966 4759.455 12.68861 78.44598 366.802 1336.159;
770 0.041628 0.002435 175.0197 346.0913 1.977442 25.22233 173.1927 654.7984;
650 0.041015 0.145211 216.8113 427.5341 1.971918 33.76516 214.166 528.6992;
691.972 0.026005 0.086568 190.6767 304.2707 1.595742 23.97572 189.1633 594.3156;
1461.75 0.040841 0.049567 391.846 5574.003 14.22498 57.23148 387.644 1428.84;
1496.736 0.103847 0.08238 640.276 11072   17.29254 108.2869 631.0525 1178.274;
2100 0.061959 -0.04538 390.4825 16640.72 42.6158 125.9004 380.6447 2073.029;
1800 0.034208 0.042586 301.0604 4406.154 14.63545 67.62533 293.3669 1742.376;
2100 0.121649 0.377689 450.5517 35671.61 79.17318 436.0996 113.1986 2461.45;
1666.149 0.012392 0.058451 72.93105 1402.232 19.22681 51.85477 58.59576 1746.578;
1700 0.043982 0.105127 120.653 12331.1 102.203 120.2973 -9.2577 2212.178;
1949.118 0.051798 0.016501 170.3315 3212.077 18.8578 101.4558 136.8193 1941.367;
1850 0.079149 0.06947 253.6215 13113.2 51.70384 160.0655 196.7305 1916.985;
2350 0.081507 0.271573 515.2895 27758.64 53.86999 289.5691 426.2312 2457.677;
1800 0.091979 0.205251 362.8633 15021.55 41.39728 217.834 290.2036 1893.664;
1900 0.054454 0.113795 272.618 7481.593 27.4435 138.3593 234.8985 1924.518];
 
%% первая область
xv=[-0.4*10^4;-0.4*10^4;1.4*10^4;-0.4*10^4];
yv=[-1500;-150;-1500;-1500];
%% вторая область
xv1=[-1*10^4;-1*10^4;-0.4*10^4;-0.4*10^4;-1*10^4];
yv1=[-1500;300;-150;-1500;-1500];
%% третья область
xv2=[-1*10^4;3.3*10^4;1.4*10^4;-1*10^4;-1*10^4];
yv2=[1800;-1500;-1500;300;1800];
%% четвертая область
xv3=[3.5*10^4;3.5*10^4;3.3*10^4;-1*10^4;-1*10^4;3.5*10^4];
yv3=[2000;-1500;-1500;1800;2000;2000];
 
[PC,SCORE]=princomp(F2);
figure
plot(xv,yv,'b') % polygon1
hold on
plot(xv1,yv1,'r') % polygon2
plot(xv2,yv2,'g') % polygon3
plot(xv3,yv3,'k') % polygon4
%for k=1:2:length(PC)-1
[in,on] = inpolygon(SCORE(:,1),SCORE(:,2),xv,yv);
[in1,on1] = inpolygon(SCORE(:,1),SCORE(:,2),xv1,yv1);
[in2,on2] = inpolygon(SCORE(:,1),SCORE(:,2),xv2,yv2);
[in3,on3] = inpolygon(SCORE(:,1),SCORE(:,2),xv3,yv3);
plot(SCORE(in,1),SCORE(in,2),'b+') 
plot(SCORE(in1,1),SCORE(in1,2),'r+') 
plot(SCORE(in2,1),SCORE(in2,2),'g+') 
plot(SCORE(in3,1),SCORE(in3,2),'k+') 
%end
hold off
1
3 / 3 / 1
Регистрация: 05.05.2014
Сообщений: 75
21.03.2016, 20:25  [ТС] 6
В данном коде 71 строчка данных, из них сформирована диаграмма рассеянности по 4 классам вручную.
Можно ли задать какие то условия для данных, чтобы бы после ввода новой строчки данных — новый маркер попадал в один из классов?
Кликните здесь для просмотра всего текста
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
F=[524.7941 0.187448    0.032114    228.8002    6843.598    29.9108 60.20488    220.7372    556.8283;
330 0.226893    0.26529 121.1542    3163.239    26.1092 69.71736    99.08496    400.2258;
551.8793    0.232478    0.06353 264.8049    11888.39    44.8949 77.7933 253.7853    656.7694;
380 0.240855    0.286234    137.6401    5402.171    39.24852    88.75845    105.1986    493.7018;
362.8313    0.200713    0.244346    124.9126    3290.462    26.34213    69.38939    103.8666    424.7965;
389.873 0.150098    0.097738    118.6258    2475.557    20.86862    49.75715    107.6862    429.3858;
290.4551    0.144164    0.053058    74.63507    1189.545    15.93815    35.70333    65.54132    330.2673;
275.6774    0.153938    0.187797    91.52789    1756.235    19.18797    39.30518    82.65868    331.5883;
470 0.213105    0.225497    184.5901    8185.361    44.34345    84.48248    164.1225    603.3157;
423 0.219562    0.261799    172.3712    6108.106    35.43576    79.05635    153.1729    558.2745;
410 0.317824    0.297404    255.8152    10622.55    41.5243 67.52321    246.7428    508.5404;
500 0.227242    0.050964    219.2955    9819.45 44.77725    76.8685 207.2666    602.5278;
438.7802    0.212407    0.060737    120.9016    4879.496    40.35923    80.79178    89.94379    525.4201;
366.9424    0.280125    0.252026    172.7456    7064.816    40.89724    75.60432    155.3223    471.5882;
485.6688    0.230209    0.134041    253.8937    8135.968    32.04478    64.85545    245.4705    541.364;
390 0.358316    0.203854    245.6861    10055.84    40.92961    70.32478    236.4902    477.5484;
269.4959    0.20752 0.038397    80.41109    1963.605    24.41958    44.74015    66.83831    329.0906;
300 0.190066    0.166853    97.10813    3039.561    31.30079    51.35397    82.41819    387.0782;
325 0.224624    0.286932    229.2159    5705.332    24.89065    35.60271    227.2648    462.703;
294.4748    0.206647    0.467748    194.871 5541.256    28.4355 36.7658 191.8049    445.5133;
500 0.192684    0.194779    144.6886    3055.013    21.1144 96.56337    107.7511    542.8971;
211 0.053931    0.094248    30.75344    151.9846    4.942034    14.26837    27.24312    217.1307;
196.8567    0.020071    0.090757    28.59313    82.05889    2.869882    7.968783    27.66152    200.7493;
245 0.189019    0.081681    62.90296    1235.983    19.64905    42.15202    46.69036    292.3762;
352.6564    0.121999    0.090757    68.52785    1066.158    15.55802    43.69193    52.79282    382.7332;
243.294 0.039968    0.067021    68.54478    383.9285    5.601134    9.991348    67.81666    263.6408;
259.8851    0.070686    0.006981    58.24381    465.0873    7.98518 17.50684    56.34024    267.5174;
250 0.068068    -0.01536    57.17243    652.9013    11.41986    17.77698    55.79127    278.3086;
200 0.037699    0.117286    42.31668    220.8109    5.218059    10.67576    40.94788    218.0343;
355 0.064054    0.084474    89.55846    1033.854    11.5439 27.56266    86.57656    372.04;
272 0.091455    0.004887    63.78938    718.9463    11.27063    20.08556    60.69073    286.9202;
341.62  0.091979    0.074002    85.04303    1370.838    16.11935    29.02897    79.9352 385.1335;
160.3225    0.176976    0.163363    37.21712    341.8815    9.186133    30.88916    20.75991    187.5665;
301.3044    0.109781    0.035605    64.6162 942.7732    14.59035    29.04568    57.72003    335.7685;
155 0.172788    0.118682    38.94017    415.1116    10.66024    25.8365 29.13438    184.817;
144 0.120602    0.046077    19.64767    70.42624    3.584458    18.13101    7.569493    160.3738;
1724.09 0.052709    -0.02094    404.1262    3053.967    7.556963    71.42759    399.1942    1489.387;
1385.665    0.092328    0.089361    202.48  8785.029    43.38713    143.0922    143.2578    1524.609;
1084.247    0.073478    0   191.898 2937.972    15.31007    66.56363    179.9836    1064.104;
649.3694    0.107512    0.01885 207.1117    3344.433    16.14797    50.54747    200.8487    623.9088;
1500    0.056549    0.050265    375.0966    4759.455    12.68861    78.44598    366.802 1336.159;
770 0.041628    0.002435    175.0197    346.0913    1.977442    25.22233    173.1927    654.7984;
650 0.041015    0.145211    216.8113    427.5341    1.971918    33.76516    214.166 528.6992;
691.972 0.026005    0.086568    190.6767    304.2707    1.595742    23.97572    189.1633    594.3156;
1461.75 0.040841    0.049567    391.846 5574.003    14.22498    57.23148    387.644 1428.84;
1496.736    0.103847    0.08238 640.276 11072   17.29254    108.2869    631.0525    1178.274;
1111.814    0.098786    0.071209    386.9871    7659.742    19.79328    86.02512    377.3045    990.9789;
1270.667    0.078889    0.065624    555.3523    3612.968    6.505723    68.78167    551.0765    895.1874;
1647.94 0.080983    0.086568    576.7704    11852.49    20.54975    111.4359    565.9029    1402.878;
1535.851    0.088488    0.004189    637.3497    10814.05    16.96722    96.6104 632.1651    1197.762;
2100    0.061959    -0.04538    390.4825    16640.72    42.6158 125.9004    380.6447    2073.029;
1800    0.034208    0.042586    301.0604    4406.154    14.63545    67.62533    293.3669    1742.376;
2100    0.121649    0.377689    450.5517    35671.61    79.17318    436.0996    113.1986    2461.45;
1666.149    0.012392    0.058451    72.93105    1402.232    19.22681    51.85477    58.59576    1746.578;
1700    0.043982    0.105127    120.653 12331.1 102.203 120.2973    -9.2577 2212.178;
1949.118    0.051798    0.016501    170.3315    3212.077    18.8578 101.4558    136.8193    1941.367;
1850    0.079149    0.06947 253.6215    13113.2 51.70384    160.0655    196.7305    1916.985;
2350    0.081507    0.271573    515.2895    27758.64    53.86999    289.5691    426.2312    2457.677;
1800    0.091979    0.205251    362.8633    15021.55    41.39728    217.834 290.2036    1893.664;
1900    0.054454    0.113795    272.618 7481.593    27.4435 138.3593    234.8985    1924.518;
1800    0.069115    0.15708 385.5647    13831.72    35.87394    157.57  351.8975    1823.032;
1850    0.073304    0.225497    325.1915    8644.984    26.58428    208.74  249.3535    1908.177;
1650    0.047647    0.043284    274.4262    5824.895    21.22573    81.23957    262.1257    1603.07;
2800    0.083078    0.184307    583.2593    31388.65    53.81595    298.583 501.0385    2896.582;
2329.84 0.066148    0.353255    377.2534    25369.04    67.24669    336.0752    171.3872    2686.435;
2400    0.084125    0.22061 596.042 37939.26    63.65199    261.3482    535.6894    2447.772;
2000    0.067195    0.124267    330.2716    15381.1 46.57105    169.198 283.6396    2063.073;
2000    0.106989    0.105418    520.2226    40087.92    77.05916    204.0903    478.5172    2088.649;
1600    0.071908    -0.06632    436.9436    12655.34    28.96333    103.7327    432.1297    1475.372;
2300    0.045029    0.136834    185.446 5086.292    27.42734    178.6917    49.59329    2480.592;
2600    0.069988    0.048869    745.4744    39845.77    53.45023    154.1226    729.3684    2545.42];
ABC=['A';'A';'A';'A';'A';'A';'A';'A';'A';'A';'A';'A';'A';'A';'A';'A';'A';'A';'A';'A';'A';'B';'B';'B';'B';'B';'B';'B';'B';'B';'B';'B';'B';'B';'B';'B';'C';'C';'C';'C';'C';'C';'C';'C';'C';'C';'C';'C';'C';'C';'D';'D';'D';'D';'D';'D';'D';'D';'D';'D';'D';'D';'D';'D';'D';'D';'D';'D';'D';'D';'D'];  
abc=cellstr(ABC); 
[PC,SCORE]=princomp(F);
figure
gscatter(SCORE(:,1),SCORE(:,2), abc,'','.');
title('Метод главных компонент') 
xlabel('1-я главная компонента');
ylabel('2-я главная компонента');
legend('Carcinoma','Fibro-adenoma','Connective','Adipose');
Миниатюры
Распределение массива на 4 класса  
0
3 / 3 / 1
Регистрация: 05.05.2014
Сообщений: 75
29.03.2016, 20:49  [ТС] 7
Matlab
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
F=[524.7941 0.187448    0.032114    228.8002    6843.598    29.9108 60.20488    220.7372    556.8283;
330 0.226893    0.26529 121.1542    3163.239    26.1092 69.71736    99.08496    400.2258;
551.8793    0.232478    0.06353 264.8049    11888.39    44.8949 77.7933 253.7853    656.7694;
380 0.240855    0.286234    137.6401    5402.171    39.24852    88.75845    105.1986    493.7018;
362.8313    0.200713    0.244346    124.9126    3290.462    26.34213    69.38939    103.8666    424.7965;
389.873 0.150098    0.097738    118.6258    2475.557    20.86862    49.75715    107.6862    429.3858;
290.4551    0.144164    0.053058    74.63507    1189.545    15.93815    35.70333    65.54132    330.2673;
275.6774    0.153938    0.187797    91.52789    1756.235    19.18797    39.30518    82.65868    331.5883;
470 0.213105    0.225497    184.5901    8185.361    44.34345    84.48248    164.1225    603.3157;
423 0.219562    0.261799    172.3712    6108.106    35.43576    79.05635    153.1729    558.2745;
410 0.317824    0.297404    255.8152    10622.55    41.5243 67.52321    246.7428    508.5404;
500 0.227242    0.050964    219.2955    9819.45 44.77725    76.8685 207.2666    602.5278;
438.7802    0.212407    0.060737    120.9016    4879.496    40.35923    80.79178    89.94379    525.4201;
366.9424    0.280125    0.252026    172.7456    7064.816    40.89724    75.60432    155.3223    471.5882;
485.6688    0.230209    0.134041    253.8937    8135.968    32.04478    64.85545    245.4705    541.364;
390 0.358316    0.203854    245.6861    10055.84    40.92961    70.32478    236.4902    477.5484;
269.4959    0.20752 0.038397    80.41109    1963.605    24.41958    44.74015    66.83831    329.0906;
300 0.190066    0.166853    97.10813    3039.561    31.30079    51.35397    82.41819    387.0782;
325 0.224624    0.286932    229.2159    5705.332    24.89065    35.60271    227.2648    462.703;
294.4748    0.206647    0.467748    194.871 5541.256    28.4355 36.7658 191.8049    445.5133;
500 0.192684    0.194779    144.6886    3055.013    21.1144 96.56337    107.7511    542.8971;
211 0.053931    0.094248    30.75344    151.9846    4.942034    14.26837    27.24312    217.1307;
196.8567    0.020071    0.090757    28.59313    82.05889    2.869882    7.968783    27.66152    200.7493;
245 0.189019    0.081681    62.90296    1235.983    19.64905    42.15202    46.69036    292.3762;
352.6564    0.121999    0.090757    68.52785    1066.158    15.55802    43.69193    52.79282    382.7332;
243.294 0.039968    0.067021    68.54478    383.9285    5.601134    9.991348    67.81666    263.6408;
259.8851    0.070686    0.006981    58.24381    465.0873    7.98518 17.50684    56.34024    267.5174;
250 0.068068    -0.01536    57.17243    652.9013    11.41986    17.77698    55.79127    278.3086;
200 0.037699    0.117286    42.31668    220.8109    5.218059    10.67576    40.94788    218.0343;
355 0.064054    0.084474    89.55846    1033.854    11.5439 27.56266    86.57656    372.04;
272 0.091455    0.004887    63.78938    718.9463    11.27063    20.08556    60.69073    286.9202;
341.62  0.091979    0.074002    85.04303    1370.838    16.11935    29.02897    79.9352 385.1335;
160.3225    0.176976    0.163363    37.21712    341.8815    9.186133    30.88916    20.75991    187.5665;
301.3044    0.109781    0.035605    64.6162 942.7732    14.59035    29.04568    57.72003    335.7685;
155 0.172788    0.118682    38.94017    415.1116    10.66024    25.8365 29.13438    184.817;
144 0.120602    0.046077    19.64767    70.42624    3.584458    18.13101    7.569493    160.3738;
1724.09 0.052709    -0.02094    404.1262    3053.967    7.556963    71.42759    399.1942    1489.387;
1385.665    0.092328    0.089361    202.48  8785.029    43.38713    143.0922    143.2578    1524.609;
1084.247    0.073478    0   191.898 2937.972    15.31007    66.56363    179.9836    1064.104;
649.3694    0.107512    0.01885 207.1117    3344.433    16.14797    50.54747    200.8487    623.9088;
1500    0.056549    0.050265    375.0966    4759.455    12.68861    78.44598    366.802 1336.159;
770 0.041628    0.002435    175.0197    346.0913    1.977442    25.22233    173.1927    654.7984;
650 0.041015    0.145211    216.8113    427.5341    1.971918    33.76516    214.166 528.6992;
691.972 0.026005    0.086568    190.6767    304.2707    1.595742    23.97572    189.1633    594.3156;
1461.75 0.040841    0.049567    391.846 5574.003    14.22498    57.23148    387.644 1428.84;
1496.736    0.103847    0.08238 640.276 11072   17.29254    108.2869    631.0525    1178.274;
1111.814    0.098786    0.071209    386.9871    7659.742    19.79328    86.02512    377.3045    990.9789;
1270.667    0.078889    0.065624    555.3523    3612.968    6.505723    68.78167    551.0765    895.1874;
1647.94 0.080983    0.086568    576.7704    11852.49    20.54975    111.4359    565.9029    1402.878;
1535.851    0.088488    0.004189    637.3497    10814.05    16.96722    96.6104 632.1651    1197.762;
2100    0.061959    -0.04538    390.4825    16640.72    42.6158 125.9004    380.6447    2073.029;
1800    0.034208    0.042586    301.0604    4406.154    14.63545    67.62533    293.3669    1742.376;
2100    0.121649    0.377689    450.5517    35671.61    79.17318    436.0996    113.1986    2461.45;
1666.149    0.012392    0.058451    72.93105    1402.232    19.22681    51.85477    58.59576    1746.578;
1700    0.043982    0.105127    120.653 12331.1 102.203 120.2973    -9.2577 2212.178;
1949.118    0.051798    0.016501    170.3315    3212.077    18.8578 101.4558    136.8193    1941.367;
1850    0.079149    0.06947 253.6215    13113.2 51.70384    160.0655    196.7305    1916.985;
2350    0.081507    0.271573    515.2895    27758.64    53.86999    289.5691    426.2312    2457.677;
1800    0.091979    0.205251    362.8633    15021.55    41.39728    217.834 290.2036    1893.664;
1900    0.054454    0.113795    272.618 7481.593    27.4435 138.3593    234.8985    1924.518;
1800    0.069115    0.15708 385.5647    13831.72    35.87394    157.57  351.8975    1823.032;
1850    0.073304    0.225497    325.1915    8644.984    26.58428    208.74  249.3535    1908.177;
1650    0.047647    0.043284    274.4262    5824.895    21.22573    81.23957    262.1257    1603.07;
2800    0.083078    0.184307    583.2593    31388.65    53.81595    298.583 501.0385    2896.582;
2329.84 0.066148    0.353255    377.2534    25369.04    67.24669    336.0752    171.3872    2686.435;
2400    0.084125    0.22061 596.042 37939.26    63.65199    261.3482    535.6894    2447.772;
2000    0.067195    0.124267    330.2716    15381.1 46.57105    169.198 283.6396    2063.073;
2000    0.106989    0.105418    520.2226    40087.92    77.05916    204.0903    478.5172    2088.649;
1600    0.071908    -0.06632    436.9436    12655.34    28.96333    103.7327    432.1297    1475.372;
2300    0.045029    0.136834    185.446 5086.292    27.42734    178.6917    49.59329    2480.592;
2600    0.069988    0.048869    745.4744    39845.77    53.45023    154.1226    729.3684    2545.42];
ABC=['A';'A';'A';'A';'A';'A';'A';'A';'A';'A';'A';'A';'A';'A';'A';'A';'A';'A';'A';'A';'A';'B';'B';'B';'B';'B';'B';'B';'B';'B';'B';'B';'B';'B';'B';'B';'C';'C';'C';'C';'C';'C';'C';'C';'C';'C';'C';'C';'C';'C';'D';'D';'D';'D';'D';'D';'D';'D';'D';'D';'D';'D';'D';'D';'D';'D';'D';'D';'D';'D';'D'];  
abc=cellstr(ABC); 
[PC,SCORE]=princomp(F);
figure
linclass = classify(SCORE(:,1:2),SCORE(:,1:2), abc,'quadratic');
gscatter(SCORE(:,1),SCORE(:,2), abc,'','.');
title('Метод главных компонент') 
xlabel('1-я главная компонента');
ylabel('2-я главная компонента');
legend('Carcinoma','Fibro-adenoma','Connective','Adipose');
bad = ~strcmp(linclass,abc) ;
numobs = size(SCORE,1) ;
oshibka=sum(bad) / numobs;
hold on;
plot(SCORE(bad,1), SCORE(bad,2), 'b+') ;
hold off

Также проверил функцию автоматической классификации в среде МАТЛАБ, в 5% матлаб не согласен с решением по диагнозу со врачем

Нужно написать алгоритм, чтобы скормить коду новую строчку данных(9 параметров) и программа выдавала решение по новой строчке, в какой класс ее определить.
Хожу вокруг до около, а в цель попасть все не могу.
0
3 / 3 / 1
Регистрация: 05.05.2014
Сообщений: 75
29.03.2016, 20:50  [ТС] 8
Наложил ошибки крестиками.
Миниатюры
Распределение массива на 4 класса  
0
3 / 3 / 1
Регистрация: 05.05.2014
Сообщений: 75
31.03.2016, 22:18  [ТС] 9
Сортировка по классам работает, огромное спасибо Dmitriu_L
Сейчас хочу реализовать чтение данных 21х9, и дописывать в конце строчки диагноз, чтобы на выходе иметь массив 21х10, далее его сохранять в файл .txt
Пробую вывести результат в uitable, но как я понял не дружат цифры и буквы вывел только входные данные, а записать диагноз в 10ый столбец не получилось.
Сделал через структуру, в рабочей области отображается, так как мне нужно. Прикрепил скрины.

Или сделать отдельный массив для дигнозов? 21х1 и его выводить в 10 столбец? или просто в табличку рядом?
Прикладываю свою программу, подскажите в чем ошибка?
0
3 / 3 / 1
Регистрация: 05.05.2014
Сообщений: 75
31.03.2016, 22:19  [ТС] 10
Вложения
Миниатюры
Распределение массива на 4 класса   Распределение массива на 4 класса  
Вложения
Тип файла: rar sorting.rar (23.9 Кб, 2 просмотров)
0
31.03.2016, 22:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.03.2016, 22:19
Помогаю со студенческими работами здесь

Индексация массива класса, через объект этого класса
class A{ char c;//? - размер массива public: A(int C){c;} }; int main(){ A a(5);//вносим...

Распределение многомиллионного массива между поткоами
Привет всем. Подскажите как решить следующую задачу: на входе я из текстового файла считываю строки...

Распределение памяти при инициализации массива
Категорически приветствую. Разъясните, пожалуйста, такую ситуацию. При объявлении переменных,...

Распределение элементов массива в порядке возрастания
Доброго времени суток, помогите, пожалуйста, решить задачу. Дан массив состоящий из N элементов....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru