Programación en Octave
Si han tenido oportunidad de seguir este blog, en un post anterior platicamos acerca de Inteligencia Artificial un curso que estoy tomando en Machine Learning y que una de las herramientas utilizadas es el curso es Octave que es similar "Open free "de Matlab.
Octave es un lenguaje de programación para conocer y entender datos, es decir es un software que nos facilita el crear gráficas, realizar operaciones matemáticas simples y complejas, operaciones de álgebra lineal.
¿Que podemos hacer con Octave?
Como por ejemplo podemos hacer análisis de capacidad en lineas de producción por medio de datos de numero de piezas producidas entre el total de tiempo ejecutado. Podemos realizar Revisión de Errores en monto contables. Podemos graficar la curva de venta de algún producto. Podemos hacer cálculos para BigData complejos creando nuestras propias funciones. Podemos analizar los datos de nuestros pacientes en un laboratorio medico para conocer cuales son las pruebas más recurrentes o Cual son las menos y debemos promocionar más.Claro que me dirán esto también lo puedo hacer en Excel, pero si la cantidad de datos es muy grande, necesitan funciones matemáticas complejas o que no tiene Excel entonces es momento de utilizar herramientas como Octave.
Se puede instalar en Linux, Mac, Windows, la liga para descargarlo es https://www.gnu.org/software/octave/#install
Una vez que lo tengan instalado, pueden realizar algunas funciones como son:
- Leer datos de un archivo con el comando
- Crear matrices con datos aleatorios
- Crear gráficas
- Realizar operaciones con Matrices
- Utilizar funciones para resolver sistemas de ecuaciones
Para ello podemos hacerlo por comando individuales o podemos hacerlo en un programa.
Primero vamos a cargar unos datos de una tabla que tengo con características de post de este blog y cuales les ha ido bien y cuales no
Pase los datos a un archivo de texto con las columnas separadas por comasAhora vamos a ver el programa en Octave
%cargar datos printf("bienvenido al ejemplo");data = load('datablog.txt');%cargar datos en matriz 5 con las característicasX = data(:, [1,2,3,4,5]); [m, n] = size(X);%cargar datos de resultado en y y = data(:, 6);figure; hold on;pos = find(y==1); neg = find(y == 0);%graficarplot(X(pos, 1), X(pos, 2), 'k+','LineWidth', 2, 'MarkerSize', 7);
plot(X(neg, 1), X(neg, 2), 'ko', 'MarkerFaceColor', 'y','MarkerSize', 7);xlabel('Caracteristicas');ylabel('Resultados');%crear un vector con 5 datos y cerosZ = zeros(5, 1);%crear una matriz de 4 filas x 3 columnas con datos aleatoriosR = rand(m,n);%multiplicar 2 matricesCal = R.*X;%sumar 2 matricesSum = X + Cal;%resolver sistema de ecuacionesResolveEcu = linsolve(X, y);plot(ResolveEcu,y);
Las pantallas de salida en Octave
Tener este tipo de herramienta nos permite analizar datos y estos poder entenderlos y generar soluciones de raíz a problemas, crear nuevas ideas para proyectos de mejoras, nos permite saber cómo enfocar nuestros recursos, esto me recuerda a la pirámide del conocimiento.
Les comparto otros enlaces donde pueden encontrar información de Octave o cursos
%cargar datos
printf("bienvenido al ejemplo");
data = load('datablog.txt');
%cargar datos en matriz 5 con las características
X = data(:, [1,2,3,4,5]);
[m, n] = size(X);
%cargar datos de resultado en y
y = data(:, 6);
figure; hold on;
pos = find(y==1); neg = find(y == 0);
%graficar
plot(X(pos, 1), X(pos, 2), 'k+','LineWidth', 2, 'MarkerSize', 7);
plot(X(neg, 1), X(neg, 2), 'ko', 'MarkerFaceColor', 'y','MarkerSize', 7);
xlabel('Caracteristicas');
ylabel('Resultados');
%crear un vector con 5 datos y ceros
Z = zeros(5, 1);
%crear una matriz de 4 filas x 3 columnas con datos aleatorios
R = rand(m,n);
%multiplicar 2 matrices
Cal = R.*X;
%sumar 2 matrices
Sum = X + Cal;
%resolver sistema de ecuaciones
ResolveEcu = linsolve(X, y);
plot(ResolveEcu,y);
Las pantallas de salida en Octave
Tener este tipo de herramienta nos permite analizar datos y estos poder entenderlos y generar soluciones de raíz a problemas, crear nuevas ideas para proyectos de mejoras, nos permite saber cómo enfocar nuestros recursos, esto me recuerda a la pirámide del conocimiento.
Les comparto otros enlaces donde pueden encontrar información de Octave o cursos
Comentarios
Publicar un comentario