Microsoft Naive Bayes Algorithm

Se aplica a: SQL Server 2019 y versiones anteriores de Analysis Services Azure Analysis Services Fabric/Power BI Premium

Importante

La minería de datos estaba en desuso en SQL Server 2017 Analysis Services y ahora se ha interrumpido en SQL Server 2022 Analysis Services. La documentación no se actualiza para las características en desuso e interrumpidas. Para más información, consulte Compatibilidad con versiones anteriores de Analysis Services.

El algoritmo Bayes naive de Microsoft es un algoritmo de clasificación basado en los teoremas de Bayes y se puede usar para el modelado exploratorio y predictivo. La palabra naïve (ingenuo en inglés) del término Bayes naive proviene del hecho que el algoritmo utiliza técnicas Bayesianas pero no tiene en cuenta las dependencias que puedan existir.

Este algoritmo es menos intenso desde el punto de vista computacional que otros algoritmos de Microsoft y, por tanto, resulta útil para generar rápidamente modelos de minería de datos para detectar relaciones entre columnas de entrada y columnas predecibles. Puede utilizar este algoritmo para realizar la exploración inicial de los datos y, más adelante, aplicar los resultados para crear modelos de minería de datos adicionales con otros algoritmos más complejos y precisos desde el punto de vista computacional.

Ejemplo

Como parte de su estrategia promocional, el departamento de comercialización de la empresa Adventure Works Cycles ha decidido atraer a posibles clientes realizando un envío por correo de folletos. Para reducir costos, desean enviar los folletos solo a los clientes de los que esperan recibir respuesta. La empresa almacena información en una base de datos sobre datos demográficos y respuestas a envíos de correo anteriores. Desean utilizar estos datos para ver el modo en que los datos demográficos como la edad o la ciudad pueden ayudarles a predecir la respuesta a una promoción, comparando los clientes potenciales con los que tienen características similares y con los que han adquirido productos de la empresa en el pasado. En concreto, lo que desean es ver las diferencias entre los clientes que adquirieron una bicicleta y los que no lo hicieron.

Mediante el uso del algoritmo Bayes naive de Microsoft, el departamento de marketing puede predecir rápidamente un resultado para un perfil de cliente determinado y, por tanto, puede determinar qué clientes tienen más probabilidades de responder a los valores atípicos. Al usar el Visor bayes naive de Microsoft en SQL Server Data Tools, también pueden investigar visualmente qué columnas de entrada contribuyen a respuestas positivas a los valores atípicos.

Cómo funciona el algoritmo

El algoritmo Bayes naive de Microsoft calcula la probabilidad de cada estado de cada columna de entrada, dado cada estado posible de la columna de predicción.

Para comprender cómo funciona esto, use el Visor bayes naive de Microsoft en SQL Server Data Tools (como se muestra en el gráfico siguiente) para explorar visualmente cómo distribuye el algoritmo los estados.

Distribución bayes naive de estados Naive bayes

Aquí, el Visor bayes naive de Microsoft muestra cada columna de entrada del conjunto de datos y muestra cómo se distribuyen los estados de cada columna, dada cada estado de la columna de predicción.

Esta vista del modelo se utilizaría para identificar las columnas de entrada que son importantes para diferenciar los distintos estados de la columna de predicción.

Por ejemplo, en la fila Commute Distance que se muestra aquí, la distribución de valores de entrada es visiblemente diferente para los compradores en comparación con los no compradores. Esto indica que la entrada, Commute Distance = 0-1 miles, es un factor de predicción potencial.

El visor también proporciona valores para las distribuciones, de modo que pueda ver que para los clientes que viajan entre una y dos millas para ir a trabajar, la probabilidad de que compren una bicicleta es de 0,387, y la probabilidad que no la compren es de 0,287. En este ejemplo, el algoritmo utiliza la información numérica, derivada de un dato de cliente (como la distancia entre el domicilio y el lugar de trabajo), para predecir si un cliente compraría una bicicleta.

Para obtener más información sobre el uso del Visor bayes naive de Microsoft, vea Examinar un modelo mediante el Visor bayes naive de Microsoft.

Datos requeridos para los modelos Bayes naive

Al preparar los datos para su uso en un modelo de entrenamiento Bayes naive, conviene comprender qué requisitos son imprescindibles para el algoritmo, incluidos el volumen de datos necesario y la forma en que estos datos se utilizan.

Los requisitos para un modelo Bayes naive son los siguientes:

  • Una columna de una sola clave : cada modelo debe contener una columna numérica o de texto que identifique cada registro de manera única. No están permitidas las claves compuestas.

  • Columnas de entrada : en un modelo Bayes naive, todas las columnas deben ser discretas o se deben haber discretizado los valores. Para obtener información sobre cómo discretizar columnas (bin), vea Métodos de discretización (minería de datos).

  • Las variables deben ser independientes. En un modelo Bayes naive, también es importante asegurarse de que los atributos de entrada sean independientes unos de otros. Esto es particularmente importante al utilizar el modelo para la predicción. Si usa dos columnas de datos que ya están estrechamente relacionadas, el efecto sería multiplicar la influencia de esas columnas, lo que puede ocultar otros factores que influyen en el resultado.

    Al contrario, la capacidad del algoritmo de identificar las correlaciones entre las variables es útil cuando está explorando un modelo o conjunto de datos, para identificar las relaciones entre las entradas.

  • Al menos una columna de predicción : el atributo de predicción debe contener valores discretos o discretizados.

    Los valores de la columna predecible se pueden tratar como entradas. Este ejercicio puede ser útil si explora un nuevo conjunto de datos, para encontrar relaciones entre las columnas.

Ver el modelo

Para explorar el modelo, puede usar el Visor Bayes naive de Microsoft. El visor muestra cómo se relacionan los atributos de entrada con el atributo de predicción. El visor también proporciona un perfil detallado de cada clúster, una lista de los atributos que distinguen cada clúster de los demás, y las características del conjunto de datos de entrenamiento completo. Para más información, vea Examinar un modelo usando el visor Bayes naive de Microsoft.

Si quiere obtener más información, puede examinar el modelo en el Visor de árboles de contenido genérico de Microsoft (minería de datos). Para obtener más información sobre el tipo de información almacenada en el modelo, vea Contenido del modelo de minería de datos para los modelos Bayes naive (Analysis Services - Minería de datos).

Realizar predicciones

Una vez entrenado el modelo, los resultados se almacenan como un conjunto de patrones que se puede explorar o utilizar para realizar predicciones.

Puede crear consultas para devolver las predicciones sobre cómo se relacionan los nuevos datos con el atributo de predicción, o puede recuperar estadísticas que describan las correlaciones que ha hallado el modelo.

Para obtener información sobre cómo crear consultas en un modelo de minería de datos, vea Consultas de minería de datos. Para obtener ejemplos de cómo usar las consultas con un modelo de Bayes naive, vea Ejemplos de consultas del modelo Bayes naive.

Comentarios

  • Admite el uso del Lenguaje de marcado de modelos de predicción (PMML) para crear modelos de minería de datos.

  • Admite la obtención de detalles.

  • No admite la creación de dimensiones de minería de datos.

  • Admite el uso de modelos de minería de datos OLAP.

Consulte también

Algoritmos de minería de datos (Analysis Services: Minería de datos)
Selección de características (minería de datos)
Ejemplos de consultas del modelo Bayes naive
Contenido del modelo de minería de datos para los modelos Bayes naive (Analysis Services - Minería de datos)
Referencia técnica del algoritmo Bayes naive de Microsoft