cell转double的数据处理

matlab用BP算法对iris数据集进行分类

数据读取

数据就是常用的iris的鸢尾花数据,但是老师给的这个数据不是标准意义的double数据或者txt数据,所以在数据处理这里花费了一些功夫。

原始数据含有字符串和数字,类型为150*1的cell数据,如下图;
原始数据集

可以很明显的看到,这个数据集很难处理。涉及到分割,字符串替换和cell转化为double类型等等。一步一步来。

首先我们对数据进行分割,这里有很多分割的方法,我用的是regexp函数。代码块为:
下面展示一些

%data split
S=regexp(str,',','split');

得到的结果为:请添加图片描述
其中的每一个1*5的cell如下图所示,这里只演示了第一个cell
在这里插入图片描述
然后是字符替换部分,由于最后的标签数据是字符串,而我们字符分类很麻烦,最好是转化为分类标签数据。这里一共有三类,分别为’Iris-setosa‘,’Iris-versicolor‘,’Iris-virginica‘,我们想办法将它们分成1,2,3.

这里直接上代码

for i=1:150
    if strcmp(S{
   i}(5), 'Iris-setosa')==1
        S{
   i,1}(5)={
   '1'};
    elseif strcmp(S{
   i}(5), 'Iris-versicolor')==1
         S{
   i,1}(5)={
   '2'};
    elseif strcmp(S{
   i}(5), 'Iris-virginica')==1 
         S{
   i,1}(5)={
   '3'};
    end
end

好,注意到刚刚的1501cell非常不利于我们分析,这里我们想办法将其变成1505的cell,这里用了vertcat函数


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值