Обработайте данные путем маркировки строк неизвестными значениями
[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)
принимает пустой 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)