fixunknowns

Обработайте данные путем маркировки строк неизвестными значениями

Синтаксис

[y,ps] = fixunknowns(X)
[y,ps] = fixunknowns(X,FP)
Y = fixunknowns('apply',X,PS)
X = fixunknowns('reverse',Y,PS)
name = fixunknowns('name')
fp = fixunknowns('pdefaults')
pd = fixunknowns('pdesc')
fixunknowns('pcheck',fp)

Описание

fixunknowns матрицы процессов, заменяя каждую строку, содержащую неизвестные значения (представленный NaN) с двумя строками информации.

Первая строка содержит исходную строку с NaN значения заменяются средним значением строки. Вторая строка содержит 1 и 0 значений, указывая, какие значения в первой строке были известны или неизвестны, соответственно.

[y,ps] = fixunknowns(X) берет эти входные параметры,

X

N- Q матрица

и возвращается

Y

M- Q матрица с M - N строки добавляются

PS

Настройки процесса, которые позволяют сопоставимую обработку значений

[y,ps] = fixunknowns(X,FP) берет пустой struct FP из параметров.

Y = fixunknowns('apply',X,PS) возвращает Y, учитывая X и настройки PS.

X = fixunknowns('reverse',Y,PS) возвращает X, учитывая Y и настройки PS.

name = fixunknowns('name') возвращает имя этого метода процесса.

fp = fixunknowns('pdefaults') возвращает структуру параметра процесса по умолчанию.

pd = fixunknowns('pdesc') возвращает описания параметра процесса.

fixunknowns('pcheck',fp) выдает ошибку, если какой-либо параметр недопустим.

Примеры

Вот то, как отформатировать матрицу со смесью известных и неизвестных значений в ее второй строке:

x1 = [1 2 3 4; 4 NaN 6 5; NaN 2 3 NaN]
[y1,ps] = fixunknowns(x1)

Затем примените те же настройки обработки к новым значениям:

x2 = [4 5 3 2; NaN 9 NaN 2; 4 9 5 2]
y2 = fixunknowns('apply',x2,ps)

Инвертируйте обработку y1 получить x1 снова.

x1_again = fixunknowns('reverse',y1,ps)

Больше о

свернуть все

Данные перекода с NaNs Используя fixunknowns

Если у вас есть входные данные с неизвестными значениями, можно представлять их с NaN значения. Например, вот пять векторов с 2 элементами с неизвестными значениями в первом элементе двух из векторов:

p1 = [1 NaN 3 2 NaN; 3 1 -1 2 4];

Сеть не сможет обработать NaN значения правильно. Используйте функциональный fixunknowns преобразовать каждую строку с NaN значения (в этом случае только первая строка) в две строки, которые кодируют ту же самую информацию численно.

[p2,ps] = fixunknowns(p1);

Вот то, как первая строка значений была повторно закодирована как две строки.

p2 =
   1  2  3  2  2
   1  0  1  1  0
   3  1 -1  2  4

Первая новая строка является исходной первой строкой, но со средним значением для той строки (в этом случае 2) заменяя весь NaN значения. Элементами второй новой строки является теперь любой 1, указание на исходный элемент было известным значением или 0 указание, что это было неизвестно. Исходная вторая строка является теперь новой третьей строкой. Таким образом и известные и неизвестные значения закодированы численно способом, который позволяет сети быть обученной и симулированной.

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

p2new = fixunknowns('apply',p1new,ps);

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

Смотрите также

| |

Введен в R2006a