zoukankan      html  css  js  c++  java
  • matlab 格式化文本文件的解析

    比如这样一种格式化的文本文件,文件说明及下载地址:/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};
        end
    end 
    
    y = X(end, :);
    X(end, :) = [];
    
    posX = X(:, y == 1);            % 700
    negX = X(:, y == 2);            % 300
    
    trainX = [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);
  • 相关阅读:
    LINUX
    DOCKER
    计算牛的数目
    计算a^3=b^3+c^3+d^3
    用递归计算C(m,n)
    A Mathematical Curiosity
    Who is lier?
    我的第一篇 实习报告
    R.java
    天气系统
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9422106.html
Copyright © 2011-2022 走看看