(Matlab函数详解)机器学习中的4种分类算法(LDA、QDA、SVM、KNN)

1、LDA(Linear discriminant analysis)

函数:[class, err]=classify(sample, training, group);

输入:sample=待测样本,% 矩阵 m*n m为样本数,n为特征数

           training=训练样本,% 矩阵k*n  k为样本数,n为特征数,

                                                 且 sample 和 training的列数要一样

           group=已知的训练样本的分类

输出:class=分类

           err=误差比例

 

2、QDA(Quadratic discriminant analysis)

函数:[class, err]=classify(sample, training, group, ’quadratic’);

输入:sample=待测样本,m*n m为样本数,n为特征数

           training=训练样本,k*n  k为样本数,n为特征数,

                                            且 sample 和 training的列数要一样

           group=已知的训练样本的分类,其行数与training的行数相等

输出:class=分类

           err=误差比例

 

3、SVM(support vector machines)

函数:SVMStruct = svmtrain(train_data, train_label);

           predict_label  = svmclassify(SVMStruct, test_data)

输入:train_data=训练样本  % 矩阵,每行一个样本,每列一个特征

           train_label=训练样本标签 % 列向量

           test_data=测试样本

输出:SVMStruct=SVMStruct结构体中包含了训练好的分类器的所有参数,

                                包括支持向量,这些支持向量也用于对测试集进行分类

           predict_label=测试样本标签

 

4、KNN(K-nearest neighbors)

函数:Class = knnclassify(test_data,train_data,train_label, k, distance, rule)

输入:k=选择最邻近的数量

          Distance=距离度量

              'euclidean'       欧几里得距离,默认的
              'cityblock'        绝对差的和
              'cosine'           余弦   (作为向量处理)
              'correlation'     相关距离  样本相关性(作为值序列处理)
              'Hamming'      海明距离   不同的比特百分比(仅适用于二进制数据)

           Rule=如何对样本进行分类

              'nearest'  最近的K个的最多数
              'random'    随机的最多数
              'consensus' 共识规则

输出:class=测试样本标签

  • 13
    点赞
  • 136
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值