在matlab中加载一个数据集进行knn分类
Posted
技术标签:
【中文标题】在matlab中加载一个数据集进行knn分类【英文标题】:Load a dataset in matlab for knn classification 【发布时间】:2021-04-07 08:34:37 【问题描述】:大家好,实际上我想在 matlab 中加载此数据集以对其执行 knn 分类,但我不知道如何执行此操作。我已尝试加载和 readtable 并且...但它不起作用然后我尝试了此代码
FID=fopen('file','rt');
a=textscan(FID,''...);
但实际上我找不到什么是文本格式来获取我想要的数据,所以这是一个死胡同,任何人都可以帮助我解决这个问题。请
这就是我的数据文件内部的样子 enter image description here
这是数据集文件http://lms.ui.ac.ir/public/group/a7/b2/06/6a5fb_24fb.gz
【问题讨论】:
【参考方案1】:也许您可以尝试以下方法:
编辑:代码现在可以正确导入文件
FID = fopen('toy.m','rt');
data = ;
i = 1;
while ~feof(FID)
line = fgetl(FID);
line = fgetl(FID);
if feof(FID)
break;
end
%sprintf('%d %s', i, line) %debug
if (isempty(line))
headers = 3;
elseif (line(1) ~= '#')
headers = 2;
else
headers = 1;
end
rows = textscan(FID, '%s %s %d', 1, 'headerlines', headers);
datai = cell2mat(textscan(FID, '', rows3, 'headerlines', 2));
i = i + 1;
end
fclose(FID);
fprintf('File contained %d blocks of data\n', i);
fprintf('To access a value in cell "data", for example value (1,2) inside the second matrix, digit "data2(1,2)": ');
data2(1,2)
【讨论】:
嗨,感谢您的帮助,但它没有工作并产生错误:从文件(第 1002 行,第 1 行)读取字符串时缓冲区溢出(bufsize = 4095)。使用“bufsize”选项。 如果您想尝试一下,我已将数据集放在我的问题中 @MaryGh 我尝试使用文字处理器打开文件,但它看起来不像数字数据库,它看起来像非拉丁字母表中的文本 请问可以在这个地址打开吗? mathworks.com/matlabcentral/answers/… 你可以在matlab中打开.open gz文件并将文件拖放到里面,在matlab命令窗口里面就可以看到数据集了以上是关于在matlab中加载一个数据集进行knn分类的主要内容,如果未能解决你的问题,请参考以下文章