-1

我是分类的新手,所以我想就如何开始寻求一些建议。

我创建了一个 Matlab 脚本,它创建了两个矩阵,一个是类标识符,这意味着100x1它包含数据所在的组。第一组 (1) 或第二组 (2)。

第二个矩阵包含100x40每个点有 40 个特征的特征。

什么是最好的开始方式,我真的迷路了。Matlab 有一些我可以使用的功能吗?

我真的很感激一些帮助。

谢谢你。

4

1 回答 1

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

请注意,支持向量机从生物信息学工具箱移至 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

于 2013-06-02T11:03:36.410 回答