Download Compile una aplicación de minería utilizando Java, Weka y el
Document related concepts
no text concepts found
Transcript
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 Bluemix Krunal M. Vora Software Engineer IBM 17-06-2015 Karandeep Singh Chawla Software Engineer IBM El servicio dashDB (antes conocido como Analytics Warehouse y BLU Acceleration) brinda depósito de datos y analítica como un servicio en IBM Bluemix. Los desarrolladores pueden desarrollar e implementar una aplicación que utiliza la tecnología veloz de bases de datos IBM BLU ofrecida en la nube. Aprenda a desarrollar una aplicación de minería de datos con el uso de la herramienta de análisis estadístico y aprovechando la base de datos de columnas IBM BLU. Suscríbase en IBM Bluemix™ Esta plataforma de nube cuenta con servicios, tiempos de ejecución e infraestructura gratuitos para ayudarle a construir e implementar rápidamente su próxima aplicación móvil o web. 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 © Copyright IBM Corporation 2015 Compile una aplicación de minería utilizando Java, Weka y el servicio dashDB Marcas Pagina 1 de 10 developerWorks® ibm.com/developerWorks/ssa/ Bluemix, 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 Bluemix. 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ón Obtenga 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 Bluemix Regístrese en BlueMix. 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. Compile una aplicación de minería utilizando Java, Weka y el servicio dashDB Pagina 2 de 10 ibm.com/developerWorks/ssa/ developerWorks® Bluemix 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. 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. Compile una aplicación de minería utilizando Java, Weka y el servicio dashDB Pagina 3 de 10 developerWorks® ibm.com/developerWorks/ssa/ 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. 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. Compile una aplicación de minería utilizando Java, Weka y el servicio dashDB Pagina 4 de 10 ibm.com/developerWorks/ssa/ developerWorks® En la página de descripción general de la aplicación, seleccione el servicio dashDB . 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. Compile una aplicación de minería utilizando Java, Weka y el servicio dashDB Pagina 5 de 10 developerWorks® ibm.com/developerWorks/ssa/ 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. 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 Compile una aplicación de minería utilizando Java, Weka y el servicio dashDB Pagina 6 de 10 ibm.com/developerWorks/ssa/ • • • • • developerWorks® 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 Bluemix, 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ó. Compile una aplicación de minería utilizando Java, Weka y el servicio dashDB Pagina 7 de 10 developerWorks® ibm.com/developerWorks/ssa/ 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. Compile una aplicación de minería utilizando Java, Weka y el servicio dashDB Pagina 8 de 10 ibm.com/developerWorks/ssa/ developerWorks® 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 Bluemix. 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. Compile una aplicación de minería utilizando Java, Weka y el servicio dashDB Pagina 9 de 10 developerWorks® ibm.com/developerWorks/ssa/ Conclusión Ahora, sabe cómo dashDB ofrece depósito de datos y analítica como servicio en la plataforma Bluemix 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. © Copyright IBM Corporation 2015 (www.ibm.com/legal/copytrade.shtml) Marcas (www.ibm.com/developerworks/ssa/ibm/trademarks/) Compile una aplicación de minería utilizando Java, Weka y el servicio dashDB Pagina 10 de 10