Giter VIP home page Giter VIP logo

machine-learning's Introduction

Trabalho de Machine Learning

A aplicação visa classificar a categoria de uma dada noticia, esta deve ser informada pelo usuário no momento da execução da aplicação.

Categorias treinadas:

  • ciencia-e-saude
  • tecnologia
  • agro
  • educacao
  • politica
  • economia

Atenção, caso não exista a base de dados completa (files/urls-complete.csv) contendo o texto das notícias para treino e teste, na primeira execução de uma classificação a aplicação irá baixar o conteúdo necessário utilizando a planilha (files/urls.csv) como base. Caso não deseje aguardar a aplicação realizar a captura do conteúdo, faça o download de uma base já populada disponível em download.

Observação: Ao executar a classificação de uma notícia, o modelo treinado e testado é armazenado em disco (files/saved_model), desta forma ao executar novamente uma classificação a aplicação não precisará treinar e testar a base de dados, portanto conseguimos melhorar a performance em processar o resultado para o usuário.


Bora para a prática!

Atenção para os comandos pip e o py, estes podem sofrer alterações conforme o seu sistema operacional, possíveis alternativas:

  • pip
  • pip3
  • python
  • python3

Clone a aplicação em um diretório de sua preferência:

git clone [email protected]:luiscovelo/machine-learning.git

Como instalar:

pip install -r requirements.txt

Como usar:

py main.py --how_to_use app 

Modelos de classificação disponíveis:

py main.py --list alg 

Classificando uma notícia utilizando todos os modelos disponíveis:

py main.py --url https://www.moneytimes.com.br/gestora-brasileira-hashdex-divulga-cronograma-para-seu-etf-de-bitcoin/ --model all

Classificando uma notícia com todos os modelos e verificando qual modelo obteve a melhor taxa de acerto:

py main.py --url https://www.moneytimes.com.br/gestora-brasileira-hashdex-divulga-cronograma-para-seu-etf-de-bitcoin/ --model best

Classificando uma notícia com um modelo específico:

  • DecisionTree:

    py main.py --url https://www.moneytimes.com.br/gestora-brasileira-hashdex-divulga-cronograma-para-seu-etf-de-bitcoin/ --model DecisionTreeClassifier
  • Dummy:

    py main.py --url https://www.moneytimes.com.br/gestora-brasileira-hashdex-divulga-cronograma-para-seu-etf-de-bitcoin/ --model DummyClassifier
  • GaussianNB:

    py main.py --url https://www.moneytimes.com.br/gestora-brasileira-hashdex-divulga-cronograma-para-seu-etf-de-bitcoin/ --model GaussianNB
  • KNeighbors:

    py main.py --url https://www.moneytimes.com.br/gestora-brasileira-hashdex-divulga-cronograma-para-seu-etf-de-bitcoin/ --model KNeighborsClassifier
  • LinearSVC:

    py main.py --url https://www.moneytimes.com.br/gestora-brasileira-hashdex-divulga-cronograma-para-seu-etf-de-bitcoin/ --model LinearSVC
  • LogisticRegression:

    py main.py --url https://www.moneytimes.com.br/gestora-brasileira-hashdex-divulga-cronograma-para-seu-etf-de-bitcoin/ --model LogisticRegression
  • MLP:

    py main.py --url https://www.moneytimes.com.br/gestora-brasileira-hashdex-divulga-cronograma-para-seu-etf-de-bitcoin/ --model MLPClassifier
  • MultinomialNB:

    py main.py --url https://www.moneytimes.com.br/gestora-brasileira-hashdex-divulga-cronograma-para-seu-etf-de-bitcoin/ --model MultinomialNB
  • RandomForest:

    py main.py --url https://www.moneytimes.com.br/gestora-brasileira-hashdex-divulga-cronograma-para-seu-etf-de-bitcoin/ --model RandomForestClassifier
  • SVC:

    py main.py --url https://www.moneytimes.com.br/gestora-brasileira-hashdex-divulga-cronograma-para-seu-etf-de-bitcoin/ --model SVC

Imagens dos resultados

  • Resultado com todos os modelos: Resultado usando todos os modelos

  • Resultado com o melhor modelo: Resultado usando todos os modelos

  • Resultado com modelo específico: Resultado usando todos os modelos

machine-learning's People

Watchers

Luis Felipe Covelo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.