COMO A MINERAÇÃO DE DADOS PODE AJUDAR O MEIO AMBIENTE

COMO A MINERAÇÃO DE DADOS PODE AJUDAR O MEIO AMBIENTE
Gostou da postagem? Compartilhe na sua rede!

Hits: 253

      A 4º revolução industrial trouxe a ficção científica para o dia a dia. Interação com robôs, criptomoedas e nanotecnologia fazem parte do novo dinamismo da sociedade. E, mesmo que carros voadores ainda não tenham sido inventados, a indústria tecnológica se desenvolve a cada dia, alinhada a outros setores, como comércio e agricultura.  Ao contrário do que se pensa, a indústria 4.0, mudou a interação entre tecnologia e natureza. A relação que um dia foi exploratória, passa a ser de parceria. Visto que a natureza é o alicerce para o desenvolvimento da sociedade.

      Sob este ponto de vista, o projeto FLORA desenvolveu uma estufa inteligente, que, a partir da mineração de dados consegue tomar as decisões mais benéficas para a planta. Para que este processo ocorra, é necessário que haja o cruzamento de dados enviados pelos sensores e os dados inseridos pelo usuário. A estufa conta com sensores que medem a temperatura, umidade, luminosidade, além disso é possível controlar a cor e intensidade luminosa. Fatores que são essenciais para o desenvolvimento de qualquer planta. E a interface, permite a interação do usuário com o sistema, podendo controlar esses fatores e fazer um “diagnóstico da planta”, a partir de um questionário, onde o cliente dá uma nota de 0 a 10.

      Enquanto isso, dentro do banco de dados, são armazenados, a todo o momento, os valores registrados pelos sensores, que junto com a nota dada pelo usuário começam o processo de cruzamento de dados. A nota da planta funciona como uma avaliação dos sensores, e os valores serão usados como parâmetros para o sistema fazer a tomada de decisões. Para que isto ocorra, o sistema busca encontrar um padrão, por isso, o armazenamento de dados é essencial, porque possibilita a precisão na hora de “encontrar o padrão ideal para a planta”. A ferramenta Weka, utilizada nesse processo, possui vários métodos e algoritmos para o Machine learning, o método utilizado foi o Multilayer Perceptron que é estruturado em camadas de entrada, camadas ocultas e saída, funcionando como uma rede neural. Que, através da Backpropagation testa os valores inúmeras vezes até que o sistema encontre uma conclusão, que, neste caso é o valor ideal.

      No projeto FLORA, este sistema foi implementado na irrigação da planta, já que a água é um fator determinante para o desenvolvimento desta. Os benefícios da I. A. (Inteligência Artificial) quando aplicada na agricultura são inumeráveis. Vale ressaltar que o agronegócio representa mais de 70% do consumo de água potável do planeta, e medidas como esta promovem o consumo consciente e diminuem as chances do desperdício, já que levam em consideração o melhor desenvolvimento para a planta, evitando a perda de safras, que geralmente são causadas por mudanças climáticas, que alteram os ciclos de chuva e por consequência a irrigação.

       Tecnologias como esta permitem a modernização do campo e da produção sem que ocorram grandes danos ao meio ambiente, fazendo com que a consciência ambiental cresça em comunhão com os avanços tecnológicos. Ponto chave da Indústria atual, cujo o grande desafio é promover a interação entre sociedade e natureza de maneira equilibrada. 

COMO APLICAR A BIBLIOTECA WEKA:

  1.Abrir alguma IDE para Java:

Neste projeto foi utilizado a NetBeans, porém sinta-se a vontade de utilizar Eclipse ou IntelliJ. Então é só seguir os passos para criação de um projeto. O nome do meu projeto é ‘Artigo_weka’:

  2.Delete o arquivo que vem pronto:

É preciso deletar o arquivo que vem pronto e criar uma classe novamente na pasta <default package>. Ao criar essa classe eu dei o nome de ‘artigo_weka’:

  3.Adicionar a biblioteca Weka

A biblioteca Weka estará dentro do arquivo de programa do aplicativo, provavelmente neste caminho: 

C:\Program Files\Weka-3-8-4\weka.jar

  4.Adicionar um arquivo .arff para servir de exemplo:

Esse arquivo será disponibilizado no github pelo link: https://github.com/Flora-sketch/Documentos-Weka 

-Basta adicioná-lo na arquivo do projeto de forma que fique conforme abaixo

Um arquivo .arff (Attribute-Relation File Format) é o gerado pela ferramenta e correlaciona instâncias de atributos, porém é importante lembrar que também é possível realizar o processo utilizando um arquivo .csv delimitado por vírgula.

  5.Código:

  –Primeiro passo: adicionar as importações necessárias:

import java.util.Scanner;
import weka.classifiers.functions.MultilayerPerceptron;
import weka.core.Instances;
import weka.core.DenseInstance;
import weka.core.converters.ConverterUtils.DataSource;

 Depois, deve ser adicionado dentro da classe artigo_weka uma função ‘main’:

public class artigo_weka {

    /**

     * @param args the command line arguments

     */

    public static void main(String args[]) throws Exception {

    }        

}

  -Dentro dessa função adicionar mensagens que serão impressas na IDE, e que o usuário mostrará o caminho do arquivo que usará no processo:

 System.out.println("Olá, vamos programar?");

        System.out.println("Localização e nome do arquivo?");

        System.out.println("   obs.: Digite o caminho completo, sem aspas");

        System.out.print("  Resposta: ");

        Scanner scanner = new Scanner(System.in);

        String arquivo = scanner.nextLine();

  -Após aquela parte, é importante colocar isso aqui para o teste do arquivo e a criação de uma datasource e dataset com ele que serão usados pela biblioteca weka:

try {

   DataSource ds = new DataSource(arquivo);

            System.out.println("       info: o arquivo deu certo");

        } catch (Exception ex) {

   System.err.println("erro: " + ex.getMessage());

            System.out.println("Recarregue o projeto, deu erro");

            System.out.println("   *provavelmente o nome está incorreto* ");

        } 

        DataSource ds = new DataSource(arquivo);

        Instances ins = ds.getDataSet();

  -Então é adicionado isso, que serve para saber quantas colunas estaremos lidando, o usuário responde o questionamento pela própria IDE:

Scanner in = new Scanner(System.in);

        System.out.println("Quantas colunas há: ");

        System.out.print("  Resposta: ");

        int colunas = in.nextInt();

        ins.setClassIndex(colunas - 1);

-Assim como citado no começo do artigo, neste projeto será utilizado o método Multilayer Perceptron:

MultilayerPerceptron ml = new MultilayerPerceptron();

 ml.buildClassifier(ins);

-A classe deverá ser a última coluna do documento, conforme o programado:

 int classe = colunas; // a última coluna será a prevista

        DenseInstance novo = new DenseInstance(classe);

        novo.setDataset(ins);

-Aqui os valores  da linha da previsão são adicionados, assim o usuário adiciona valores, e com eles se preve a o valor da classe:

System.out.println("obs.: caso a informação na coluna não"

                + " importe, digite: 0 "); //caso a coluna for de datas....   

        for (int i = 1; i <= colunas; i++) {

            if (i != classe) {

                System.out.println("coluna " + i + ":");

                System.out.print("  Resposta: ");

                int valor = in.nextInt();

                novo.setValue(i - 1, valor);

            }

        } 

-A previsão em si:

double probabilidade[] = ml.distributionForInstance(novo);

        System.out.println("valor utilizando MultilayerP.:" 

                + " " + probabilidade[0]);

  6.O funcionamento deve ser conforme abaixo

Veja mais sobre nosso projeto:

Quem escreveu o artigo? Alicia Brito de Almeida

Quem descreveu o código? Maria Paula Bastos

FLORA

FLORA

Olá, esse é o Projeto Flora, nós produzimos estufas tecnológicas para facilitar a vida moderna, e contribuir com o meio ambiente. ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀Quem somos nós ?⠀Alicia Brito de Almeida, Maria Paula Bastos, Larissa Tosin, Rafael Miranda, Gabriel Ribeiro e Yasmin Giulia.

4 comentários sobre “COMO A MINERAÇÃO DE DADOS PODE AJUDAR O MEIO AMBIENTE

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *