En el Cesga con los puntos siguientes a tratar, mas info aquí.

TEMARIO para los días 15, 16, 17 y 18 de enero  de 2018 en horario de 10:00h a 14:00h.

Día 1

1. Trabajando con DataFrames en PySpark

  • Creación de DataFrames
  • Operaciones básicas
  • Filtrado, ordenación y agrupamiento
  • Funciones escalares, agregados y de ventana
  • Funciones definidas por el usuario
  • Uso de SQL

2. Análisis Exploratorio de Datos y Visualización con DataFrames

  • Preparación de datos
  • Extracción de características
  • Características derivadas y textuales
  • Normalización de características

Día 2:

3. Estadística computacional para análisis de datos

  • Estimadores puntuales
  • Distribuciones de datos
  • Valores extremos
  • Riesgo relativo
  • Probabilidad condicional
  • Estimación

Día 3:

4. Inferencia Estadística

  • Variabilidad de los estimadores
  • Intervalos de confianza
  • Contraste de hipótesis

5. Visualización con Matplotlib

  • Tipos de gráficas
  • Histogramas
  • Diagramas de cajas
  • Gráficos de superficies
  • Gráficos de puntos dispersos y hexagonales
  • Gráficos de tartas
  • Otras herramientas

Día 4:

6. Introducción a Machine Learning

  • Aprendizaje supervisado
  • Aprendizaje no supervisado
  • Regresión lineal
  • Modelos de clasificación en Spark
  • Regresión logística, SVMs lineales, Naive Bayes, Árboles de decisión
  • Spark MLib: Extracción, transformación y selección de características, análisis de componentes principales, clasificación y regresión, árboles de decisión, random forest, clasificación 1 vs Rest, Naive Bayes, regresión lineal, aprendizaje no supervisado

Me da bastante pereza instalar maquinas virtuales y sobre todo tener que probar mis ejecutables en linux, que son bastante básicos por ahora, risas, pero espero a ver si voy avanzando.

Lo primero que vemos al ir a la página de Eclipse es que existe una version Parallel Application Developers ( eclipse-parallel-neon-R-win32-x86_64.zip) pero al instarla veo que no es tan fácil como pensaba y necesitamos un compilador, iluso de mí xD.

Para eso siguiendo esta guía he usado Cygwin GCC. En esencia la instalamos seleccionando los paquetes “gcc”, “g++”, “gdb”, y”make” bajo “Devel”, que no vienen por por defecto en la instalación. Otra guía te compila estos paquetes pero no es necesario, salvo que necesites alguna versión que no tengas. Luego es necesario añadir a variables de entorno la ruta: “PATH” ? Edit ? Add “C:\cygwin64\bin. O donde lo hayamos instalado.

Luego si no tenemos instado el paquete anterior de eclipse lo hacemos y debería ir sin problema. Para realizar nuestro primer proyecto hacemos File > C Proyect > OpenMP Empty Proyect y en Toolchain nos debería aparecer ya la posibilidad de Cygwin GCC, que nos permitirá mas adelante seleccionar las distintas configuraciones que antes no podíamos sin instalar Cygwin GCC.

Creamos un archivo en C, y colocamos lo siguiente en honor a PI para probar que todo va como debería:

/*

* Calculate $\pi = 4 \int_0^1 \sqrt{1 – x^2} \, dx$
* using a rectangle rule $\sum_{i=1}^N f(x_0 + i h – h/2) h$
*
* Compile as $> gcc -Wall -Wextra -fopenmp -lm
* Run as $> OMP_NUM_THREADS=2 ./a.out
*/
#include <stdio.h>
#include <math.h>
#include <omp.h>

int main()
{
const int N = 10000000;
const double L = 1.0;
const double h = L / N;
const double x_0 = 0.0;

double pi;
double t_1, t_2;

int i;
double sum = 0.0;

t_1 = omp_get_wtime();

#pragma omp parallel for reduction(+: sum) schedule(static)
for (i = 0; i < N; ++i)
{
double x = x_0 + i * h + h/2;
sum += sqrt(1 – x*x);
}

t_2 = omp_get_wtime();

pi = sum * h * 4.0;

printf(“omp_get_max_threads(): %d\n”, omp_get_max_threads());
printf(“time: %f\n”, t_2 – t_1);
printf(“pi ~ %f\n”, pi);

return 0;
}

Luego Build All y Run según la configuración que hayamos puesto. Y obtenemos por ejemplo:

omp_get_max_threads(): 4
time: 1.145202
pi ~ 3.141593

 

Me quedo con el tamaño de los procesadores de Apple y que para mantener el ritmo hay que mirar al mundo de los servidores donde Intel tiene como competencia a si mismo. A ver si con Zen se anima el asunto. De entrada el anuncio de 6 núcleos para el 2018 con Coffee Lake creo que es mas por competencia interna, casi no vemos i5 de serie 2xxx en adelante a buen precio después de todo este tiempo.

Lo ideal sería ver chips a 20 Ghz hechos con otra tecnología y mismo nivel de integración, o simplemente poner varios chips trabajando a frecuencias moderadas en una misma placa base, que esta fuera mantenida durante al menos 10 años y estuviera pensada para ser ampliada por todos lados.

 

mooreslaw_visualized
Fuente: http://www.dvhardware.net/article64833.html