Logo Studenta

Registro_Nutrimental

¡Este material tiene más páginas!

Vista previa del material en texto

Proyecto de ciencia de datos
Instituto Tecnológico de Estudios Superiores de
Monterrey: Campus Monterrey
Evidencia 2: Proyecto de Ciencia de Datos
Ana Paula Ramos Varela
8 de noviembre del 2022
1
Proyecto de ciencia de datos
Fase 0. Presentación e Introducción
El objetivo de este proyecto de registro nutricional fue registrar todos nuestros
alimentos diarios y lograr comprender el uso de la ciencia de datos, para este
proyecto se necesitó desarrollar un modelo matemático para poder entender que
tanto afecta el consumo de calorías a nuestra masa corporal.
En este proyecto recopilamos todos los macronutrientes de nuestros alimentos
(grasa, sodio, carbohidratos y calorías) y así podemos relacionar los
macronutrientes con las calorías.
Sabiendo estos datos nos propusimos crear un un modelo que nos ayude a predecir
la cantidad de calorías basándonos en los macronutrientes de dicho alimento.
y lograr comprobar la hipótesis inicial ¿Si consume cierta cantidad calórica, puedo
tener cambios en mi masa corporal (peso) en un determinado tiempo?
Fase 1: Entendimiento del negocio
El Cross Industry Standard process for Data Mining o también llamado CRISP-dm
es un modelo que nos proporciona una descripción del ciclo de vida de un proyecto
de análisis de datos. Este modelo abarca las fases de un proyecto, también toma en
cuenta el proceso de análisis de datos.
Cuenta con 6 fases:
- Definición de necesidades del cliente: se enfoca en la comprensión de los
objetivos del proyecto.
- Comprensión de los datos: Colección de los datos, identifica problemas,
descubre subconjuntos interesantes.
- Análisis de los datos: selección de tablas, registros y limpieza de datos.
- Modelado: se calibran parámetros, se preparan los datos, se aplican las
técnicas de modelado.
2
Proyecto de ciencia de datos
- Evaluación: Antes de finalizar el modelo es muy importante evaluarlo, es
importante determinar si un objetivo no se logró cumplir , al final se debe
tener una decisión de cómo se aplicarán los resultados.
- Despliegue: Poner el modelo en marcha.
¿Quién fue el cliente en el registro nutrimental? (descripción de las
características del cliente)
- El cliente somos nosotros mismos puesto que es nuestra información la que
estamos analizando, el cliente tiene 19 años mide 1.56 y pesa 53 kilos. sus
comidas promedio eran de 4 al día.
¿Qué problemas se estaba tratando de resolver o identificar a través del
registro nutrimental?
- Estamos tratando de identificar la relación entre calorías y masa corporal
guiándonos de nuestros datos nutrimentales.
Fase 2. Entendimiento de los datos
¿Qué tipos de datos se necesitaron?
- Usamos datos cuantitativos como la cantidad de carbohidratos, grasa,
cantidad de sodio y calorías de nuestros alimentos diarios que registramos en
nuestra base de datos, Algunos datos cualitativos como el nombre de los
alimentos que se consumieron en estas 5 semanas. Otros datos que se
agregaron fue la fecha de consumo pero esta última no era tan relevante para
nuestra investigación.
-
¿De dónde se obtuvieron los datos?
- Los datos se obtuvieron de nuestra base de datos, que básicamente fue
información de todos los macronutrientes de nuestros alimentos diarios.
Era una tabla de excel que fue llenada en el periodo establecido.
¿Los datos registrados fueron adecuados para hacer el análisis ANOVA (en
excel) y el de regresión (en python)?
3
Proyecto de ciencia de datos
- los datos cuantitativos que usamos si fueron adecuados ya que tenían una
confiabilidad de más del 95%, como la r es alta nuestros datos son
adecuados para este proyecto
Fase 3. Preparación de los datos
¿Qué ajustes se tuvieron que hacer a los datos (agregar datos, integrar datos,
modificar datos (remover o eliminar información), ordenar, etc. para poder
realizar el análisis de los mismos?
Nos tuvimos que cerciorarse que no hubiera datos en blanco pues nos iba a arrojar
un error, también ordenamos los datos en una tabla para un mayor entendimiento y
organización, nos aseguramos que todos los datos estuvieran en la misma medida
de masa, con estas modificaciones nos aseguramos que el proyecto salga a la
perfección.
Fase 4. Modelación de los datos
import pandas as pd
datos_consumo = pd.read_excel('/registro nutricional final.xlsx')
datos_consumo.head()
datos_consumo.groupby("Momento").count()
datos_consumo.describe()
datos_seleccionados = datos_consumo.iloc[:,3:8]
datos_seleccionados
datos_seleccionados.info()
datos_seleccionados.isnull().values.any()
dataset = datos_seleccionados.dropna()
dataset.isnull().sum()
dataset.columns
X = dataset[['Carbohidratos (g)','Lípidos/grasas (g)', 'Proteína (g)',
'Sodio (mg)']].values
y = dataset['Calorías (kcal)'].values
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y,
test_size=0.2, random_state=0)
from sklearn.linear_model import LinearRegression
modelo_regresion = LinearRegression()
modelo_regresion.fit(X_train, y_train)
4
Proyecto de ciencia de datos
x_columns=['Carbohidratos (g)', 'Lípidos/grasas (g)', 'Proteína (g)',
'Sodio (mg)']
coeff_df = pd.DataFrame(modelo_regresion.coef_, x_columns,
columns=['Coeficientes'])
coeff_df
y_pred = modelo_regresion.predict(X_test)
validacion = pd.DataFrame({'Actual': y_test, 'Predicción': y_pred,
'Diferencia': y_test-y_pred})
muestra_validacion = validacion.head(25)
muestra_validacion
validacion["Diferencia"].describe()
from sklearn.metrics import r2_score
r2_score(y_test, y_pred)
import matplotlib.pyplot as plt
muestra_validacion.plot.bar(rot=0)
plt.title("Comparación de calorías actuales y de predicción")
plt.xlabel("Muestra de alimentos")
plt.ylabel("Cantidad de calorías")
plt.show()
5
Proyecto de ciencia de datos
Estadistica descriptiva:
Podemos ver que nos arroja estadisticas relevantes como cantidad de datos (179) el
promedio, la desviación estandar, el min y max, etc. esta nos esta dando la
información primordial para nuestros datos.
6
Proyecto de ciencia de datos
7
Proyecto de ciencia de datos
8
Proyecto de ciencia de datos
Coeficientes de regresión:
Aqui nos arroja los coeficientes de nuestros macronutrientes, lo que nos dicen estos
es el impacto que tiene los macronutrientes sobre nuestra variable de salida. Nos
damos cuenta que la más relevante son los lípidos y grasa, y el sodio no tiene
mucha relevancia.
Valores actuales y predicción:
Aqui podemos ver una clara comparación entre los valores reales y la predicción, si
prestamos atención podemos ver que la diferencia entre ellos es muy poca, lo que
nos da a entender que el modelo es confiable. en el renglón 2 vemos una diferencia
enorme el cual afecta la credibilidad.
9
Proyecto de ciencia de datos
Coeficiente determinación r2:
La r2 debería ser positiva y alta, por alguna razón a nosotros nos da negativa, me
parece que es por la alta diferencia entre el valor actual y la predicción que se
obtuvo en uno de los criterios de arriba.
10
Proyecto de ciencia de datos
Gráfica:
La gráfica nos muestra la precisión de nuestro modelo, compara el valor actual con
la predicción, vemos que de igual manera todos los valores son muy parecidos
excepto por el valor 2, dónde se ve una clara diferencia y nos hace dudar de la
confiabilidad del modelo.
Funcionamiento del programa:
Primero fue necesario traer de la libreria el SciKit-Learn la clase de regresion lineal
con el proposito de tener una variable con la cual trabajar. Es necesario que nuestro
modelo pueda “estudiar” nuestros datos e spor eso que usamos el comando fit().
Una vez teniendo esp podemos usar el comando predict() para probarlo con el
conjunto de datos que hay. En este punto ya podemos usar describe() este nos
arroja la estadistica descriptiva de ña diferencia entre los valores actuales y la
predicción que nos da el modelo.
11
Proyecto de ciencia de datos
Ahora es moemnto de establecer si nuestro modelo es confiable o no, buscamos
que nuestra r2 seacercana a 1. Para finalizar con el programa debemos graficar la
diferencia entre valor actual y la predicción del módelo, para esto será necesario
usar la librería de matplotlib, con el comando plot.bar() podemos generar los
gráficos con nuestra base de datos, será necesario aclarar nuestra X y Y, así como
el título, para que nuestra grafica se pueda ver usaremoss el comando show().
Conclusión:
La hipotesis actual es ¿Si consumo cierta cantidad calórica, puedo tener cambios en
mi masa corporal (peso) en un determinado tiempo? En este caso acepto la
hipotesis ya que se puede ver que se están consumiendo más calorías de lo
recomendado, al consumir más calorías de las que quemas nos da un resultado de
tener una mayor masa corporal, y viceversa. Asi que si se consumen cierta cantidad
de calorías en un determinado tiempo, se notarán cambios en el peso.
Comparación:
12
Proyecto de ciencia de datos
En lo personal prefiero los resultados que arroja Excel, e sun formato mucho más
organizado y entendible que el que nos muestra Google Colab, de igual manera
Excel nos provee más datos como la suma, varianza, rango, entre otros.
Aunque los dos resultados nos dan la estadistica descriptiva que necesitamos, yo
sin duda me quedo con los resultados de Excel
Google Colab:
https://colab.research.google.com/drive/1uzxDBUYxJM80mqrzRRy7BLtOe2AAuMdx
?usp=sharing
13
Proyecto de ciencia de datos
Referencias:
¿Qué es el análisis de datos? Procesos y ejemplos | Alteryx. (s. f.).
https://www.alteryx.com/es-419/glossary/data-analytics
Minitab Blog Editor. (s. f.). Análisis de Regresión: ¿Cómo Puedo Interpretar el
R-cuadrado y Evaluar la Bondad de Ajuste?
https://blog.minitab.com/es/analisis-de-regresion-como-puedo-interpretar-el-r-
cuadrado-y-evaluar-la-bondad-de-ajuste
https:\/\/www.aprendemachinelearning.com\/author\/user\/#author. (2018, 12
mayo). Ejemplo Regresión Lineal Python. Aprende Machine Learning.
https://www.aprendemachinelearning.com/regresion-lineal-en-espanol-con-pyt
hon/
14
https://www.alteryx.com/es-419/glossary/data-analytics
https://blog.minitab.com/es/analisis-de-regresion-como-puedo-interpretar-el-r-cuadrado-y-evaluar-la-bondad-de-ajuste
https://blog.minitab.com/es/analisis-de-regresion-como-puedo-interpretar-el-r-cuadrado-y-evaluar-la-bondad-de-ajuste
https://www.aprendemachinelearning.com/regresion-lineal-en-espanol-con-python/
https://www.aprendemachinelearning.com/regresion-lineal-en-espanol-con-python/

Continuar navegando