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