如何在Matlab中输入数据?
How to input data in Matlab?
我有一个像
这样的输入格式
1,ABCDSGDSDGHSDFSDFSDGSDGSDGSDHSDFS
5、KDFJSKDJGKSDJGLJSDKGJDSDGSJDKGDGG
...
我想在这个训练样本上做决策树,其中数字是输出,每个字符就像样本的一个特征,我尝试了不同的方法来输入数据,我发现 fitctree matlab 中的方法要求 X 为数字(浮点数),所以我将 char 转换为数字(a = 1,b= 2 等),但在那之后,我不知道如何溢出这些数字并将它们视为不同的功能而不是非常大的数字(1234 ...)。
一种方法是使用 double
函数直接将您的角色转换为双打。
例如:
% --- Definition
Xs = '1,ABCDSGDSDGHSDFSDFSDGSDGSDGSDHSDFS';
Ys = '5,KDFJSKDJGKSDJGLJSDKGJDSDGSJDKGDGG';
% ---- Prepare double input (I remove the '1,' and '5,', please check)
X = double(Xs(3:end))';
Y = double(Ys(3:end))';
% --- Perform the fit tree
m = fitctree(X, Y);
view(m,'Mode','graph')
在这种情况下,字母被转换为它们的 ASCII 码,i.e.
A = 65
,B = 66
,等等,所以分类是基于字母顺序。
这是输出:
希望这对您有所帮助,
我有一个像
这样的输入格式1,ABCDSGDSDGHSDFSDFSDGSDGSDGSDHSDFS 5、KDFJSKDJGKSDJGLJSDKGJDSDGSJDKGDGG ...
我想在这个训练样本上做决策树,其中数字是输出,每个字符就像样本的一个特征,我尝试了不同的方法来输入数据,我发现 fitctree matlab 中的方法要求 X 为数字(浮点数),所以我将 char 转换为数字(a = 1,b= 2 等),但在那之后,我不知道如何溢出这些数字并将它们视为不同的功能而不是非常大的数字(1234 ...)。
一种方法是使用 double
函数直接将您的角色转换为双打。
例如:
% --- Definition
Xs = '1,ABCDSGDSDGHSDFSDFSDGSDGSDGSDHSDFS';
Ys = '5,KDFJSKDJGKSDJGLJSDKGJDSDGSJDKGDGG';
% ---- Prepare double input (I remove the '1,' and '5,', please check)
X = double(Xs(3:end))';
Y = double(Ys(3:end))';
% --- Perform the fit tree
m = fitctree(X, Y);
view(m,'Mode','graph')
在这种情况下,字母被转换为它们的 ASCII 码,i.e.
A = 65
,B = 66
,等等,所以分类是基于字母顺序。
这是输出:
希望这对您有所帮助,