Contenido


Compile una aplicación de minería utilizando Java, Weka y el servicio dashDB

Añada una base de datos de depósito y herramientas analíticas a su aplicación en IBM Cloud

Comments

Como científicos de datos del grupo de analítica del cliente en nuestra empresa proveedora de servicios inalámbricos, deseamos aprovechar los datos del cliente para prever la rotación de clientes. La retención de clientes es un desafío crítico para la industria de las telecomunicaciones, donde la rotación anual de clientes puede llegar a alcanzar el 40 por ciento. Si podemos prever qué clientes están en peligro de movimiento, nuestra empresa puede tomar medidas para retenerlos antes de que lleven su negocio a otra parte. Incluso una pequeña reducción en la rotación de clientes puede tener un impacto significativo en nuestro rendimiento final.

Decidimos crear una aplicación web rápida que podamos mejorar con el tiempo. Nuestra aplicación utiliza el código para un algoritmo de clasificación que desarrollamos en el lenguaje Java™ utilizando Weka, una herramienta de aprendizaje automático de código abierto. En IBM Cloud, podemos implementar nuestra aplicación Java y aprovechar el servicio dashDB (antes conocido como servicio Analytics Warehouse y servicio BLU Acceleration) para realizar el análisis de los datos del cliente. Este servicio ofrece rendimiento, así como escala empresarial si decidimos hacer crecer nuestro modelo o mejorar la aplicación para que realice tipos adicionales de análisis en nuestros datos. Por último, elegimos Twitter Bootstrap como infraestructura de desarrollo web porque ofrece la flexibilidad de una interfaz web mobile first y puede adaptarse fácilmente a la gran variedad de dispositivos y navegadores que usan nuestros analistas.

Aprenda a construir una aplicación similar en IBM Cloud. Suponemos que usted tiene el código necesario para su aplicación y brindamos el código y los datos de la aplicación como muestra para ayudarlo a iniciarse.

Ejecute la aplicaciónObtenga el código

Lo que necesitará para crear una aplicación similar

  • Familiaridad con el desarrollo de la aplicación Java
  • Familiaridad con una infraestructura front-end moderna, como Twitter Bootstrap
  • Conocimiento de una herramienta de análisis estadístico, como Weka o R

Paso 1. Creación de la aplicación en IBM Cloud

Regístrese en IBM Cloud.

Screen capture of IBM Cloud log in screen
Screen capture of IBM Cloud log in screen

En la página Dashboard, haga clic en Add an application.

En este ejemplo, creará una aplicación Java. En Runtimes, seleccione .java liberty (Liberty for Java).

En la ventana emergente, haga clic en CREATE APP.

En la siguiente ventana emergente, complete con el nombre de la aplicación y el host, luego haga clic en CREATE.

Screen capture of Create application dialog
Screen capture of Create application dialog

IBM Cloud crea la aplicación en su espacio de trabajo e inicia el tiempo de ejecución de Java. Usted sabrá cuándo la aplicación se inicia correctamente mediante la confirmación que se muestra en el panel de control.

Screen capture of the confirmation of application creation
Screen capture of the confirmation of application creation

Paso 2. Creación del servicio dashDB .

Seleccione la aplicación que creó desde el panel de control para ir a su página de descripción general.

Haga clic en Add new service en la sección Services de esa página.

Screen capture of adding a new service
Screen capture of adding a new service

Seleccione dashDB como el servicio a añadir.

Una ventana emergente aparece con más información sobre el servicio. Haga clic en ADD TO APPLICATION y CREATE en la siguiente ventana emergente.

Screen capture of Create service instance dialog
Screen capture of Create service instance dialog

Paso 3. Exploración del servicio dashDB (opcional)

El servicio brinda varias herramientas de análisis de datos desde su consola web, incluida la carga y consulta de datos, análisis de datos mediante el uso de R o Excel®, presentación de informes con Cognos y modelos de la industria que ayudan con casos de uso comunes y específicos de la industria. Vale la pena explorar este conjunto impresionante de herramientas disponibles para futuros proyectos.

En la página de descripción general de la aplicación, seleccione el servicio dashDB .

Screen capture of the application overview page
Screen capture of the application overview page

En la siguiente página, haga clic en Launch the console.

Aparece una ventana nueva con la consola web. Puede hacer diversas cosas aquí, incluso cargar archivos de datos en la base de datos y analizar sus datos con R.

Screen capture of the web console
Screen capture of the web console

Paso 4. Carga de los datos en dashDB (opcional)

El conjunto de datos de muestra ya está disponible en dashDB. Sin embargo, puede utilizar sus propios datos. Para cargar datos:

  1. En la consola web de dashDB, haga clic en la pestaña Manage , luego seleccione Load Data.
  2. Cargaremos datos desde un archivo CSV. En la pantalla Quick load seleccione el archivo para cargar. Mantenga todos los valores predeterminados y haga clic en Load File. Screen capture of loading data
    Screen capture of loading data
  3. Después de ver la vista previa de la tabla, haga clic en Next.
  4. En la pantalla Choose the target seleccione Create a new table and load. Haga clic en Next.
  5. Cambie el campo Table name a churntrainingset. Puede elegir otro nombre de tabla pero recuerde actualizar el código. Para la columna churn , cambie el Data type a VARCHAR. Todas las demás columnas pueden conservar los valores predeterminados. Haga clic en Finish.
  6. Debe ver el mensaje de que se realizó correctamente. Los datos deben estar cargados.

Paso 5. Descarga del código

Si todavía no lo hizo, obtenga el código.

Seleccione EDIT CODE. Después de iniciar sesión, verá el código.

Haga clic en File > Export > Zip para descargar el código en su máquina.

Paso 6. Explicación del código

La aplicación de muestra consta de estos componentes:

  • El FileLocationContextListener crea una carpeta para la carga de archivos en el servidor.
  • Si el usuario selecciona la base de datos para cargar el conjunto de capacitación para el modelo, los detalles introducidos se usan para cargar datos en un objeto Instances como TrainingSet. Este TrainingSet se usa luego para crear el modelo NaiveBayes. Como alternativa, se usa la tabla de la base de datos predeterminada para crear el modelo.
  • El usuario puede cargar un archivo CSV como conjunto de prueba. El archivo se carga en la carpeta creada antes en el servidor.
  • Weka funciona con archivos Attribute-Relation File Format (ARFF) como formato de archivo, incluidos los atributos y los conjuntos de datos que requiere. CSV2ARFF.java es una utilidad independiente que convierte el archivo CSV a archivo ARFF almacenado en la misma carpeta del servidor.
  • El archivo ARFF luego se carga en un objeto Instances como TestingSet.
  • Para todas las instancias en el TestingSet, el modelo NaiveBayes se usa para clasificar la salida entre las clases Churn o Not Churn .
  • La salida correspondiente se muestra luego en la interfaz del usuario.

Paso 7. Generación de un archivo WAR

Para cargar el código en IBM Cloud, necesitará generar un archivo WAR. Puede hacer esto fácilmente con Eclipse. Se incluye un archivo WAR en caso de que usted no pueda generar uno.

Seleccione File > Import. En la ventana de diálogo, seleccione Existing Projects into Workspace, luego, seleccione Next.

En la siguiente ventana de diálogo, busque los archivos que descargó.

Screen capture of importing a project
Screen capture of importing a project

Está bien conservar todos los valores predeterminados. Seleccione Finish. El proyecto se ha añadido a su cliente Eclipse.

Para exportarlo como archivo WAR, haga clic con el botón derecho en Project Explorer. Seleccione Export > War File. Guarde el archivo WAR en un directorio sin otro archivo.

Screen capture of exporting as a WAR file
Screen capture of exporting as a WAR file

Paso 8. Implementación de la aplicación

Abra una terminal y vaya al directorio del archivo WAR. Es mejor tener el archivo WAR en su propio directorio.

Ejecute el comando cf push . Suministre un nombre para la aplicación, memoria necesaria, instancias y la ruta al archivo WAR. Para esta aplicación, suministremos 512 MB de memoria y una instancia: cf push bludemo -m 512m -p BLUDemo.war .

A medida que la aplicación se carga, habrá detalles que indican lo que está sucediendo. Después de un minuto y medio aproximadamente, la aplicación deberá estar en funcionamiento.

Si hace cambios en la aplicación, repita este proceso. Ejecute el mismo comando después de haber generado un nuevo archivo WAR para cargar en IBM Cloud.

Pasos alternativos: Implementación de la aplicación

En lugar de seguir la mayoría de los pasos anteriores, puede crear el servicio e implementar la aplicación.

Después de tener el código en su propio espacio de trabajo (Paso 5), modifique el archivo llamado manifest.yml.

Modifique los valores de name y host con el nombre de la aplicación y el host. Estos deben coincidir. El archivo se debe guardar automáticamente.

Haga clic en Deploy, y DevOps Services intentará implementar la aplicación sobre la base del archivo manifest.yml. DevOps Services solicitará credenciales durante la implementación. Complete el Paso 4 para cargar los datos de práctica. Después de eso, la aplicación de demostración estará en funcionamiento.

Conclusión

Ahora, sabe cómo dashDB ofrece depósito de datos y analítica como servicio en la plataforma IBM Cloud y cómo puede desarrollar e implementar una aplicación analítica de alto uso con la tecnología de bases de datos de IBM en la nube. Esto hace más rápida y fácil la minería en la nube.

Reconocimiento

Muchas gracias a Alexandria Burkleaux por revisar este artículo.


Recursos para Descargar


Comentarios

Inicie Sesión o Regístrese para agregar comentarios.

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=Big data y analytics, Cloud computing
ArticleID=1008797
ArticleTitle=Compile una aplicación de minería utilizando Java, Weka y el servicio dashDB
publish-date=06172015