Matlab 函数

https://cn.mathworks.com/products/demos/machine-learning/missing_data/missing_data.html

Machine Learning with Matlab

—————————————————————————————————————————————

Load Data for Classification

rng(5);
load ionosphere;
labels=unique(Y);

1、rng(seed)

2、load函数,可将数据读入到matlab的工作空间中,也可以选择读入哪个变量。

3、unique(Y),返回的是和Y中一样的值,但没有重复元素,产生的结果向量按升序排列。

—————————————————————————————————————————————

Partition 70% of the Data into a Training Set and 30% into a Test Set

cv = cvpartition(Y,'holdout',0.3);
Xtrain = X(training(cv),:);
Ytrain = Y(training(cv));
Xtest = X(test(cv),:);
Ytest = Y(test(cv));

将dataset分为training和test两个subsets,前者用于建立model,后者用来评估该moedel对未知样本进行预测时的精确度。

①training set中样本数量必须够多,一般至少大于总样本数的50%

②两组子集必须从完整集合中均匀取样(一般做法是随机取样……但是有盲点。。。)

→因此,Cross-validation:交叉验证!

在Matlab中,用户可使用cvpartition、repartition等命令对数据集进行拆分,完成交叉验证。

1、cvpartition(n,'holdout',p)

创建一个随机分区,用于在n个观测值上进行保持验证。该分区将观察分为训练集和测试(或保持)集。参数p必须是标量,当0

还有其他的呢:

c = cvpartition(n,'KFold',k)
c = cvpartition(group,'KFold',k)
c = cvpartition(n,'HoldOut',p)
c = cvpartition(group,'HoldOut',p)
c = cvpartition(n,'LeaveOut')
c = cvpartition(n,'resubstitution')

你可能感兴趣的:(Matlab,Machine,Learning)