Conteúdo


Desenvolver um aplicativo de mineração de dados usando Java, Weka e o serviço Analytics Warehouse

Comments

Como cientistas de dados do grupo de analítica do cliente na nossa empresa provedora de serviços wireless, desejamos aproveitar os dados do cliente para prever a perda de clientes. A retenção de clientes é um desafio crítico no segmento de mercado de telecomunicações, em que as taxas anuais de migração para o concorrente podem ser de até 40%. Se for possível prever que clientes estão em risco de perda, nossa empresa pode agir para retê-los antes que levem sua conta para outro provedor. Até mesmo uma pequena redução na perda de clientes pode ter um impacto significativo nos nossos resultados.

Decidimos desenvolver um aplicativo da web rápido que pode ser aprimorado ao longo do tempo. Nosso aplicativo usa o código para um algoritmo de classificação que desenvolvemos na linguagem Java™ usando Weka, uma ferramenta de aprendizado por máquina de software livre. No IBM Cloud, podemos implementar nosso aplicativo Java e aproveitar o serviço Analytics Warehouse (anterior BLU Acceleration) para realizar análise dos dados do cliente. Esse serviço fornece simplicidade e desempenho, bem como escala corporativa se decidirmos ampliar nosso modelo ou aprimorar o aplicativo para realizar tipos de análises adicionais dos dados. Por fim, escolhemos o Twitter Bootstrap como a estrutura de desenvolvimento da web porque ele oferece a flexibilidade de uma interface principal de web móvel e pode ser facilmente adaptado para a variedade de dispositivos e navegadores que nossos analistas usam.

Saiba como desenvolver um aplicativo similar no IBM Cloud. Presumimos que você tenha o código necessário para seu aplicativo e fornecemos nosso código de aplicativo e dados como uma amostra para ajudá-lo a começar.

Execute o aplicativoObtenha o código

Do que você precisará para desenvolver um aplicativo similar

  • Familiaridade com desenvolvimento de aplicativo Java
  • Familiaridade com uma estrutura de frontend moderna, como Twitter Bootstrap
  • Conhecimento de uma ferramenta de análise estatística, como Weka ou R

Etapa 1. Criar o aplicativo em IBM Cloud

Faça login no BlueMix.

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

Na página de painel, clique em Add an application.

Neste exemplo, você criará um aplicativo Java. Em Runtimes, selecione .java liberty (Liberty for Java).

Na janela pop-up, clique em CREATE APP.

Na próxima janela pop-up, preencha o nome e o host do aplicativo e clique em CREATE.

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

O IBM Cloud cria o aplicativo na sua área de trabalho e inicia o tempo de execução Java. Você saberá quando o aplicativo tiver iniciado com sucesso pela confirmação exibida no painel.

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

Etapa 2. Criar o serviço Analytics Warehouse (anterior BLU Acceleration )

Selecione o aplicativo criado no painel para ir à sua página de visão geral.

Clique em Add new service na seção Services dessa página.

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

Selecione Analytics Warehouse como o serviço a incluir

Uma janela pop-up será exibida com mais informações sobre o serviço. Clique em ADD TO APPLICATION eCREATE na janela pop-up subsequente.

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

Etapa 3. Explorar o serviço Analytics Warehouse (opcional)

O serviço fornece várias ferramentas de análise de dados a partir do seu console da web, incluindo carregamento e consulta de dados, análise de dados usando R ou Excel®, relatório usando Cognos e modelos do setor que ajudam em casos de uso comuns específicos do segmento de mercado. Vale a pena explorar esse incrível conjunto de ferramentas disponíveis para projetos futuros.

Na página de visão geral do aplicativo, selecione o serviço Analytics Warehouse .

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

Na página a seguir, clique em Launch the console.

Uma nova janela se abrirá com o console da web. É possível realizar várias ações aqui, incluindo o upload de arquivos de dados no banco de dados e a análise dos dados com R.

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

Etapa 4. Fazer o upload de dados para o Analytics Warehouse (opcional)

Seu conjunto de dados de amostra já está disponível no Analytics Warehouse. Porém, é possível usar seus próprios dados. Para fazer o upload de dados:

  1. no console da web do Analytics Warehouse, clique na guia Manage , então selecione Load Data.
  2. Carregaremos dados de um arquivo CSV. Na tela Quick load , selecione o arquivo para carregar. Mantenha todas as configurações padrão e clique em Load File. Screen capture of loading data
    Screen capture of loading data
  3. Depois de ver a visualização da tabela, clique em Next.
  4. Na tela Choose the target selecione Create a new table and load. Clique em Next.
  5. Mude Table name para churntrainingset. É possível escolher outro nome de tabela, mas lembre-se de atualizar o código. Para a coluna churn , altere Data type para VARCHAR. Todas as outras colunas podem manter os padrões selecionados. Clique em Finish.
  6. Você deve ver a mensagem de sucesso. Os dados devem ser carregados.

Etapa 5. Fazer o download do código

Se ainda não tiver feito isso, obtenha o código.

Selecione EDIT CODE. Depois de efetuar login, verá o código

Clique em File > Export > Zip para fazer o download do código para a sua máquina.

Etapa 6. Entender o código

O aplicativo de amostra consiste nestes componentes:

  • o FileLocationContextListener cria uma pasta para o upload do arquivo no servidor.
  • Se o usuário selecionar o banco de dados para fazer o upload do conjunto de treinamento para o modelo, os detalhes inseridos são usados para carregar dados para um objeto Instances como TrainingSet. Então, esse TrainingSet é usado para criar o modelo NaiveBayes. Como alternativa, a tabela de banco de dados padrão é usada para criar o modelo.
  • O usuário pode fazer o upload de um arquivo CSV como um conjunto de teste. O arquivo é transferido por upload para a pasta criada anteriormente no servidor.
  • O Weka funciona com arquivos Attribute-Relation File Format (ARFF) como um formato de arquivo básico, incluindo os atributos e conjunto de dados de que precisa. O CSV2ARFF.java é um utilitário independente que converte o arquivo CSV no arquivo ARFF armazenado na mesma pasta no servidor.
  • O arquivo ARFF então é carregado para um objeto Instances como TestingSet.
  • Para todas as instâncias no TestingSet, o modelo NaiveBayes é usado para classificar a saída na classe Churn ou Not Churn .
  • A saída correspondente então é exibida na interface com o usuário.

Etapa 7. Gerar um arquivo WAR

Para realizar o push do código para IBM Cloud, é necessário gerar um arquivo WAR. Podemos fazer isso facilmente com o Eclipse. Um arquivo WAR já está incluído, caso você não consiga gerar um.

Selecione File > Import. Na janela de diálogo, selecione Existing Projects into Workspace, em seguida, selecione Next.

Na próxima janela de diálogo, navegue para os arquivos transferidos por download.

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

Manter todos os padrões selecionados é adequado. Selecione Finish. O projeto agora foi incluído ao Eclipse Client.

Para exportar como um arquivo WAR, clique com o botão direito no projeto no Project Explorer. Selecione Export > War File. Salve o arquivo WAR em um diretório sozinho.

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

Etapa 8. Implementar o aplicativo

Abra um terminal e vá para o diretório do arquivo WAR. É melhor ter o arquivo WAR em seu próprio diretório.

Execute o comando cf push . Forneça o nome do aplicativo, a memória necessária, as instâncias e o caminho para o arquivo WAR. Para esse aplicativo, vamos fornecer 512 MB de memória e uma instância: cf push bludemo -m 512m -p BLUDemo.war .

Conforme o aplicativo é transferido por upload, haverá detalhes indicando o que está acontecendo. Cerca de um minuto e meio depois, o aplicativo deve estar ativo.

Se você fizer alterações ao aplicativo, repita esse processo. Execute o mesmo comando depois de ter gerado o novo arquivo WAR para realizar o push ao IBM Cloud.

Etapas alternativas: implementar o aplicativo

Em vez de seguir a maioria das etapas anteriores, é possível criar o serviço e implementar o aplicativo.

Depois de ter o código na sua própria área de trabalho (Etapa 5), modifique o arquivo chamado manifest.yml.

Modifique name e host para o nome do aplicativo e do host. Eles devem ter o mesmo valor. O arquivo deve ser salvo automaticamente.

Clique em Deploy, e o DevOps Services tentará implementar o aplicativo com base no arquivo manifest.yml. O DevOps Services pedirá as credenciais ao implementar. Conclua a etapa 4 para fazer o upload dos dados. Depois disso, o aplicativo de demonstração funcionará.

Conclusão

Agora você sabe como o Analytics Warehouse fornece analítica e data warehousing como um serviço na plataforma IBM Cloud e como é possível desenvolver e implementar um aplicativo analítico robusto usando tecnologia de banco de dados IBM na nuvem. Um brinde à mineração de dados mais fácil na nuvem.

Agradecimentos

Obrigado a Alexandria Burkleaux pela sua revisão deste artigo.


Recursos para download


Temas relacionados


Comentários

Acesse ou registre-se para adicionar e acompanhar os comentários.

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Cloud computing, Tecnologia Java, Information Management
ArticleID=986964
ArticleTitle=Desenvolver um aplicativo de mineração de dados usando Java, Weka e o serviço Analytics Warehouse
publish-date=10242014