Построение d-мерных данных

У меня есть следующий формат данных в файле .txt.

नोभेम्बर 
 [0.013597779962868256, -0.10849757437254635, -0.15999846585159766, -1.2417475384869558, -0.6802765400695919, 0.44552601044477186, 0.10820787964125786, -1.584483680411645, 0.2007759414522207, -0.7101547556233192]
 बाट
[0.7488351202673913, 0.3645634610332536, 0.1937027124201285, -0.10361011958447905, 0.48222626651261347, 0.36795608937720814, -0.06307932558713457, -0.05626217864435294, -0.5245206209054951, 0.40256760017279525]
रूपमा
[0.06077674960453302, 0.2570556052636379, 0.3347552495487344, -0.10512580657948888, 0.10414134700640766, 0.19736087970834254, 0.09207914995816116, 0.19904934221006, 0.061402311347008, -0.11409541813280075]
बोर्डमा
[0.5200111891848155, -0.14947230042320633, 0.7351562111464331, -0.7542450932215059, 1.4477558941048831, -0.6235133303135835, -0.7781689512584442, -0.057886889872348815, 0.10625424653444066, 0.9777761194886687]
आउनु
[1.0596966006985387, 0.24909505933749815, 0.5181999691383957, -0.01983089009044503, -1.4106664226234644, -0.020542297788816014, -0.7822719255911348, 0.42914674116391344, -0.5753257725556651, -0.9141151600890186]

Слово похоже на नोभेम्बर — это точки данных, а числовые значения — их векторное представление. Я хотел бы взять эти представления в качестве координат и построить их так, чтобы найти отношения между ними. Какие могут быть возможности для их построения. Любые предлагаемые инструменты действительно ценятся.


person thetna    schedule 25.04.2012    source источник
comment
Некоторые возможные решения здесь: stackoverflow.com/a/6775352/636656   -  person Ari B. Friedman    schedule 25.04.2012
comment
почему у этого так много тегов? Вы хотите решение в одном или во всех этих пакетах? Почему не python, ruby, C или fortran?   -  person Spacedman    schedule 25.04.2012
comment
Я хочу решение от любого из них. Мне комфортно работать над ними. также приветствуются решения из других областей.   -  person thetna    schedule 25.04.2012


Ответы (2)


Мой графический интерфейс не мог обрабатывать этот шрифт для имен элементов, но если я назову их: a, b, cc, d, e, вы можете использовать графики с параллельными координатами для отображения многомерных объектов:

require(MASS)  # an R package
parcoord(data.frame(a=a,b=b,cc=cc,d=d,e=e), col=1:5)

введите здесь описание изображения

person IRTFM    schedule 25.04.2012
comment
если я не ошибаюсь, я думаю, что ОП имел в виду наоборот: 5 экземпляров по 10 измерений в каждом (так как вам нужно транспонировать матрицу) - person Amro; 26.04.2012
comment
Очень может быть. Я не могу сказать по описанию. Я благодарен тому, кто задал этот вопрос. Я уже применил его к своим исследовательским вопросам сегодня. - person IRTFM; 26.04.2012

Вот решение MATLAB.

Сначала читаем данные. Хотя MATLAB может читать текст Unicode, у него есть некоторые проблемы с отображением его в графическом интерфейсе (поэтому я просто заменяю метки с Point1/Point2 и т.д..)

%# read file lines
fid = fopen('data.txt', 'rt', 'native', 'UTF-8');
C = textscan(fid, '%s', 'Delimiter','\n');
fclose(fid);
C = C{1};

%# split into labels/data
labels = C(1:2:end);
data = cellfun(@str2num, C(2:2:end), 'UniformOutput',false);
data = cell2mat(data);

%# HACK: MATLAB has issues displaying unicode text
labels = num2str((1:size(data,1))', 'Point %d');

Затем мы можем построить данные, используя параллельные координаты:

%# you might need to normalize the attributes
%#data = zscore(data);

plot(data');            %'# plot lines
set(gca, 'XTick',1:numDim, 'XGrid','on')
xlabel('Features'), ylabel('Feature value')
title('Parallel Coordinates')
legend(labels)          %# show legend of labels

параллельные координаты

Если у вас есть доступ к панели инструментов статистики, вы можете визуализировать многомерные данные, используя ряд методов:

%# parallel coordinates (similar the above)
parallelcoords(data, 'Group',labels)

%# glyph plot (stars)
glyphplot(data, 'obslabels',labels, 'glyph','star')

glyphplot_star

%# glyph plot (Chernoff faces)
glyphplot(data, 'obslabels',labels, 'glyph','face')

glyphplot_face

%# Andrews curves
andrewsplot(data, 'Group',labels)

andrewsplot

person Amro    schedule 25.04.2012