Informe Comercial de Aprendizaje Automático
Informe Comercial de Aprendizaje Automático
Informe Comercial de Aprendizaje Automático
Problema 1- Uno de los principales canales de noticias CNBE le contrata para analizar las recientes
elecciones. Esta encuesta se realizó a 1525 votantes con 9 variables. Hay que construir un modelo para
predecir a qué partido votará un elector basándose en la información dada, para crear un sondeo a pie de
urna que ayude a predecir la victoria global y los escaños cubiertos por un partido concreto.
"Sin nombre: 0" es una variable que simplemente representa el índice en los datos. Por lo tanto, debe
suprimirse, ya que no es útil en el modelo.
Además, algunas variables contienen el operador '.' en su nombre que puede afectar al modelo, por lo que
sustituiremos el operador '.' por '_'.
Columnas categóricas-
La tabla anterior ofrece información como valores únicos, media, mediana, desviación estándar, resumen
de cinco puntos, mín-máx, recuento, etc. para todas las variables presentes en el conjunto de datos.
Puesto que no hay identificación o código único para cada fila presente. No podemos decir claramente que
se trate de la misma persona o de una diferente. Por lo tanto, en este caso no eliminaremos los
duplicados.
Análisis univariante
Para variables continuas
Podemos ver que todas las variables numéricas se distribuyen normalmente (aunque no son
perfectamente normales y en algunos casos también son multimodales).
Hay valores atípicos en las variables "economic_cond_national" y "economic_cond_household" que
también pueden verse en los gráficos de caja de la derecha.
Además, en los gráficos de caja los valores mínimo y máximo de las variables no están muy claros;
podemos obtenerlos por separado al comprobar si hay valores atípicos.
Análisis bivariante.
Pairplot-
Pairplot nos informa de la interacción de cada variable con cualquier otra variable presente.
Por lo tanto, no existe una relación estrecha entre las variables.
Hay una mezcla de relaciones positivas y negativas, lo cual es de esperar.
En general, se trata de una estimación aproximada de las interacciones, se puede obtener una imagen
más clara mediante los valores del mapa de calor y también diferentes tipos de gráficos.
Análisis - Blair y la edad
Los mayores de 45 años suelen pensar que Blair está haciendo un buen trabajo.
La Haya tiene una concentración de puntos nuterales ligeramente superior a la de Blair para las personas
mayores de 50 años.
Matriz de correlación.
Mapa de calor-
La multicolinealidad es un problema importante que puede perjudicar al modelo. El mapa de calor es una
buena forma de identificar este problema. Nos da una idea básica de la relación que guardan entre sí las
variables.
Observaciones-
La mayor correlación positiva se da entre "economic_cond_national" y "economic_cond_household"
(35%). Pero lo bueno es que no es enorme.
La mayor correlación negativa se da entre "Blair" y "Europa" (30%), pero tampoco es enorme.
Usando boxplot-
1.3 Codificar los datos (con valores de cadena) para su modelización. ¿Es
necesaria o no la ampliación? División de datos: Dividir los datos en
entrenamiento y prueba (70:30).
Codificación del conjunto de datos
Como muchos modelos de aprendizaje automático no pueden trabajar con valores de cadena,
codificaremos las variables categóricas y convertiremos sus tipos de datos en enteros.
A partir de la información del conjunto de datos, sabemos que hay 2 variables de tipo categórico, por lo
que necesitamos codificar estas 2 variables con la técnica adecuada.
Esas 2 variables son "voto" y "género". Su distribución se indica a continuación.
De los resultados anteriores se desprende que ambas variables contienen sólo dos clasificaciones de datos.
Podemos utilizar una simple conversión categórica (pd.Categorical() o codificación ficticia con drop_first = True,
ambos funcionarán aquí) Esto convertirá los valores en 0 y 1. Como no hay nivel ni orden en la subcategoría,
cualquier codificación dará el mismo resultado.
El tipo de datos después de la conversión es formato int8 podemos convertir estos a formato int64, funcionará
incluso si no lo cambiamos a int64.
Después de codificar...
Información-
Datos-
Aquí realizaremos el escalado en ambos tipos de modelos y comprobaremos si hay alguna diferencia en el
rendimiento del modelo.
Además, tras observar los datos, sólo necesitamos escalar la variable "edad", ya que el resto de las
variables se encuentran en el intervalo 0-10 como máximo.
Utilizaremos aquí el escalado Z-core para escalar la variable edad.
Tras el escalado mediante puntuación z o escalado estándar en el que media=0 y desviación estándar=1.
Antes de dividir necesitamos encontrar la variable objetivo. En este caso, la variable objetivo es "voto".
Distribución de datos de voto.
Hay un desequilibrio de datos en la variable como se ha visto anteriormente, por lo que no podemos
dividirla en una proporción 50:50, sino que dividiremos los datos en una proporción 70:30. También
utilizaremos la técnica de sobremuestreo SMOTE para comprobar si mejora o no el modelo.
En este caso, utilizaremos 2 conjuntos de entrenamiento y prueba diferentes, uno sin datos escalados y
otro con datos escalados. Esto nos ayudará a comprender si el escalado puede mejorar el rendimiento o
no.
Ahora dividimos los datos X e y en la proporción 70:30, donde los datos de entrenamiento son el 70% y los
datos de prueba son el 30%.
Tras la división: la forma de los datos
Toma,
X_train - denota el 70% del conjunto de datos de entrenamiento con 8 columnas (excepto la columna
objetivo llamada "voto").
X_test- denota el 30% del conjunto de datos de prueba con 8 columnas (excepto la columna objetivo
llamada "voto").
y_train- denota el conjunto de datos de entrenamiento del 70% con sólo la columna objetivo llamada
"voto".
y_test- denota el 30% del conjunto de datos de prueba con sólo la columna objetivo llamada "voto".
Del mismo modo, los datos se dividen en datos escalados y datos de sobremuestreo SMOTE.
Antes de ajustar el modelo, es importante conocer los hiperparámetros que intervienen en su construcción.
Parámetros:
- sanción
- solucionador
- max_iter
- tol, etc.
Para encontrar la mejor combinación entre estos parámetros utilizaremos el método "GridSearchCV". Este
método puede realizar múltiples combinaciones de estos parámetros simultáneamente y puede
proporcionarnos los mejores resultados óptimos.
Tras realizar la búsqueda, los mejores parámetros resultaron ser-
Inferencias
Pseudo R2 = 0,3809 muestra que el modelo funciona realmente bien, ya que el valor entre 0,2 - 0,4
muestra que un modelo funciona bien.
El modelo funciona ligeramente bien con los datos sin escalar.
No hay ajuste insuficiente ni ajuste excesivo, ya que la precisión de los datos de prueba y de los datos de
entrenamiento no es muy diferente.
También realicé SMOTE (técnica de sobremuestreo), cuyo resultado se analiza más adelante en la
comparación de modelos de rendimiento.
Antes de ajustar el modelo, es importante conocer los hiperparámetros que intervienen en su construcción.
Parámetros:
- solucionador
- encogimiento
Ahora, después de realizar el GridSearchCV, los mejores parámetros obtenidos son-.
contracción = 'auto'
solver = 'lsqr'
Ahora los resultados para datos sin escalar-
También realicé SMOTE (técnica de sobremuestreo), cuyo resultado se analiza más adelante en la
comparación de modelos de rendimiento.
1.5. Aplicar el modelo KNN y el modelo Naïve Bayes. Interprete las inferencias
de cada modelo.
KNN es un algoritmo de aprendizaje automático supervisado basado en la distancia que puede utilizarse
para resolver problemas tanto de clasificación como de regresión. La principal desventaja de este modelo
es que se vuelve muy lento cuando hay un gran volumen de datos y, por lo tanto, lo convierte en una
opción poco práctica cuando hay que hacer inferencias rápidamente.
Antes de ajustar el modelo, es importante conocer los hiperparámetros que intervienen en su construcción.
Parámetros:
- n_vecinos
- pesos
- algoritmo
Ahora después de realizar el "GridSearchCV", los mejores parámetros obtenidos son-
- n_vecinos' = 5,
- 'pesos' = uniforme,
- algoritmo' = auto
Inferencia-
El modelo funcionó mejor con los datos escalados.
En general, el modelo ha funcionado bien, pero puede haber un ligero exceso de ajuste, ya que la
precisión es mayor en el conjunto de entrenamiento que en el de prueba.
Los clasificadores Naive Bayes son un modelo basado en la aplicación del teorema de Bayes con hipótesis
de independencia fuerte (ingenua) entre las características. Sin embargo, estos supuestos pueden no ser
el caso perfecto en la vida real.
Teorema de Bayes.
Aquí el método que vamos a utilizar es el método GaussianNB(), también conocido como BernoulliNB().
Este método requiere que todas las características sean de tipo categórico. Un supuesto general de este
método es que los datos siguen una distribución normal o gaussiana.
No hay parámetros específicos en este modelo como en otros, así que simplemente ajustaremos el
modelo con parámetros por defecto.
1.6 Model Tuning, Bagging (Random Forest debe aplicarse para Bagging), y
Boosting.
Ajuste de modelos
El ajuste es el proceso de maximizar el rendimiento de un modelo sin sobreajustarlo ni crear una varianza
demasiado alta. En el aprendizaje automático, esto se consigue seleccionando los "hiperparámetros"
adecuados.
La búsqueda en cuadrícula es uno de los métodos más habituales para optimizar los parámetros. Para
ello, se define un conjunto de parámetros y, a continuación, se evalúa el rendimiento para cada una de las
combinaciones de estos parámetros, mediante validación cruzada. Entonces, de entre aquellos
Los modelos como Bagging, Boosting, Gradient boosting, Cat boosting, etc. son propensos a subajustar o
sobreajustar los datos. La sobreadaptación significa que el modelo funciona muy bien en los datos de
entrenamiento, pero funciona relativamente mal en los datos de prueba. Un ajuste insuficiente significa que
el modelo funciona muy bien con los datos de prueba, pero funciona relativamente mal con los datos de
entrenamiento.
El ensacado es una técnica de conjunto. Las técnicas de ensemble son las técnicas de aprendizaje
automático que combinan varios modelos base para obtener un modelo óptimo. El ensacado está
diseñado para mejorar el rendimiento de los algoritmos de aprendizaje automático existentes utilizados en
la clasificación estadística o la regresión. Se utiliza sobre todo con algoritmos basados en árboles. Se trata
de un método paralelo.
Cada clasificador base se entrena en paralelo con un conjunto de entrenamiento que se genera
extrayendo aleatoriamente, con reemplazo, N datos del entrenamiento. El conjunto de entrenamiento para
cada uno de los clasificadores base es independiente entre sí.
En este caso, utilizaremos random forest como clasificador base. Los hiperparámetros que se utilizarán en
el modelo son
- profundidad_máxima
- características_máximas
- min_muestras_hoja
- min_samples_split
- n_estimadores
Hay otros parámetros también, pero vamos a utilizar estos para gridsearch, resto valores por defecto.
Ahora después de realizar el "GridSearchCV", los mejores parámetros obtenidos son-
- ' profundidad_máx ' = 5,
- ' max_features ' = 7,
- ' min_muestras_hoja ' = 25,
- ' min_samples_split ' = 60,
- ' n_estimadores ' = 101
Inferencia-
El modelo funcionó exactamente igual tanto para los datos sin escalar como para los escalados.
Este modelo funcionó muy bien con los datos, sin sobreajustes ni infraajustes.
Modelo de refuerzo
El refuerzo también es una técnica de conjunto. Convierte a los alumnos débiles en alumnos fuertes. A
diferencia del bagging, es un método secuencial en el que el resultado de un aprendiz débil se convierte
en la entrada de otro y así sucesivamente, mejorando el rendimiento del modelo.
Cada vez que se aplica el algoritmo de aprendizaje básico, genera una nueva regla de predicción de
aprendizaje débil. Se trata de un proceso iterativo y el algoritmo boosting combina estas reglas débiles en
una única regla de predicción fuerte.
Los datos de entrada mal clasificados ganan un peso mayor y los ejemplos que se clasifican
correctamente pierden peso. Así, los futuros alumnos débiles se centran más en los ejemplos que los
anteriores alumnos débiles clasificaron mal. También son métodos basados en árboles.
Hay muchos tipos de técnicas de refuerzo disponibles y para este proyecto se van a utilizar las siguientes
técnicas de refuerzo.
1. ADA Boost (refuerzo adaptativo)
2. Impulso por gradiente
3. Impulso de gradiente extremo
4. CAT Boost (refuerzo categórico)
Este modelo se utiliza para aumentar la eficacia de los clasificadores binarios, pero ahora también se
utiliza para mejorar los clasificadores multiclase. AdaBoost puede aplicarse sobre cualquier método
clasificador para aprender de sus problemas y conseguir un modelo más preciso, por lo que se le
denomina el "mejor clasificador listo para usar".
Antes de ajustar el modelo, es importante conocer los hiperparámetros que intervienen en la construcción
del modelo.
Parámetros:
- algoritmo
- n_estimadores
Hay otros parámetros también, pero vamos a utilizar estos para gridsearch, resto valores por defecto.
Ahora después de realizar el "GridSearchCV", los mejores parámetros obtenidos son-
- ' algoritmo ' = ' SAMME',
- ' n_estimadores ' = 50
Inferencia-
El modelo funcionó exactamente igual tanto para los datos sin escalar como para los escalados.
Este modelo funcionó muy bien con los datos, sin sobreajustes ni infraajustes.
Este modelo es igual que el modelo ADABoosting. Gradient Boosting funciona añadiendo secuencialmente
los predictores mal identificados y las predicciones mal ajustadas al conjunto, lo que garantiza la
corrección de los errores identificados previamente. La principal diferencia radica en lo que hace con el
valor mal identificado del aprendiz débil anterior. Este método intenta ajustar el nuevo predictor a los
errores residuales cometidos por el anterior.
Antes de ajustar el modelo, es importante conocer los hiperparámetros que intervienen en la construcción
del modelo.
Parámetros:
- Criterio
- pérdida
- n_estimadores
- características_máximas
- min_samples_split
Hay otros parámetros también, pero vamos a utilizar estos para gridsearch, resto valores por defecto.
Ahora después de realizar el "GridSearchCV", los mejores parámetros obtenidos son-
- 'criterio' = 'friedman_mse',
- 'pérdida' = 'exponencial',
- n_estimadores' = 50,
- 'max_features' = 8,
- min_samples_split' = 45
Inferencia-
El modelo funcionó exactamente igual tanto para los datos sin escalar como para los escalados.
En general, el modelo ha funcionado bien, pero puede haber un ligero exceso de ajuste, ya que la
precisión es mayor en el conjunto de entrenamiento que en el de prueba.
Este modelo, como su nombre indica, se basa en el marco del gradient boosting. Sin embargo, XGBoost
mejora el marco GBM básico mediante la optimización de sistemas y mejoras algorítmicas. Utiliza
procesamiento paralelo y optimizaciones de RAM que pueden mejorar el funcionamiento del método
Gradient Boost hasta su punto máximo y de ahí su nombre "extremo".
Otra ventaja es que trata automáticamente los valores nulos pasando el parámetro "missing = NaN".
Otra diferencia es que XGB no contiene el parámetro 'min_sample_split' .
Antes de ajustar el modelo, es importante conocer los hiperparámetros que intervienen en la construcción
del modelo.
Parámetros:
- Profundidad_máxima
- Mín_hoja_muestras
- n_estimadores
- aprender_raro
Hay otros parámetros también, pero vamos a utilizar estos para gridsearch, resto valores por defecto.
Ahora después de realizar el "GridSearchCV", los mejores parámetros obtenidos son-
- 'max_depth': 4,
- 'min_muestras_hoja': 15,
- 'n_estimadores': 50,
- 'learning_rate': 0.1
Modelo CATBoosting
Hay un montón de parámetros para especificar, pero vamos a seguir adelante con los parámetros por
defecto.
Inferencia-
El modelo funcionó exactamente igual tanto para los datos sin escalar como para los escalados.
Hay una gran diferencia entre los valores de precisión de los datos de entrenamiento y los de prueba.
Hay sobreajuste de datos aquí, ya que la precisión de los datos de entrenamiento es mucho mayor que la
de los datos de prueba.
1.7 Métricas de rendimiento: Compruebe el rendimiento de las predicciones
en los conjuntos de entrenamiento y prueba utilizando la precisión, la matriz
de confusión, la curva ROC y obtenga la puntuación ROC_AUC para cada
modelo. Modelo final: Compare los modelos y escriba la inferencia de qué
modelo es el mejor/optimizado.
Métricas de rendimiento:
Por lo general, hay muchas métricas de rendimiento que se utilizan en la evaluación de la fuerza del
modelo para entender cómo ha funcionado el modelo, así como para tomar una decisión informada sobre
si seguir adelante con el modelo en el escenario en tiempo real o no.
Regresión logística
Antes de la ampliación
Precisión del tren: 0,8303655107778819
Precisión de la prueba: 0,8537117903930131
Matriz de confusión.
Informe de clasificación
Para Train Set-
Para Test Set-
Después de escalar...
Precisión del tren: 0,8303655107778819
Precisión de la prueba: 0,8493449781659389
Matriz de confusión.
----------------------------------------------------------------------------------------------------------------------------------------------
Antes de la ampliación
Precisión del tren: 0,8284910965323337
Precisión de la prueba: 0,851528384279476
Matriz de confusión.
Para datos de trenes Para datos de prueba
Informe de clasificación
Para Train Set-
Para Test Set-
Después de escalar
Precisión del tren: 0,8284910965323337
Precisión de la prueba: 0,851528384279476
Matriz de confusión.
Para datos de trenes Para datos de prueba
SMOTE -
----------------------------------------------------------------------------------------------------------------------------------------------
Antes de la ampliación
Precisión del tren: 0,8369259606373008
Precisión de la prueba: 0,8165938864628821
Matriz de confusión.
Para datos de trenes Para datos de prueba
Informe de clasificación
Para Train Set-
Después de escalar...
Precisión del tren: 0,8603561387066542
Precisión de la prueba: 0,8384279475982532
Matriz de confusión.
Para datos de trenes Para datos de prueba
Informe de clasificación
Para Train Set-
SMOTE -
Bayes ingenuos
Antes de la ampliación
Precisión del tren: 0,8219306466729147
Precisión de la prueba: 0,8471615720524017
Matriz de confusión.
Para datos de trenes Para datos de prueba
Después de escalar...
Precisión del tren: 0,8219306466729147
Precisión de la prueba: 0,8471615720524017
Matriz de confusión.
Para datos de trenes Para datos de prueba
Informe de clasificación
Para Train Set-
----------------------------------------------------------------------------------------------------------------------------------------------
Embolsado
Antes de la ampliación
Precisión del tren: 0,8303655107778819
Precisión de la prueba: 0,834061135371179
Matriz de confusión.
Para datos de trenes Para datos de prueba
Informe de clasificación
Para Train Set-
Después de escalar...
Precisión del tren: 0,8303655107778819
Precisión de la prueba: 0,834061135371179
Matriz de confusión.
Para datos de trenes Para datos de prueba
Informe de clasificación
Para Train Set-
Para Test Set-
SMOTE -
----------------------------------------------------------------------------------------------------------------------------------------------
Aumento de la ADA
Antes de la ampliación
Precisión del tren: 0,8369259606373008
Precisión de la prueba: 0,8427947598253275
Matriz de confusión.
Para datos de trenes Para datos de prueba
Después de escalar...
Precisión del tren: 0,8369259606373008
Precisión de la prueba: 0,8427947598253275
Matriz de confusión.
Para datos de trenes Para datos de prueba
Informe de clasificación
Para Train Set-
----------------------------------------------------------------------------------------------------------------------------------------------
Refuerzo de gradiente
Antes de la ampliación
Precisión del tren: 0,865979381443299
Precisión de la prueba: 0,8493449781659389
Matriz de confusión.
Para datos de trenes Para datos de prueba
Verdadero Negativo: 229 Falso positivo: 94 Verdadero Negativo: 94
Falsos positivos: 45
Falso negativo: 49 Verdadero positivo: 695 Falso negativo: 24 Verdadero
positivo: 295
Informe de clasificación
Para Train Set-
Para Test Set-
Después de escalar...
Precisión del tren: 0,865979381443299
Precisión de la prueba: 0,8493449781659389
Matriz de confusión.
Para datos de trenes Para datos de prueba
Verdadero Negativo: 229 Falso positivo: 94 Verdadero Negativo: 94
Falsos positivos: 45
Falso negativo: 49 Verdadero positivo: 695 Falso negativo: 24 Verdadero
positivo: 295
Informe de clasificación
Para Train Set-
Para Test Set-
Puntuación de Gradient Boost (Train): 0,933 Puntuación de Gradient Boost (Test): 0,915
SMOTE -
----------------------------------------------------------------------------------------------------------------------------------------------
XGBoost
Antes de la ampliación
Precisión del tren: 0,8847235238987816
Precisión de la prueba: 0,851528384279476
Matriz de confusión.
Para datos de trenes Para datos de prueba
Informe de clasificación
Para Train Set-
Matriz de confusión.
Para datos de trenes Para datos de prueba
Informe de clasificación
Para Train Set-
----------------------------------------------------------------------------------------------------------------------------------------------
CATBoost
Antes de la ampliación
Precisión del tren: 0,9381443298969072
Precisión de la prueba: 0,851528384279476
Matriz de confusión.
Para datos de trenes Para datos de prueba
Verdadero Negativo: 281 Falsos positivos: 42 Verdadero negativo: 97
Falsos positivos: 42
Falso negativo: 24 Verdadero positivo: 720 Falso negativo: 26 Verdadero
positivo: 293
Informe de clasificación
Para Train Set-
Matriz de confusión.
Para datos de trenes Para datos de prueba
Informe de clasificación
Para Train Set-
SMOTE -
Sin escalado Con Escala
Precisión del tren: 0,9455645161290323 Precisión del tren: 0,9401881720430108
Precisión de la prueba: 0,834061135371179 Precisión de la prueba:
0,8318777292576419
----------------------------------------------------------------------------------------------------------------------------------------------
Comparación de modelos
Se trata de un proceso mediante el cual compararemos todos los modelos construidos y encontraremos el
mejor optimizado entre ellos. Hay un total de 9 tipos diferentes de modelos, cada uno de los cuales se
construye 4 veces de la siguiente manera -
- Sin escala
- Con escala
- Smote Sin Escala
- Smote With Scale.
En total, 36 modelos.
Las bases sobre las que se evalúan los modelos se conocen como métricas de rendimiento. Las métricas
sobre las que se evaluará el modelo son-
- Precisión
- AUC
- Recordatorio
- Precisión
- Puntuación F1
Sin escalado
De lo anterior-
- Según la precisión, la regresión logística obtuvo mejores resultados que las demás.
- Según la puntuación AUC, la regresión logística obtuvo mejores resultados que las demás.
- Basado en Recall - Bagging obtuvo resultados ligeramente mejores que los demás.
- Basándose en la precisión, Naive Bayes obtuvo resultados ligeramente mejores que los demás.
- Basándose en la puntuación F1-, la regresión logística, junto con algunas otras, obtuvo buenos
resultados.
Todos los modelos funcionaron bien, con ligeras diferencias que oscilan entre el (1-5%).
Con Escala-
De lo anterior-
- Según la precisión, LDA y XGBoost obtuvieron mejores resultados que los demás.
- Basándose en la puntuación AUC, la regresión logística y el LDA obtuvieron mejores resultados
que los demás.
- Basado en Recall - Bagging obtuvo resultados ligeramente mejores que los demás.
- Basándose en la precisión, Naive Bayes obtuvo resultados ligeramente mejores que los demás.
- Basándose en la puntuación F1-, la regresión logística, junto con algunas otras, obtuvo buenos
resultados.
De lo anterior-
- En cuanto a la precisión, la regresión logística obtuvo mejores resultados que las demás.
Observaciones-
- De las 4 tablas anteriores se puede observar que el uso de smote no aumentó el rendimiento
de los modelos. En general, los modelos sin Smote obtuvieron buenos resultados tanto para los
datos escalados como para los no escalados. Por lo tanto, no sirve de nada aplicar smote aquí.
- En cuanto a los modelos de datos escalados y no escalados, el escalado sólo mejoró el
rendimiento de los algoritmos basados en la distancia para otros disminuyó ligeramente el
rendimiento en general. En este caso, sólo el modelo KNN de datos escalados obtuvo
resultados ligeramente mejores que el modelo KNN sin escalar.
- Modelo mejor optimizado - En base a todas las comparaciones y métricas de rendimiento,
"Regresión logística" sin escalado obtuvo el mejor resultado de todos.
Inferencias
- La regresión logística fue el mejor modelo de todos los construidos.
- Ecuación de regresión logística para el modelo:
(3,05008) * Intercepción + (-0,01891) * edad + (0,41855) * vínculo_económico_nacional +
(0,06714) * vínculo_económico_hogar + (0,62627) * Blair + (-0,83974) * Hague + (- 0,21413) *
Europa + (-0,40331) * conocimiento_político + (0,10881) * sexo
Las 5 características principales del modelo de regresión logística en orden decreciente de importancia
son...
1. La Haya : |-0.8181846212178241|
2. Blair : |0.5460018962250501|
3. economic_cond_national : |0.37700497490783885|
4. conocimiento_político : |-0.3459485608005413|
5. Europa : |-0.19691071679312278|
Ideas y recomendaciones
Nuestro principal objetivo de negocio es - "Construir un modelo, para predecir a qué partido votará un
elector en base a la información dada, para crear una encuesta a pie de urna que ayude a predecir la
victoria global y los escaños cubiertos por un partido en particular".
Utilización del modelo de regresión logística sin escalado para predecir el resultado, ya que
presenta el mejor rendimiento optimizado.
El ajuste de los hiperparámetros es un aspecto importante de la construcción de modelos. Esto
tiene sus limitaciones, ya que para procesar estas combinaciones se necesita una enorme potencia
de procesamiento. Pero si el ajuste puede hacerse con muchos conjuntos de parámetros, entonces
podríamos obtener resultados aún mejores.
Recopilar más datos también ayudará a entrenar los modelos y, por tanto, a mejorar su capacidad
de predicción.
Los modelos de refuerzo también pueden dar buenos resultados, como CATBoost, incluso sin
ajuste. Por lo tanto, si realizamos un ajuste de los hiperparámetros podríamos obtener mejores
resultados.
También podemos crear una función en la que todos los modelos predigan el resultado de forma
secuencial. Esto ayudará a comprender mejor y la probabilidad de cuál será el resultado.
Problema 2- En este proyecto en particular, vamos a trabajar en los corpus inaugurales del nltk
en Python. Examinaremos los siguientes discursos de los Presidentes de los Estados Unidos de
América:
1. El Presidente Franklin D. Roosevelt en 1941
2. El Presidente John F. Kennedy en 1961
3. El Presidente Richard Nixon en 1973
Palabras
Palabras del discurso de Franklin D. Roosevelt: 1536
Palabras del discurso de John F. Kennedy: 1546
Palabras del discurso de Richard Nixon: 20208
Frases
Frases del discurso de Franklin D. Roosevelt: 68
Frases del discurso de John F. Kennedy: 52
Frases del discurso de Richard Nixon: 69
La biblioteca de stopwords contiene todas las palabras de parada como 'y', 'a', 'es', 'a', 'es', '.', 'de', 'a', etc.,
que normalmente no tienen ninguna importancia para comprender el sentimiento o utilidad en algoritmos
de aprendizaje automático. Estas stopwords presentes en el paquete son stopwords universalmente
aceptadas y podemos añadirlas utilizando la función (.extend()) o eliminarlas según nuestras necesidades.
Además, debemos especificar el lenguaje con el que trabajamos antes de definir las funciones, ya que
existen muchos paquetes de lenguajes. Aquí utilizaremos el inglés.
El "stemming" es un proceso que ayuda al procesador a comprender las palabras que tienen un significado
similar. En este caso, las palabras se reducen a su base o raíz eliminando los afijos. Es muy utilizado en
los motores de búsqueda. Por ejemplo: eating, eats, eaten, todos estos se reducirán a eat después de la
derivación.
Aquí "peopl", "spirit", "life" y "democraci" se encuentran en3er lugar por el mismo número de
apariciones.
Palabra más utilizada: Nación.
Podemos ver algunas palabras destacadas como "nación", "saber", "pueblo", etc. que observamos como
palabras principales en la pregunta anterior. Esto demuestra que cuanto mayor es el tamaño, mayor es la
frecuencia.
Nube de palabras del discurso de Kennedy:
Nube de palabras del discurso de Nixon:
Perspectivas -
Nuestro objetivo era examinar los 3 discursos y analizarlos. Encontrar la fuerza y el
sentimiento de los discursos.
Basándonos en los resultados podemos ver que hay algunas palabras similares que están
presentes en todos los discursos.
Estas palabras pueden el punto que inspiró a las muchas personas y también conseguir
que el asiento del presidente de los Estados Unidos de América
Entre todos los discursos, "nación" es la palabra que más se destaca en los tres.