7

У меня есть набор данных с этикетками и точек данных, проблема заключается в том, что, а не проблема классификации я хочу, чтобы получить оценщик linair, например:В matlab prtools, как мне установить метки?

dataset=prdataset([2,4,6,8]',[1,2,3,4]') 
testset=prdataset([3,5,7,9]') 
classifier=dataset*ldc %should probably be changed? 
result=testset*classifier 

result.data теперь становится

ans = 

    1.0e-307 * 

    0.2225 0.2225 0.2225 0.2225 
    0.2225 0.2225 0.2225 0.2225 
    0.2225 0.2225 0.2225 0.2225 
    0.2225 0.2225 0.2225 0.2225 

, который очень неправильно.

В идеале это было бы [1.5,2.5,3.5,4.5]' или что-то рядом с ним. Любая идея, как это сделать в PRtools или в чем-то симуляре? Это зависимость от linair, но я также хотел бы иметь возможность играть с другими типами зависимостей?

Также было бы огромным преимуществом системы, которая была бы очень умна в отношении значений NaN, которые сильно меняют мой реальный набор данных.

я уже нашел, что класс linearr, но когда я использую, что я получаю причудливо размера наборов данных в свою очередь,

dataset=prdataset([2,4,6,8]',[1,2,3,4]') 
testset=prdataset([3,5,7,9]') 
classifier=dataset*linearr%should probably be changed? 
result=testset*classifier 

дает мне значения

0.1000 -0.3000 -0.7000 -1.1000 
    -0.5000 -0.5000 -0.5000 -0.5000 
    -1.1000 -0.7000 -0.3000 0.1000 
    -1.7000 -0.9000 -0.1000 0.7000 

что опять-таки неправильно.

В чате они предложили использовать. * Вместо *, что привело к ошибке при использовании * Размеры внутренней матрицы должны совпадать.

Error in linearr (line 42) 
     beta = prinv(X'*X)*X'*gettargets(x); 

Error in prmap (line 139) 
     [d, varargout{:}] = feval(mapp,a,pars{:}); 

Error in * 

Error in dyadicm (line 81) 
    v1 = a*v1;  % train first mapping 

Error in prmap (line 139) 
     [d, varargout{:}] = feval(mapp,a,pars{:}); 

Error in * 

В линейном коде.

Для того, чтобы быть ясным, я ищу способ, чтобы при большом наборе значений находилось множество многочленов, наилучшим образом описывающее их соотношение (где рассматриваемые многочлены являются параметрами программы, в примере 1-й заказ). Поэтому в нашем примере многочлен 1/2а + 0. В моей окончательной версии я хочу использовать большее количество параметров (10-20), и это может потребовать квадратичной оценки.

+1

Непонятно, что именно вы спрашиваете? Вы должны посмотреть на http://stackoverflow.com/help/mcve для получения советов по публикации воспроизводимого примера. Что такое 'prdataset' и' ldc'? – mgilbert

+0

@mgilbert ldc и prdataset являются частями prtools по умолчанию. Если вы установите его (http://prtools.org/), вы можете просто подключить этот код. Ldc - это классификатор дискриминантов linair, а prdataset - это набор данных в prtoolkit. Для того, что я прошу, это способ получить предсказанные ярлыки в системе prtools, в этом примере игрушек я хочу, чтобы он узнал, что метка является половиной входных данных. – Thijser

+0

ldc использует синтаксисы типа 'LDC (R, S, M)', но вы просто умножаете его ... Вы либо не показываете весь код, либо не читаете документы. – Oleg

ответ

0

Может быть, вы можете использовать нейронную сеть (нейронная сеть панели инструментов): https://es.mathworks.com/help/nnet/gs/fit-data-with-a-neural-network.html

С этой ссылке:

Нейронные сети хороши на фитинговых функций. На самом деле есть доказательство того, что довольно простая нейронная сеть может соответствовать любой практической функции.

Предположим, например, что у вас есть данные из жилищного приложения. Вы хотите создать сеть, которая может предсказать стоимость дома (в 1000 долларов США), учитывая 13 единиц географической информации и информации о недвижимости. У вас в общей сложности 506 примеров домов, для которых у вас есть эти 13 элементов данных и связанных с ними рыночных значений.

Вы можете решить эту проблему двумя способами:

Смежные вопросы