在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兼容的格式获取数据。