Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Mii702 - S4grupo 5N

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 22

Optimización de Procesos (MII702)

INFORME 4 CIENCIA DE DATOS APLICADA A LA OPTIMIZACIÓN DE LA CADENA DE


SUMINISTRO

Nombre integrante/s:

Francelys García

Moisés Sanhueza

Mario Obreque

Curso: Optimización
de proceso

Fecha:
2

CONTENIDO

1. Introducción................................................................................................................................................
2. Explicación del procesos y justificación de la técnica de resolución........................................................
2.1 Recursos computacionales.................................................................................................................
2.2 codigos y explicaciones del desarrollo...............................................................................................
3. Explicación del algoritmo y código computacional....................................................................................
4. análisis de resultados (lectura e interpretación de gráficos)…………………………… 16
5. 5.Conclusión y trabajos futuros...............................................................................................................
3

1. Introducción
En las últimas décadas, el análisis de datos se ha convertido en una herramienta fundamental
para las organizaciones. A través de técnicas estadísticas y algoritmos de aprendizaje
automático, es posible extraer información valiosa de grandes cantidades de datos. Uno de los
métodos más utilizados para este propósito son los filtros estadísticos, los cuales son una
herramienta clave en el análisis de datos en Python, ya que permiten filtrar y seleccionar
información relevante para la toma de decisiones informadas en la gestión estratégica y operativa
de una organización.
En el ámbito de la gestión estratégica, los filtros estadísticos son utilizados para identificar
patrones, tendencias y relaciones entre variables que permiten comprender el entorno en el que
se desenvuelve la organización. Estos filtros son aplicados sobre grandes volúmenes de datos, lo
que permite identificar datos atípicos, detectar problemas potenciales y tomar decisiones más
precisas y fundamentadas.

En la gestión operativa, los filtros estadísticos son utilizados para mejorar los procesos internos
de la organización. Estos filtros permiten identificar errores o desviaciones en la producción,
evaluar la calidad de los productos o servicios, y optimizar los recursos disponibles. Además, los
filtros estadísticos ayudan a identificar y monitorear indicadores clave de desempeño, lo que
facilita la toma de decisiones enfocadas en la mejora continua.

Python es un lenguaje de programación ampliamente utilizado en el análisis de datos y ofrece


diversas bibliotecas y herramientas que facilitan la implementación de filtros estadísticos. Algunas
de las bibliotecas más populares incluyen NumPy, Pandas y SciPy, que proporcionan funciones y
métodos específicos para el análisis y filtrado de datos.

El uso de filtros estadísticos en Python permite a las organizaciones tener una visión más clara y
objetiva de su entorno, identificar oportunidades de mejora y tomar decisiones más acertadas.
Estos filtros ofrecen a los gestores una mayor certeza y confianza en la información que utilizan
para guiar sus estrategias y acciones operativas, lo que conduce a una gestión más eficiente y
efectiva de la organización.

En resumen, los filtros estadísticos en Python son una herramienta valiosa para la toma de
decisiones informadas orientadas a la gestión estratégica y operativa de una organización. Estos
filtros permiten identificar patrones, tendencias y relaciones en los datos, mejorar los procesos
internos y optimizar los recursos disponibles. El uso de filtros estadísticos en Python contribuye a
una gestión más eficiente y efectiva, proporcionando a los gestores una base sólida para la toma
de decisiones.
4

2.- Explicación del procesos y justificación de la técnica de resolución

2.1 Recursos computacionales

1) El lenguaje de programación base será Python el cual se caracteriza por ser más
amigable y fácil de comprender que otros lenguajes de programación, además permite el
uso e implementación de varias herramientas para gráficos, cálculos, etc. Por otro lado,
se puede usar en muchas plataformas aplicativas como, Google Colab, Python Idle,
Jupyter notebook, entre otras.

2) El ambiente de programación para este informe será el que ofrece la aplicación Jupyter
notebook, debido a que se ha referido por el docente. Jupyter notebook tiene la capacidad
de ser compatible con diversas bibliotecas, siendo muy versátil. Una de las ventajas es
que no se necesita instalar un programa en la computadora, ya que, se ancla al
explorador web.

3) Las libraries referidas y que se ocuparán será Pandas que permite la visualización,
manipulación, organización de datos, facilitando el uso y el entendimiento de los datos.
También SCIKIT-LEARN para realizar las predicciones y echar a andar los modelos, para
este caso, árbol de decisión y regresión logística. Para desarrollar las funciones
matemáticas mas potentes se utiliza la biblioteca de NUMPY, que servirá para los
modelos de regresión logística y de árbol de decisión.

4) Como herramienta de visualización gráfica de los resultados se ocupará la librería


Matplotlib, herramienta que permite representar los datos en gráficos de barra,
interactivos y estáticos, de línea, o dispersión.

2.2 Código y explicaciones

 La base de datos a trabajar será “titanic” que está en formato de separación por comas.
Se realiza el llamado de la biblioteca pandas, conocida ahora como “pd” y también se
realiza con la biblioteca matplotlib que será conocida como “mt”, para hacer más sencillo
el código. Data frame, ocupará su abreviación “df” y tendrá la base de datos.
5

3. Explicación de algoritmos y códigos computacionales

 Para tener una idea del tipo de base de datos y unas medidas como la desviación
estándar, mínimo. Max, etcétera, ocupamos la instrucción “describe”
6

 Para interiorizar más acerca de la extensión de los datos que contiene el archivo
titanic.csv ocupamos la instrucción “info”, en donde se muestra que en amarillo aparece la
cantidad de filas (rows) y la cantidad de columnas (columns).
7

 Con la instrucción “columns” se puede visualizar las columnas, esto nos sirve para tener
claramente el tipo de información como recurso para realizar los posteriores análisis

 A continuación, realizamos una traducción de por lo menos las columnas con instrucción
“replace” para que sea más fácil analizarlas, también se renombrarán con la instrucción
“rename” y por último se realizará una nueva base de datos para trabajar utilizando la
instrucción “to”, y quedará con el nombre de “titanic_traducido.csv”
8

 Para mostrar el nuevo encabezado de la base de datos se ocupa el comando “head”, el


cual ahora mostrará claramente que las columnas tienen los nombres en español
9

 Nuevamente vemos los datos para relacionar el peso del documento el tipo de datos y si
existen datos nulos en alguna columna, dando a “info”.
1
0

En este caso y en explicación del grafico se puede visualizar que la mayoría de los datos son de
tipo int64 (enteros de 64 bits de extensión), lo cual implica que los datos representados están
relacionados principalmente con variables cuantitativas y no con variables cualitativas.
1
1

 El primer filtro a crear será la cantidad de mujeres vs cantidad de hombres, para


tener una idea de los tripulantes del titanic. Para eso se accederá al “dt” y se realizará un
filtro llamado “G_filtro” donde se buscará en la columna “Género” para hallar mediante un
verificador con devolución booleana “isin” para saber si corresponde a hombre” o mujer.
Se crea la variable “Cantidadhm” para contar la cantidad de veces que se obtiene el valor
de “hombre o mujer” a través de “value_count”. Además, se realiza un gráfico de barras
para tener una idea de cuantas mujeres y cuantos hombres, estaban en el barco.

Se puede visualizar que la cantidad de personas sexo masculino era mayor que personas de
sexo femenino.
1
2
 A continuación, se muestra la cantidad de hombres, mujeres donde el dataframe “G_filtro”
dispondrá de las veces donde en la columna “Género” está la palabra “hombre” o “mujer”
y luego el uso de la instrucción “shape” para ver en cuantas filas coincide ese valor,
después son mostrados con el comando “print”

 Para responder a la pregunta sobre qué género predominaba según la clase, el


código utilizado es igual que el anterior con la diferencia de que se ocupa el “groupby”
para agrupar las columnas “Clase” y “Género”. En esta instrucción también se ocupa
“size” para contar cuantos hombres o mujeres están en cada clase. “Unstack” organiza
mejor la tabla a mostrar. En la variable “genero predominante” se utiliza la instrucción
“idxmax” para encontrar a lo largo de las columnas la mayor cantidad de valores,
generando una serie que finalmente mostrará para este caso si existen más hombres o
mujeres por clase.
1
3

 Una de las variables que más nos interesa saber es cuál es el perfil de los
sobrevivientes, para eso se genera el código con dataframe “sobrevivientes”, con los
datos de “edad” “clase” y si es “hombre” o “mujer”. Se crea un gráfico de dispersión para
su posterior análisis, con la instrucción “ ax.scatter” y se realiza la distinción de colores y
la organización de la gráfica.
1
4
 Se visualiza que en 2° clase hubo mayor índice de supervivencia en el género femenino
con edad inferior a los 60 años y en 3° clase se registra la mayor supervivencia del genero
masculino con edad inferior a los 50 años

 Uno de los intereses es saber si quienes viajaban acompañados tienen un mayor índice
de supervivencia, y que rango etario lo componen. Para esto se genera un dataframe
“Acompañado” que tomará las columnas de “hermanos/cónyuges” y sumado a
“padres/hijos”, aplicando la función “lambda” a cada valor de las columnas y su respectiva
verificación resultando que si es mayor a “0” entonces viaja con compañía, de lo contrario,
se asume que viaja solo. Las variables “compañía_edad” y “compañía_superviviencia”
que contendrán los datos de las columnas de “Edad” y “Sobrevive”. Nuevamente se
echará mano al grafico de dispersión (scatter), ocupando el color “verde” para quienes
iban acompañados, y color rojo para quienes estaban solos.
1
5

 Se visualiza en grafica de puntos que el mayor índice de supervivencia radica en las


personas que iban acompañadas a bordo, con edad inferior a los 65 años
1
6
Se obviarán los datos de tarifas debido a que lo que nos importa es poder realizar análisis con
respecto a la supervivencia, para lograr hacer predicciones sobre los datos. Se realizará un
nuevo dataframe así que primero veremos qué cambiar

 Buscaremos organizar mejor los datos, por lo tanto, limpiaremos el dataframe, dejando
fuera algunas columnas que no necesitamos para el análisis. En este caso se utiliza la
instrucción “drop” para realizar este filtro.
1
7
 Ahora definimos las variables con datos distintos a números como opciones en formato
numérico, por ejemplo, con la instrucción “replace” se configuran las opciones de formato
para llevar desde la palabra “mujer” a “0” y desde la palabra “hombre” a “1”. Para terminar
de dejar todo el dataframe preparado se lleva el formato “float64” a “int64” con la
instrucción “astype”.
1
8
4.- Modelos

4.1.- Regresión Logística

 Generamos las variables “X” e “Y” que nos servirá para ambos modelos, donde se ve la
forma que tendrán las variables, o sea, una variable contará con una columna de 887
datos, mientras que la otra variable tendrá la misma extensión de datos pero con 4

columnas.

 El modelo de regresión logística es un algoritmo usado para clasificar dinámicamente, con


restricciones binarias. Se ocupará la library “sklearn” para realizar este método. Se crea la
variable “logreg” en donde en primera instancia se genera una instancia del objeto
“LogisticRegression” y tendrá los parámetros para predecir. Por otro lado “logreg.fit” utiliza
los datos de entrada “X_df” e “Y_df” para ajustar el modelo ante cambios en las entradas.
1
9

4.2.- Árbol de decisión

 Este modelo se empleará para contrastar el anterior que es un modelo de aprendizaje


automático, que realiza decisiones a partir de una correcta clasificación de las cuestiones
o preguntas de las variables para llegar a un resultado. En este caso se ocupará “sklearn”
con la extensión “tree” para llamar al modelo.

4.3.- Evaluación de los modelos

 Para la evaluación de los modelos propuestos se realizará una matriz de confusión para
mostrar la precisión de las predicciones.

 Desde la library “sklearn” se importa la matriz de confusión, específicamente desde el


módulo “metrics”. Esta función calculará la matriz de confusión. Se importará la biblioteca
de “matplotlib”. El argumento “modelo” estará dentro de la deficion de la función
“conf_mat_acc”. Para realizar la predicción se asigna la variable “y_pred” para predecir el
“modelo” del conjunto de características que tiene la variable “X_df”. La definición de “cm”
es el calculo de la matriz de confusión que tomará dos argumentos, uno es “Y_df” que es
la etiqueta verdadera o real, y también toma a”y_pred” que es la etiqueta donde se
asignará la predicción. “true_pred=cm[0 , 0] + cm[1 , 1]” calcula el numero de predicciones
verdaderas y como el la matriz lo exige, se suman los valores de la diagonal principal de
la matriz de confusión. Para calcular en numero total de datos, se ocupa la biblioteca de
“numpy” y se almacena en “total_data”. En “accuracy” se calcula la precisión de cada
modelo donde se realiza la división del total de los datos verdaderos predichos con el total
de datos. Posterior a eso se realizan las instrucciones para realizar la gráfica del
comportamiento de los modelos.
2
0

 Las gráficas generadas son

Regresion Logística Árbol de Decisión


2
1
4.4.- Análisis de los gráficos

 En el gráfico se refleja que, aunque la mayoría de los datos eran de un formato, se logra
tener los datos en int64 para la homogeneidad de estos para facilitar su uso posterior

 El grafico de dispersión muestra que las mujeres fueron las que tienen los índices más
altos de sobrevivencia, a pesar de que eran menos. Además, que en clase media (2) es
donde se puede ver que más se salvaron. Además, se aprecia que para las edades
tempranas en la clase media y alta (1) se dio prioridad para salvarse. Se ve un alto índice
de hombres sobrevivientes que corresponden a la clase más alta.
2
2
 Se aprecia que hay más probabilidades de sobrevivir cuando estas acompañado (verde),
que cuando estas solo (rojo). Según la gráfica quienes están con algún familiar están más
relacionados con la sobrevivencia (1) que con la no sobrevivencia (0).

 Los modelos contrastados arrojan que hay un mayor asertividad en el modelo de árbol de
decisión que tiene un accuracy de 0.89, frente a la regresión logística que tiene un 0.79. O
sea, al ocupar el modelo de árbol de decisión tendremos solo un 10% de error en una
predicción. Para leer bien la matriz debemos mirar las diagonales, en donde veremos que
para una predicción de sobrevivencia existe una realidad, que contrastada a cada modelo
nos da una idea de cual atiende mejor a la predicción. Se genera el gráfico más amigable.

También podría gustarte