Сгенерируйте рандомизированное подмножество функций
[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-матричном 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] Литий, L., Umbach, D.M., Терри, P., и Тейлор, J.A. (2003). Применение метода GA/KNN к данным о протеомике SELDI. PNAS. 20, 1638-1640.
[2] Лю, H., Motoda, H. (1998). Покажите выбор для открытия знаний и анализа данных, Kluwer академические издатели.
[3] Росс, D.T. et.al. (2000). Систематическое изменение в шаблонах экспрессии гена в человеческих линиях раковых клеток. Генетика природы. 24 (3), 227-235.
classify
| classperf
| crossvalind
| rankfeatures
| sequentialfs