Сгенерируйте рандомизированное подмножество функций
[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.
classperf
| crossvalind
| rankfeatures
| classify
| sequentialfs