Pregunta

Actualmente estoy trabajando en un proyecto a tiempo parcial que implica predecir la probabilidad de que los clientes compren un producto utilizando análisis de datos. La compañía con la que estoy interponiendo me ha dado un archivo CSV del cliente con todos los clientes actuales y sus atributos y necesita hacer un modelo de predicción para clasificar si los prospectos son factibles de perseguir o no.

Sin embargo, dado que me han dado una lista de todos sus clientes o clientes potenciales exitosos, en términos de marketing, ¿es posible capacitar a un modelo como K-Means con PCA (y K-Fold Cross Validation?) Y obtener resultados? Tengo que entrenar a mi modelo para que se ajuste a un valor, digamos 10, que agregaré al CSV y lo probaré.

Estoy usando pandas. Otro problema es que hay muchos datos demográficos, pero logré superarlos usando get_dummies(). Sin embargo, el número de columnas aumentó de aproximadamente 10 a 47.

Solo estoy entrando en el mundo del análisis de datos, por lo tanto, no tengo idea de qué camino tomar o si lo que estoy haciendo es correcto.

El análisis exacto se denomina puntuación/análisis de plomo predictivo, en terminología de marketing.

Edición 1

Seguí lo que hizo @honzab y, por lo tanto, obtuve un árbol de decisión. Sin embargo, como tenía 40 columnas, se ve así

Tuve que tomar una captura de pantalla, ya que era de más de 2 MB.

Obviamente, es realmente grande, y tengo que podar el árbol de alguna manera, pero no estoy seguro de cómo hacerlo en los pandas. Además, ¿hay alguna forma en que pueda generar las mejores características como un archivo de texto o algo que pueda entenderse sin la ayuda de un científico de datos?

Edición 2

He leído sobre una pregunta que es bastante similar a lo que necesito hacer. Modelado predictivo basado en indicadores de puntuación de RFM. En él hay un enlace a un documento ([minería de datos utilizando el análisis RFM] [3]) que habla de clasificación basada en reglas. Idealmente, esto es lo que necesito hacer y lo que es más adecuado para la necesidad de la empresa.

Quiero saber si es posible hacer esto en Python/Pandas. ¿O es posible atravesar el árbol de decisión y generar las reglas?

Edición 3

Encontré otro sitio web Árboles de decisión en Python nuevamente, validación cruzada que usa validación cruzada y optimización de hiperparameter Para obtener una mejor solución. También han incluido el código de Python para obtener un código legible. Es una solución factible, sin embargo, es bastante complicado y no puedo entender cómo funciona. ¿Funcionará?

PD: Resolví el problema de "árbol de decisión realmente grande" de la edición 1, reduciendo Max-Depth. No lo sabía en absoluto.

¿Fue útil?

Solución

Primero, le preguntaría a la empresa si hay más información sobre el cliente. Usted mencionó que tiene 10 columnas originales, que podrían no ser suficientes para hacer una buena predicción. Lo mismo ocurre con el número de filas. Por lo general, más datos, mejor el modelo, hasta cierto límite.

En segundo lugar, codificar las características categóricas (datos demográficos en su caso) es bueno hacer. El mayor número de columnas no tiene que molestarlo en su caso.

Para la tarea en sí, sí, es factible. Comience fácilmente, simplemente verifique la importancia de cada característica (dejaría PCA para más adelante), elegir pocos modelos y probarlos.

Considere también entrenar el árbol de decisión simple. Sus resultados se pueden visualizar fácilmente de manera que la gente de los negocios entienda. Como se opuso a los métodos de caja negra como K-means.

Licenciado bajo: CC-BY-SA con atribución
scroll top