我是分类新手,所以我想就如何开始提出一些建议。
我创建了一个Matlab脚本,它创建了两个矩阵,一个是类标识符,意思是100x1
,它包含数据所在的组。第一组(1)或第二组(2)。
第二个矩阵包含功能100x40
,每个点有40个功能。
什么是最好的开始方式,我真的输了。 Matlab有一些我可以使用的功能吗?
我真的很感激一些帮助。
谢谢。
答案 0 :(得分:2)
这取决于您使用的MATLAB版本,但最好的出发点是查看用于监督学习的统计工具箱。以下是MATLAB 2013a的一些启动技巧:
http://www.mathworks.co.uk/help/stats/supervised-learning.html
我们假设您的数据是
classes: 100x1
features: 100x40
对于每种方法,第一行显示如何拟合分类模型,第二行显示如何对要素中的第一行数据进行分类。
朴素贝叶斯分类
维基百科:https://en.wikipedia.org/wiki/Naive_Bayes_classifier
myClassifier = NaiveBayes.fit(features, classes)
myClassifier.predict(features(1,:))
最近邻居
维基百科:https://en.wikipedia.org/wiki/Nearest_neighbour_classifiers
myClassifier = ClassificationKNN.fit(features, classes)
myClassifier.predict(features(1,:))
分类树
维基百科:https://en.wikipedia.org/wiki/Classification_tree
myClassifier = ClassificationTree.fit(features, classes)
myClassifier.predict(features(1,:))
支持向量机
维基百科:https://en.wikipedia.org/wiki/Support_vector_machine
请注意,支持向量机从Bioinformatics工具箱迁移到2013a,它只支持分为两组。
myClassifier = svmtrain(features, classes)
svmclassify(myClassifier, features(1,:))
判别分析
维基百科:https://en.wikipedia.org/wiki/Discriminant_analysis
myClassifier = ClassificationDiscriminant.fit(features, classes)
myClassifier.predict(features(1,:))
如果您只有两个类,则可以通过键入nnstart