zoukankan      html  css  js  c++  java
  • ML ToolBox

    %Meachine Learning ToolBox

    %%

    工具箱中包含了KNN,K-means,决策树等多种方法。此处解决分类问题。


    parallel coordinates plot
    % Parallel coordinates plot是用来做特征选择的一个方法。主要解决了在多维(大于三维)情况下数据特征无法可视化的问题。
    %
    % 图种每个竖线代表一个特征,上面的点代表该特征的值,每个样本表示出来就是一个贯穿所有竖线的折线图。
    %
    % 一般来说,用不同的颜色代表不同的类别,这样可以方便的看出不同特征对分类的影响。
    %
    % 有以下两个原则;
    %
    % 主要看相同颜色的折线是否集中,若在某个属性上相同颜色折线较为集中,不同颜色有一定的间距,则说明该属性对于预测标签类别有较大的帮助.
    % 若某个属性上线条混乱,颜色混杂,则较大可能该属性对于标签类别判定没有价值.

    %%



    %using pca and lda
    pcam=pca(X);
    pcaDataM=X*pcam(:,1:100);

    pcam2=princomp(X);
    pcaDataS=X*pcam2(:,1:100);

    %pcaDataS与pcaDataM是相同的。
    %X 每一行是一个observations(记录)
    %pcam与pcam2是变换矩阵,pcaDataS与pcaDataM是降维后的数据,两个是相同的。

    %lda
    wlda=ldalance(pcaDataS',gptn',20); %wlda 是变换矩阵  ldalance 是自己写的函数
    data=pcaDataS*wlda;

    %%
    %ML Toolbox 使用
    %数据处理
    pcaldaTrainset=[data,gptn']; %predictors + responses
    调用工具箱
    导出模型
    y=Y*pcam(:,1:100);
    preData=y*wlda;
    preRe=trainedClassifierPcaLdaKNN.predictFcn(preData);


    %%
    %混淆矩阵求法
    for i=1:15 %15是类别数目
    tem1=pre(gptt==i); %gptt是标签
    for j=1:15 %pre是预测值
    c(i,j)=sum(tem1==j); %c是混淆矩阵
    end
    end
    %作图的话用Excel
    xlswrite('D:ziliao数模method_learningcofunsionMatrix.xlsx',c);

  • 相关阅读:
    [转] Akka实战:构建REST风格的微服务
    [转] Node.js的线程和进程
    [转] Spring Integration 系统集成
    NodeJS使用SSL证书
    Tomcat SSL证书安装配置
    [转]【NODE】用WS模块创建加密的WS服务(WSS)
    [转] Spring Boot实战之Filter实现使用JWT进行接口认证
    [转] 前后端分离之JWT用户认证
    [转] 使用 Java8 Optional 的正确姿势
    [转] SpringBoot RESTful 应用中的异常处理小结
  • 原文地址:https://www.cnblogs.com/lancezliang/p/10424034.html
Copyright © 2011-2022 走看看