Skip to content

Using linear regression to predict life expectancy with C++ implementation of least squares method

Notifications You must be signed in to change notification settings

daianalonso/life-expectancy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Análisis expectativa de vida: Métodos Numéricos DC-UBA

Instrucciones

  1. Crear un repo git en donde se bajen esto
git init
git remote add origin <nuestra-nueva-url-de-git>
  1. Bajarse los repositorios de pybind y eigen como submódulos
git submodule init
git submodule add https://github.com/eigenteam/eigen-git-mirror
git submodule add https://github.com/pybind/pybind11
git mv eigen-git-mirror eigen
# Elegimos versiones de eigen y pybind
cd pybind11/ && git checkout v2.2.4 && cd ..
cd eigen && git checkout 3.3.7 && cd ..
  1. Instalar requerimientos
pip install -r requirements.txt
  1. Descomprimir datos
cd data && gunzip *.gz && cd ..
  1. Correr Jupyter
jupyter lab

Listo!

Datos

En data/ tenemos datos preprocesados de la OMS (data/expectativa_de_vida.csv) y su descripción (data/expectativa_de_vida_descripcion.txt). Además de otros indicadores y métricas añadidos para completar los mismos.

Otros directorios

En src/ está el código de C++, en particular en src/metnum.cpp está el entry-point de pybind.

En notebooks/ está el análisis exploratorio de datos (notebooks/analisis.ipynb), los modelos de regresión que fueron probados (notebooks/modelado.ipynb) y el test de las funciones de regresión lineal (notebooks/test.ipynb)

Compilación

Ejecutar la primera celda del notebook notebooks/test.ipynb o seguir los siguientes pasos:

  • Compilar el código C++ en un módulo de python
mkdir build
cd build
rm -rf *
cmake -DPYTHON_EXECUTABLE="$(which python)" -DCMAKE_BUILD_TYPE=Release ..
  • Al ejecutar el siguiente comando se compila e instala la librería en el directorio notebooks
make install

About

Using linear regression to predict life expectancy with C++ implementation of least squares method

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages