在Excel中使用Matlab中的lbsvm

我的数据是在Excel中,所以要以Libsvm格式转换它们,我将Excel工作表转换为CSV格式,并按照Libsvm网站上的步骤操作: – 假定CSV文件是SPECTF.train: –

matlab> SPECTF = csvread('SPECTF.train'); %读取一个csv文件

matlab> labels = SPECTF(:, 1); %第一列的标签

matlab> features = SPECTF(:,2:end);

matlab> features_sparse = sparse(features); %特征必须在稀疏matrix中

matlab> libsvmwrite('SPECTFlibsvm.train',labels,features_sparse);

然后我使用libsvmread (名称)

是否有更简单的方式直接格式化Excel数据的Libsvm格式? 谢谢。

我不认为有必要转换为CSV。 您可以使用xlsread直接从excel文件中读取数据,并使用libsvmwrite以与libsvm兼容的格式获取数据。