我是分类的新手,所以我想就如何开始寻求一些建议。
我创建了一个 Matlab 脚本,它创建了两个矩阵,一个是类标识符,这意味着100x1
它包含数据所在的组。第一组 (1) 或第二组 (2)。
第二个矩阵包含100x40
每个点有 40 个特征的特征。
什么是最好的开始方式,我真的迷路了。Matlab 有一些我可以使用的功能吗?
我真的很感激一些帮助。
谢谢你。
我是分类的新手,所以我想就如何开始寻求一些建议。
我创建了一个 Matlab 脚本,它创建了两个矩阵,一个是类标识符,这意味着100x1
它包含数据所在的组。第一组 (1) 或第二组 (2)。
第二个矩阵包含100x40
每个点有 40 个特征的特征。
什么是最好的开始方式,我真的迷路了。Matlab 有一些我可以使用的功能吗?
我真的很感激一些帮助。
谢谢你。
这取决于您使用的 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
请注意,支持向量机从生物信息学工具箱移至 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,:))
如果你只有两个类,你可以使用 Neural Network Toolbox 进行模式识别,方法是输入nnstart