Обработка данных путем пометки строк неизвестными значениями
[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 |
|
и возвращает
Y |
|
PS | Параметры процесса, позволяющие согласованно обрабатывать значения |
[y,ps] = fixunknowns(X,FP) принимает пустую структуру 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)