久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1418|回復: 0
打印 上一主題 下一主題
收起左側

knn算法的MATLAB源碼

[復制鏈接]
跳轉到指定樓層
樓主
ID:348244 發(fā)表于 2018-6-9 15:57 來自手機 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. %knn 歸一化自寫

  2. % 把數(shù)據(jù)分為測試集和訓練集
  3. % train=[wine(1:30,:);wine(60:89,:);wine(131:160,:)];
  4. % test=[wine(31:59,:);wine(90:130,:);wine(161:178,:)];
  5. % train_labels=[wine_labels(1:30,:);wine_labels(60:89,:);wine_labels(131:160,:)];
  6. % test_labels=[wine_labels(31:59,:);wine_labels(90:130,:);wine_labels(161:178,:)];
  7. %把標簽加到數(shù)據(jù)的最后一列
  8. wine(:,14)=wine_labels;
  9. %按行隨機打亂數(shù)據(jù)
  10. wine_data =wine(randperm(size(wine,1)),:);
  11. %取前一百條數(shù)據(jù)給訓練集
  12. train=wine_data(1:100,1:13);
  13. train_labels=wine_data(1:100,14);
  14. %剩下的78條給測試集
  15. test=wine_data(101:178,1:13);
  16. test_labels=wine_data(101:178,14);
  17. %數(shù)據(jù)歸一化
  18. h=max(train,[],1);
  19. l=min(train,[],1);
  20. for i=1:13
  21.     train(:,i)=(train(:,i)-l(i))./(h(i)-l(i));
  22.     test(:,i)=(test(:,i)-l(i))./(h(i)-l(i));
  23. end
  24. %[train,strc]=mapminmax(train');  
  25. %strc歸一化返回的參數(shù) max min
  26. %test=mapminmax.apply(test',strc);
  27. %計算測試集與所有訓練集間的距離
  28. all_distance=dist(test,train');
  29. %升序排序 B為返回的索引
  30. [A,B]=sort(all_distance,2);
  31. %Knn  K近鄰
  32. K=3;
  33. all_labels=train_labels(B(:,1:K));
  34. %統(tǒng)計矩陣中出現(xiàn)的類別
  35. b=unique(all_labels);
  36. %統(tǒng)計各個類別出現(xiàn)的次數(shù)
  37. c=histc(all_labels',b);
  38. %新標簽賦值
  39. [m,predict_labels]=max(c);
  40. %求準確率
  41. accuracy=1-(length(find((predict_labels-test_labels')~=0))/length(test_labels))
  42. %畫圖
  43. figure;
  44. hold on;
  45. plot(test_labels,'o');
  46. plot(predict_labels,'*');
  47. xlabel('測試集數(shù)據(jù)','FontSize',12);
  48. ylabel('類別標簽','FontSize',12);
  49. legend('實際測試集分類','預測測試集分類');
  50. title('測試集的實際分類和預測分類圖','FontSize',12);
  51. grid on;





  52. %knn 歸一化使用mapminmax函數(shù)進行的
  53. %knn

  54. % 把數(shù)據(jù)分為測試集和訓練集
  55. % train=[wine(1:30,:);wine(60:89,:);wine(131:160,:)];
  56. % test=[wine(31:59,:);wine(90:130,:);wine(161:178,:)];
  57. % train_labels=[wine_labels(1:30,:);wine_labels(60:89,:);wine_labels(131:160,:)];
  58. % test_labels=[wine_labels(31:59,:);wine_labels(90:130,:);wine_labels(161:178,:)];
  59. %把標簽加到數(shù)據(jù)的最后一列
  60. wine(:,14)=wine_labels;
  61. %按行隨機打亂數(shù)據(jù)
  62. wine_data =wine(randperm(size(wine,1)),:);
  63. %取前一百條數(shù)據(jù)給訓練集
  64. train=wine_data(1:100,1:13);
  65. train_labels=wine_data(1:100,14);
  66. %剩下的78條給測試集
  67. test=wine_data(101:178,1:13);
  68. test_labels=wine_data(101:178,14);
  69. %數(shù)據(jù)歸一化
  70. [train,strc]=mapminmax(train');  
  71. %strc歸一化返回的參數(shù) max min
  72. test=mapminmax.apply(test',strc);
  73. %計算測試集與所有訓練集間的距離
  74. all_distance=dist(test',train);
  75. %升序排序 B為返回的索引
  76. [A,B]=sort(all_distance,2);
  77. %Knn  K近鄰
  78. K=5;
  79. all_labels=train_labels(B(:,1:K));
  80. %統(tǒng)計矩陣中出現(xiàn)的類別
  81. b=unique(all_labels);
  82. %統(tǒng)計各個類別出現(xiàn)的次數(shù)
  83. c=histc(all_labels',b);
  84. %新標簽賦值
  85. [~,predict_labels]=max(c);
  86. %求準確率
  87. accuracy=1-(length(find((predict_labels-test_labels')~=0))/length(test_labels))
  88. %畫圖
  89. figure;
  90. hold on;
  91. plot(test_labels,'o');
  92. plot(predict_labels,'*');
  93. xlabel('測試集數(shù)據(jù)','FontSize',12);
  94. ylabel('類別標簽','FontSize',12);
  95. legend('實際測試集分類','預測測試集分類');
  96. title('測試集的實際分類和預測分類圖','FontSize',12);
  97. grid on;
復制代碼


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕一区二区三区在线乱码 | 国产精品久久久久久久久免费高清 | 国产精品免费在线 | 午夜在线影院 | 99re国产精品 | 综合久久久 | 嫩草国产| 伊人精品一区二区三区 | 国产一区二区三区日韩 | 国产午夜精品一区二区三区四区 | 高清国产一区二区 | 一区二区手机在线 | 夜夜爽99久久国产综合精品女不卡 | 黄色毛片免费视频 | 草久在线视频 | 一区二区三区国产精品 | 国产精品视频久久 | www.亚洲免费 | 久久久日韩精品一区二区三区 | 国产激情综合五月久久 | 久久久久www | 久久久久成人精品亚洲国产 | 午夜免费观看体验区 | 激情毛片| 欧美日韩精品亚洲 | 在线久草| 日韩中文字幕免费 | 久久精品久久久 | 久久综合久色欧美综合狠狠 | 天天躁日日躁狠狠躁白人 | 国产二区在线播放 | 久久免费高清 | 亚洲视频免费在线观看 | 91最新入口 | 日韩亚洲一区二区 | 久久国产一区 | 在线观看你懂的网站 | 欧美极品一区二区 | 国产成人精品免费视频大全最热 | 久久人人网| 成人免费高清 |