FCM Кластеризация числовых данных и файла csv / excel - PullRequest
1 голос
/ 10 октября 2011

Привет! Я задал предыдущий вопрос, который дал разумный ответ, и я подумал, что вернулся на путь, Нечеткое c-означает кластеризацию дампов tcp в matlab Проблема заключается в стадии предварительной обработки нижеприведенного tcp / udp. данные, которые я хотел бы запустить с помощью алгоритма кластеризации matlabs fcm. Мой вопрос:

1) Как мне или каков будет лучший метод для преобразования текстовых данных в ячейках в числовое значение? каким должно быть числовое значение?

Редактировать: Мои данные в Excel теперь выглядят так:

enter image description here

0,tcp,http,SF,239,486,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,8,8,0.00,0.00,0.00,0.00,1.00,0.00,0.00,19,19,1.00,0.00,0.05,0.00,0.00,0.00,0.00,0.00,normal.

1 Ответ

2 голосов
/ 11 октября 2011

Вот пример, как я бы прочитал данные в MATLAB.Вам нужны две вещи: сами данные в формате через запятую, а также список функций вместе с их типами (числовые, номинальные).

%# read the list of features
fid = fopen('kddcup.names','rt');
C = textscan(fid, '%s %s', 'Delimiter',':', 'HeaderLines',1);
fclose(fid);

%# determine type of features
C{2} = regexprep(C{2}, '.$','');              %# remove "." at the end
attribNom = [ismember(C{2},'symbolic');true]; %# nominal features

%# build format string used to read/parse the actual data
frmt = cell(1,numel(C{1}));
frmt( ismember(C{2},'continuous') ) = {'%f'}; %# numeric features: read as number
frmt( ismember(C{2},'symbolic') ) = {'%s'};   %# nominal features: read as string
frmt = [frmt{:}];
frmt = [frmt '%s'];                           %# add the class attribute

%# read dataset
fid = fopen('kddcup.data','rt');
C = textscan(fid, frmt, 'Delimiter',',');
fclose(fid);

%# convert nominal attributes to numeric
ind = find(attribNom);
G = cell(numel(ind),1);
for i=1:numel(ind)
    [C{ind(i)},G{i}] = grp2idx( C{ind(i)} );
end

%# all numeric dataset
M = cell2mat(C);

Вы можететакже посмотрите на класс DATASET из панели инструментов статистики.

...