话说matlab的模式识别工具箱非常强大,对于一般应用来说基本不用自己编程,这就给科研带来了极大的便利。
之后估计会利用这个工具箱里的许多分类方法,比如KNN、BP、SVM等等;
现在就利用knn来进行分类。
For the object of samplify, I only choose 3 classes while 2 samples for each class ,there are 18 features in every sample .
准备条件:已经把特征数据和样本标号保存为文件。
测试代码为:
train_data=load('sample_feature.txt');
train_label=load('train_label.txt');
test_data=load('features.txt');
k=knnclassify(test_data,train_data,train_label,3,'cosine','random');
train_data保存的是训练样本特征,要求是最能代表本类别的,不一定多,当然不能太少;
train_label保存的是样本标号,如0,1,2等等,随便设置,只有能区分就行,具体格式可以为:
1 1 2 2 3 3
test_data测试文件保存的是测试数据的特征;
关键函数介绍:
knnclassify是利用最近邻进行分类的分类器;
函数调用形式:
1.CLASS