MutualInformationFeatureSelectingEstimator Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Выбирает верхние ячейки k во всех указанных столбцах, упорядоченных по их взаимной информации со столбцом метки (что можно узнать о метке, наблюдая за значением указанного столбца).
public sealed class MutualInformationFeatureSelectingEstimator : Microsoft.ML.IEstimator<Microsoft.ML.ITransformer>
type MutualInformationFeatureSelectingEstimator = class
interface IEstimator<ITransformer>
Public NotInheritable Class MutualInformationFeatureSelectingEstimator
Implements IEstimator(Of ITransformer)
- Наследование
-
MutualInformationFeatureSelectingEstimator
- Реализации
Комментарии
Характеристики оценщика
Требуется ли этому оценщику просмотреть данные для обучения его параметров? | Да |
Тип данных входного столбца | Вектор или скаляр числовых, текстовых или ключевых типов данных |
Тип данных выходного столбца | То же, что и входной столбец |
Возможность экспорта в ONNX | Да |
Формально взаимную информацию можно записать так:
$\text{MI}(X,Y) = E_{x,y}[\log(P(x,y)) - \log(P(x)) - \log(P(y)]$, где $x$ и $y$ — это наблюдения за случайными переменными $X$ и $Y$.
где ожидание E берется на совместное распределение X и Y. Здесь P(x, y) — это функция плотности совместной вероятности X и Y, P(x) и P(y) — функции граничной плотности вероятности X и Y соответственно. Как правило, более высокая взаимная информация между зависимой переменной (или меткой) и независимой переменной (или признаком) означает, что метка имеет более высокую взаимную зависимость по сравнению с этой функцией. Он сохраняет верхние слоты в выходных функциях с наибольшим объемом взаимной информации с меткой.
Например, для следующего столбца Признаки и метка, если мы укажем, что нам нужны первые 2 слота (векторные элементы), которые имеют более высокую корреляцию со столбцом метки, выходные данные применения этого оценщика будут содержать только первый и третий слоты, так как их значения больше коррелируют со значениями в столбце Метка.
Метка | Функции |
---|---|
True | 4,6,0 |
Неверно | 0,7,5 |
True | 4,7,0 |
Неверно | 0,7,0 |
Вот как будет выглядеть приведенный выше набор данных после установки оценщика и преобразования данных с помощью полученного преобразователя:
Метка | Функции |
---|---|
True | 4,0 |
Неверно | 0,5 |
True | 4,0 |
Неверно | 0,0 |
Ссылки на примеры использования см. в разделе См. также.
Методы
Fit(IDataView) |
Обучает и возвращает ITransformer. |
GetOutputSchema(SchemaShape) |
Возвращает объект SchemaShape схемы, которая будет создана преобразователем. Используется для распространения и проверки схемы в конвейере. |
Методы расширения
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
Добавьте контрольную точку кэширования в цепочку оценщика. Это гарантирует, что подчиненные оценщики будут обучены на основе кэшированных данных. Полезно иметь контрольную точку кэширования перед инструкторами, которые принимают несколько проходов данных. |
WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
Учитывая оценщик, верните объект-оболочку, который будет вызывать делегат после Fit(IDataView) вызова . Оценщику часто важно возвращать сведения о том, что подходит, поэтому Fit(IDataView) метод возвращает объект конкретного типа, а не просто общий ITransformer. Однако, в то же время, IEstimator<TTransformer> часто формируются в конвейеры с большим количеством объектов, поэтому нам может потребоваться построить цепочку оценщиков, где EstimatorChain<TLastTransformer> оценщик, для которого мы хотим получить преобразователь, похоронен где-то в этой цепочке. Для этого сценария с помощью этого метода можно подключить делегат, который будет вызываться после вызова fit. |