Compartir a través de


MutualInformationFeatureSelectingEstimator Clase

Definición

Selecciona las k ranuras superiores en todas las columnas especificadas ordenadas por su información mutua con la columna de etiqueta (lo que puede obtener información sobre la etiqueta observando el valor de la columna especificada).

public sealed class MutualInformationFeatureSelectingEstimator : Microsoft.ML.IEstimator<Microsoft.ML.ITransformer>
type MutualInformationFeatureSelectingEstimator = class
    interface IEstimator<ITransformer>
Public NotInheritable Class MutualInformationFeatureSelectingEstimator
Implements IEstimator(Of ITransformer)
Herencia
MutualInformationFeatureSelectingEstimator
Implementaciones

Comentarios

Características del estimador

¿Este estimador necesita examinar los datos para entrenar sus parámetros?
Tipo de datos de columna de entrada Vector o escalar de tipos de datos numéricos, de texto o clave
Tipo de datos de columna de salida Igual que la columna de entrada
Exportable a ONNX

Formalmente, la información mutua se puede escribir del siguiente modo:

$\text{MI}(X,Y) = E_{x,y}[\log(P(x,y)) - \log(P(x)) - \log(P(y)]$ donde $x$ y $y$ son observaciones de variables aleatorias $X$ y $Y$.

donde la expectativa E se toma sobre la distribución conjunta de X e Y. Aquí P(x, y) es la función de densidad de probabilidad conjunta de X e Y, P(x) y P(y) son las funciones marginales de densidad de probabilidad de X e Y respectivamente. En general, una mayor información mutua entre la variable dependiente (o etiqueta) y una variable independiente (o característica) significa que la etiqueta tiene una mayor dependencia mutua sobre esa característica. Mantiene las ranuras principales en las características de salida con la información mutua más grande con la etiqueta.

Por ejemplo, para la siguiente columna Características y etiqueta, si especificamos que queremos las dos ranuras principales (elementos vectoriales) que tienen la correlación más alta con la columna de etiqueta, la salida de aplicar este estimador mantendría solo la primera y la tercera ranura, ya que sus valores están más correlacionados con los valores de la columna Etiqueta.

Etiqueta Características
True 4,6,0
False 0,7,5
True 4,7,0
False 0,7,0

Así sería el conjunto de datos anterior, después de ajustar el estimador y transformar los datos con el transformador resultante:

Etiqueta Características
True 4,0
False 0,5
True 4,0
False 0,0

Consulte la sección Consulte también los vínculos a ejemplos de uso.

Métodos

Fit(IDataView)

Entrena y devuelve un ITransformerobjeto .

GetOutputSchema(SchemaShape)

Devuelve el SchemaShape del esquema que generará el transformador. Se usa para la propagación y comprobación del esquema en una canalización.

Métodos de extensión

AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment)

Anexe un "punto de control de almacenamiento en caché" a la cadena del estimador. Esto garantizará que los estimadores de bajada se entrenarán con datos almacenados en caché. Resulta útil tener un punto de control de almacenamiento en caché antes de que los instructores tomen varios pases de datos.

WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>)

Dado un estimador, devuelva un objeto de ajuste que llamará a un delegado una vez Fit(IDataView) . A menudo, es importante que un estimador devuelva información sobre lo que cabe, por lo que el Fit(IDataView) método devuelve un objeto con tipo específico, en lugar de simplemente un general ITransformer. Sin embargo, al mismo tiempo, IEstimator<TTransformer> a menudo se forman en canalizaciones con muchos objetos, por lo que es posible que tengamos que crear una cadena de estimadores a través EstimatorChain<TLastTransformer> de donde el estimador para el que queremos obtener el transformador se enterró en algún lugar de esta cadena. En ese escenario, podemos a través de este método adjuntar un delegado al que se llamará una vez que se llame a fit.

Se aplica a

Consulte también