randfeatures

Сгенерируйте рандомизированное подмножество функций

Синтаксис

[IDX, Z] = randfeatures(X, Group, 'PropertyName', PropertyValue...)
randfeatures(..., 'Classifier', C)
randfeatures(..., 'ClassOptions', CO)
randfeatures(..., 'PerformanceThreshold', PT)
randfeatures(..., 'ConfidenceThreshold', CT)
randfeatures(..., 'SubsetSize', SS)
randfeatures(..., 'PoolSize', PS)
randfeatures(..., 'NumberOfIndices', N)
randfeatures(..., 'CrossNorm', CN)
randfeatures(..., 'Verbose', VerboseValue)

Описание

[IDX, Z] = randfeatures(X, Group, 'PropertyName', PropertyValue...) выполняет рандомизированный поиск функции подмножеством, подкрепленный классификацией. randfeatures случайным образом генерирует подмножества функций, используемых для классификации выборок. Каждый подмножество оценивается с очевидной ошибкой. Сохраняются только лучшие подмножества, и они объединяются в один конечный пул. Величина для каждой функции в пуле дает измерение значимости.

X содержит обучающие выборки. Каждый столбец X является наблюдаемым вектором. Group содержит метки классов. Group может быть числовым вектором, массивом ячеек из векторов символов или строкового вектора; numel(Group) должно совпадать с количеством столбцов в X, и numel(unique(Group)) должно быть больше или равно 2. Z - значение классификации для каждой функции. IDX содержит индексы после сортировки Z; т.е. первый указывает на наиболее значимую функцию.

randfeatures(..., 'Classifier', C) устанавливает классификатор. Опции:

'da'   (default)  Discriminant analysis
'knn'             K nearest neighbors

randfeatures(..., 'ClassOptions', CO) - камера с дополнительными опциями для выбранного классификатора. Когда вы задаете дискриминантную модель анализа ('da') как классификатор, randfeatures использует classify функция с параметрами по умолчанию. Для классификатора KNN, randfeatures использование fitcknn со следующими опциями по умолчанию. {'Distance','correlation','NumNeighbors',5}.

randfeatures(..., 'PerformanceThreshold', PT) устанавливает правильный порог классификации, используемый для выбора подмножеств, включенных в окончательный пул. Для 'da' модель, по умолчанию это 0.8. Для 'knn' модель, по умолчанию это 0.7.

randfeatures(..., 'ConfidenceThreshold', CT) использует апостериорную вероятность дискриминантного анализа, чтобы признать недействительными классифицированные подвекторы с низким доверием. При использовании 'da' модель, по умолчанию это 0.95.^(number of classes). При использовании 'knn' модель, значение по умолчанию является 1, что означает, что все классифицированные подвекторы должны иметь все k соседи, классифицированные в один и тот же класс, порядок храниться в пуле.

randfeatures(..., 'SubsetSize', SS) устанавливает количество функций, учитываемых в каждом подмножестве. По умолчанию это 20.

randfeatures(..., 'PoolSize', PS) устанавливает целевое количество принятых подмножеств для последнего пула. По умолчанию это 1000.

randfeatures(..., 'NumberOfIndices', N) устанавливает количество индексов выхода в IDX. Значение по умолчанию совпадает с количеством функций.

randfeatures(..., 'CrossNorm', CN) применяет независимую нормализацию к наблюдениям для каждой функции. Перекрестная нормализация обеспечивает сопоставимость между различными функциями, хотя это не всегда необходимо, потому что выбранные свойства классификатора могут уже объясняться этим. Опции:

'none' (default)  Intensities are not cross-normalized.
'meanvar'         x_new = (x - mean(x))/std(x)  
'softmax'         x_new = (1+exp((mean(x)-x)/std(x)))^-1
'minmax'          x_new = (x - min(x))/(max(x)-min(x)) 

randfeatures(..., 'Verbose', VerboseValue), когда Verbose является true, отключает подробность. По умолчанию это true.

Примеры

Найдите сокращенный набор генов, который достаточен для классификации всех типов рака в наборе данных t-matrix NCI60. Загрузите выборочные данные.

load NCI60tmatrix

Выберите функции.

I = randfeatures(X,GROUP,'SubsetSize',15,'Classifier','da');

Тестовые функции с линейным классификатором дискриминантов.

C = classify(X(I(1:25),:)',X(I(1:25),:)',GROUP);
cp = classperf(GROUP,C);
cp.CorrectRate  
ans =

     1

Ссылки

[1] Li, L., Umbach, D.M., Terry, P. and Taylor, J.A. (2003). Применение метода GA/KNN к данным протеомики SELDI. PNAS. 20, 1638-1640.

[2] Liu, H., Motoda, H. (1998). Выбор признаков по открытию знаний и Данных майнингу, Kluwer Academic Publishers.

[3] Росс, Д. Т. et.al. (2000). Систематические изменения шаблонов экспрессии генов в клеточных линиях рака человека. Генетика природы. 24 (3), 227-235.

Представлено до R2006a