SAOS

Consultores estratégicos en Ciencia de Datos

SINDROME DE APNEA OBSTRUCTIVA DEL SUEÑO Y TUMORES RENALES

un EJERCICIO DE INTELIGENCIA ARTIFICIAL y machine learning

El Presente experimento utiliza un modelo de Inteligencia Artificial derivado del algoritmo ID3 de aprendizaje supervisado que se utiliza para predecir fenómenos en muchos ámbitos. Funciona como un modelo de clasificación, capaz de tomar decisiones con gran precisión. Se basa en diagramas de construcciones lógicas, similares a los sistemas de predicción que utilizan reglas. Es también conocido como algoritmo de “inducción mediante árboles de decisión” y fué desarrollado por J. Ross Quinlan. Se utiliza en la búsqueda de hipótesis, dado un conjunto de ejemplos. En este tipo de algoritmo: Tenemos una variable objetivo (dependiente) y nuestra meta es obtener esa función que nos permita predecir, a partir de las variables independientes, el valor de esa variable objetivo para los casos desconocidos.

En este caso en particular el algoritmo nos ayudaría a predecir si pacientes con tumores renales y con otras cacterísticas y condiciones de morbilidad particulares presentan una relación estrecha con el Sindrome de Apnea Obstructiva del sueño.

En este caso,  el sistema preguntará por varias condiciones asociadas para conformar un perfíl del paciente que luego compartaá contra los casos de paciehtes previos .   Responda una a una las variables y al final con el conjunto de datos disponibles el algoritmo pasará por un proceso de Machine Learning donde se entrenará o mas bien “aprenderá” de otros casos similares .  Luego pasará por la fase “predictiva” en donde con la información aprendida podría predecir con mucha precisión el tipo de SAOS que el paciente tiene o podria llegara tener.

Mujer
Hombre Si
No
Exfumador
No consta Si
No
No consta Si
No
No consta Si
No
No consta

 

Joven
Edad productiva
Adulto
Adulto mayor

Cargar datos…

Predicción de Machine Learning

El presente experimento ha utilizado un conjunto de aplicaciones informáaticas y programas en varios lengajes tales como Python, PHP, Curl, JAVA y AJAX y  se ejecutó sobre una plataforma Anaconda para Linux.

Se agradece la importante ayuda y participación de: Juan Ignacio Baignato, Freddy Piedra Salazar  y Alonso Salazar y Juan Ignacio Barrios.

Barcelona, 2019.

 

header(“Access-Control-Allow-Origin: *”);

function replace_string_in_file($filename, $string_to_replace, $replace_with){

$content=file_get_contents($filename);
$content_chunks=explode($string_to_replace, $content);
$content=implode($replace_with, $content_chunks);
file_put_contents($filename, $content);
return;
}

function wrk_ipynb_file($filename) {
$new_filename = uniqidReal() . “.ipynb”;
$content=file_get_contents($filename);
//$content_chunks=explode($string_to_replace, $content);
//$content=implode($replace_with, $content_chunks);
file_put_contents($new_filename, $content);
return $new_filename;
}

function uniqidReal($lenght = 13) {
// uniqid gives 13 chars, but you could adjust it to your needs.
if (function_exists(“random_bytes”)) {
$bytes = random_bytes(ceil($lenght / 2));
} elseif (function_exists(“openssl_random_pseudo_bytes”)) {
$bytes = openssl_random_pseudo_bytes(ceil($lenght / 2));
} else {
throw new Exception(“no cryptographically secure random function available”);
}
return substr(bin2hex($bytes), 0, $lenght);
}

$parameters = $_POST[“parameters”];

$saosTemplate = “/home/metales/www/www/anaconda/saosTemplate.ipynb”;

$wrkSaosFile = wrk_ipynb_file($saosTemplate);

$string_to_replace = “%my_parameters%”;
$replace_with = $parameters;
$new_filename = replace_string_in_file($wrkSaosFile, $string_to_replace, $replace_with);

$string_to_replace = “%my_filename%”;
$replace_with = $wrkSaosFile . “.txt”;
$new_filename = replace_string_in_file($wrkSaosFile, $string_to_replace, $replace_with);

//$procesos = exec(‘./trigger.sh’);
//$procesos = exec(‘LD_PRELOAD=/opt/anaconda/lib/libmkl_core.so python -c \’import sklearn.linear_model.tests.test_randomized_l1\”);
$procesos = exec(‘run_jnb saosN.ipynb -m true -a “{\”my_parameters\”:\”2,3,2,2,1,4\”}” -vvv’);

echo $procesos;
?>