matlab 格式化文本文件的解析

来源:互联网 发布:unity3d能做帧动画吗 编辑:程序博客网 时间:2024/06/06 03:01

比如这样一种格式化的文本文件,文件说明及下载地址:/pub/machine-learning-databases/statlog/german/ 的索引


这里写图片描述

fid = fopen('german.data', 'r');C = textscan(fid, '%s, %d, %s, %s, %d, %s, %s, %d, %s, %s, %d, %s, %d, %s, %s, %d, %s, %d, %s, %s, %d');fclose(fid);n1 = numel(C);      % 属性列的个数n2 = numel(C{1});   % 样本的个数X = zeros(n1, n2);for i = 1:n1,    if iscell(C{i})        for j = 1:n2,                % A12 ⇒ 2                if i < 10,                    d = textscan(C{i}{j}, '%c%c%d');                else                % A103 ⇒ 3                    d = textscan(C{i}{j}, '%c%c%c%d');                end                 X(i, j) = d{end};        end    else        X(i, :) = C{i};    endend y = X(end, :);X(end, :) = [];posX = X(:, y == 1);            % 700negX = X(:, y == 2);            % 300trainX = [posX(:, 1:350), negX(:, 1:150)];trainY = [ones(1, 350), 2*ones(1, 150)];testX = [posX(:, 351:end), negX(:, 151:end)];testY = [ones(1, 350), 2*ones(1, 150)];[trainX, s1] = mapminmax(trainX);testX = mapminmax('apply', testX, s1);
0 0
原创粉丝点击