Поделиться через


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.

Применяется к

См. также раздел