exponenta event banner

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] Ли, Л., Умбах, Д. М., Терри, П. и Тейлор, Дж. А. (2003). Применение метода GA/KNN к данным протеомики SELDI. PNAS. 20, 1638-1640.

[2] Лю, Х., Мотода, Х. (1998). Выбор функций для обнаружения знаний и интеллектуального анализа данных, Kluwer Academic Publishers.

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

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