sábado, 23 de noviembre de 2019

Modelo Conceptual de Datos, PowerDesigner.

Un Modelo Conceptual de Datos (CDM) representa la estructura de una base de datos,independiente de cualquier software o estructura de almacenamiento de datos. Describe entidades (cosas de importancia para una organización) y sus identificadores y otros atributos, junto con las relaciones y las herencias que los conectan.

En el siguiente diagrama conceptual, las entidades de Maestro y Estudiante heredan atributos de la entidad padre persona. Las dos entidades secundarias están vinculadas con una relación de uno a muchos (un maestro tiene varios estudiantes pero cada  estudiante tiene solo un maestro principal). 

Modelo Conceptual de Datos


Podemos ampliar el esquema anterior añadiendo asignaturas y lecciones, un profesor puede impartir una o varias asignaturas, cada asignatura está compuesta por varias lecciones. Los alumnos se inscriben en una o varias asignaturas y asisten a cero o varias lecciones.

Las cardinalidades quedarían de este forma:

Un maestro puede enseñar varias materias y un tema puede ser enseñado por varios maestros (muchos a muchos).

Un maestro puede enseñar varias lecciones y una lección es enseñada por una sola profesor (uno a muchos).

Un estudiante asiste a múltiples lecciones y una lección es seguida por múltiples estudiantes (muchos a muchos).

Un estudiante estudia múltiples materias y un tema puede ser estudiado por estudiantes múltiples (muchos a muchos). 

Con estas nuevas especificaciones, el nuevo modelo conceptual quedaría como el mostrado en la figura inferior.

Modelo Conceptual de Datos, PowerDesigner.


Objetos del modelo conceptual


A continuación se listan los objetos utilizados en un modelo conceptual y sus respectivos símbolos.


Objeto
Símbolo
Descripción
Dominio
No tiene
Rango de valores en los que dicho valor es válido.
Dato
No tiene
Pieza elemental de información.
Entidad








Persona, lugar, cosa o concepto que es relevante para el negocio.
Atributo de entidad
No tiene
Pieza elemental de información asociada a una entidad.
Identificador
No tiene
Uno o más atributos de entidad, cuyos valores identifican de manera única
cada ocurrencia de la entidad.
Relación
Conexión o relación con nombre entre entidades  (metodología ER de modelización).

Herencia
Relación que define una
entidad como caso especial de una entidad más general.

  
Asociación






Conexión o asociación con nombre entre entidades.

Enlace de Asociación
No tiene
Contacto que conecta una asociación a una entidad.


Crear un diagrama conceptual con PowerDesigner

Podemos crear un diagrama conceptual en PowerDesigner Haciendo click en File → New Model

PowerDesigner NewModel


Aparece un cuadro de diálogo donde en Model Types seleccionamos Conceptual Data Model

Conceptual Data Model Power Designer

Al pulsar Ok nos aparece la pantalla del modelo en blanco, en el panel de la derecha aparecen los símbolos que podemos añadir a nuestro modelo.

Conceptual Data Model Power Designer

Ahora podemos crear nuestro modelo eligiendo objetos del panel derecho y arrastrándolos hacia el panel central. Los objetos principales serán las entidades y las relaciones entre estas. Para colocar una entidad arrastramos y hacemos click sobre la parte del diagrama donde deseamos ponerla.  Si arrastramos una relación sobre una entidad y hacemos doble click, genera una relación sobre ella misma (relación 1) , si pinchamos sobre una entidad y arrastramos a una segunda entidad, generamos una relación entre ambas. (relación 2).


Relaciones entre tablas en un modelo conceptual.

Cuando terminemos nuestro diagrama conceptual, lo guardamos  con file → Save  o Save as... como un archivo de tipo .cdm.

Guardar modelo conceptual PowerDesigner


sábado, 9 de noviembre de 2019

Photoshop: poner un sol artificial en una foto

Hay veces que un sol queda mucho mejor en una foto, siempre y cuando esté en la posición adecuada y la foto esté hecha de forma correcta. Sin embargo no siempre está presente el sol en nuestra foto.

Photoshop: poner un sol artificial en una foto
Bosque encantado. Para ver más fotos como esta, haz click aquí

sábado, 2 de noviembre de 2019

Como instalar la red neuronal Microsoft Cognitive Toolkit (CNTK)


Microsoft Cognitive Toolkit, anteriormente conocida como CNTK, es un kit de herramientas de código abierto para el aprendizaje profundo distribuido de grado comercial. CNTK permite al usuario realizar y combinar fácilmente tipos de modelos, como DNN, redes neuronales convolucionales (CNN) y redes neuronales recurrentes (RNN / LSTM). CNTK implementa el descenso de gradiente estocástico (SGD, retro-propagación de error) aprendiendo con diferenciación automática y paralelización en múltiples GPU y servidores.
Permite aprovechar la inteligencia artificial dentro de conjuntos de datos masivos a través del aprendizaje profundo al proporcionar escalas, velocidad y precisión con calidad comercial y compatibilidad con los lenguajes de programación y algoritmos que ya usa. 
Para comenzar he creado una máquina virtual grande  (Hice una prueba con 30 Gb y me quedé sin disco nada más empezar ahora he puesto 90 Gb) y Windows 2008 Server.
La instalación automática me dio este error:

Como instalar la red neuronal  Microsoft Cognitive Toolkit (CNTK)

sábado, 19 de octubre de 2019

Ecualizar una imagen con Python

Introducción


Python es un lenguaje de programación interpretado con una sintaxis que favorece un código legible. Soporta orientación a objetos, programación imperativa y, en menor medida, programación funcional. También posee licencia de código abierto. 
Una de sus grandes virtudes es la posibilidad de automatizar procesos que se hacen de manera mecánica. Reducirlos a unas líneas de código que podremos insertar donde necesitemos, ahorrando mucho tiempo que podremos aprovechar para otras tareas más interesantes.

Dentro de los lenguajes de programación, Python destaca por su sencillez, legibilidad y precisión de sintaxis. Es un lenguaje de muy alto nivel, por lo que con pocas líneas de código es posible programar tareas bastante complejas. Este lenguaje es práctico en cuanto  al uso del código.
 En este ejemplo de utilización de Python ecualizaremos una imagen con unas pocas líneas de código.
La ecualización del histograma de una imagen es una transformación para obtener un histograma con una distribución uniforme. Es decir, que exista el mismo número de pixels para cada nivel de color del histograma 
El resultado de la ecualización maximiza el contraste de una imagen sin perder información.
Antes de nada nos descargaremos a nuestro equipo Anaconda, que es una distribución gratuita y de código abierto de los lenguajes de programación Python y R para aplicaciones relacionadas con ciencia de datos y aprendizaje automático. 

Pasos prácticos


Descargamos anaconda de 


Una vez instalado Anaconda veremos una pantalla similar a esta.

Panel de entrada de Anaconda

sábado, 12 de octubre de 2019

Un primer proyecto de Machine Learning con Python paso a paso, el “Hola Mundo”

En este artículo vamos a realizar un proyecto de Machine Learning con Python. Prepararemos datos con pandas, ajustaremos y evaluaremos modelos con scikit-learn La mejor manera de aprender el aprendizaje automático es diseñando y completando pequeños proyectos. Python puede ser intimidante al principio, es un lenguaje interpretado popular y potente. A diferencia de R, Python es un lenguaje completo y una plataforma que se puede usar tanto para investigación como desarrollo y de sistemas de producción.

Un primer proyecto de Machine Learning con Python paso a paso, el “Hola Mundo”
Mujer trabajando en un CPD
También hay muchos módulos y bibliotecas para elegir, que ofrecen múltiples formas de realizar cada tarea. Podemos sentirnos abrumados. La mejor manera de comenzar a usar Python en ML (Machine Learning) es realizar un proyecto completo.

Un proyecto de ML  puede no ser lineal, pero tiene varios pasos bien conocidos:

1. Definición del problema
2. Preparar datos
3. Evaluar algoritmos
4. Mejorar los resultados
5. Muestra de Resultados

Con esto, tendremos una plantilla para utilizar en proyectos sucesivos.

sábado, 5 de octubre de 2019

Primeros pasos con Oracle SQL Developer

Acerca de SQL Developer


Oracle SQL Developer es un entorno de desarrollo integrado (IDE) para trabajar con SQL sobre bases de datos Oracle. Oracle ofrece este producto gratis. Oracle SQL Developer admite pestañas automáticas, información del código, coincidencia de corchetes y coloreado de sintaxis para PL / SQL. 

Oracle SQL Developer es una aplicación gráfica útil para realizar tareas básicas de exploración, creación, edición y eliminación de objetos de una base de datos; ejecuta sentencias y scripts SQL; edita y depura código PL/ SQL; también manipula y exporta (descargar datos; y visualiza y crea informes.
Lo podemos descargar en la página de Oracle SQL developer. Se conecta utilizando la autenticación estándar de Oracle. Una vez conectado, permite realizar operaciones sobre objetos en la base de datos.

También permite conectarse a esquemas de MySQL y bases de datos de terceros (que no sean Oracle), como Microsoft SQL Server, Sybase Adaptive Server, Microsoft Access e IBM DB2. Permite ver metadatos y datos en estas bases de datos; y migrar de datos desde las bases de datos anteriormente descritas hasta Oracle. 

Interfaz de usuario de SQL Developer


La ventana de SQL Developer generalmente utiliza el lado izquierdo para la navegación para buscar y seleccionar objetos, y el lado derecho para mostrar información sobre los objetos seleccionados.

La figura muestra la ventana principal:

Primeros pasos con Oracle SQL Developer