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<p<1时,cvpartition为测试集随机选择大约p*n个观测值。当p是整数时,cvpartition为测试集随机选择p个观测值。p的默认值是0.1。

还有其他的呢:

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')

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值