Code Monkey home page Code Monkey logo

imbalanced_data's Introduction

Imbalanced data

Em diversas aplicações de algoritmos de classificação podemos nos deparar com o problema de dados de diferente magnitude, ou ainda denominados de "desbalanceados" ou então do original "imbalance data". Isso ocorre quando temos uma classe que contém poucas informações em relação as demais classes, o que acaba influenciando nos algoritmos de decisão para a escolha da classe com mais dados. Felizmente há diversas técnicas que podem ser utilizadas para contornar esse problema, e apresentamos aqui a discussão com base no pacote imbalance-learn do python.
As opções são divididas em diferentes notebooks, mas sempre usando o mesmo conjunto de dados para facilitar a comparação. No geral, podemos resumir os algoritmos de acordo com o objetivo do rebalanceamento da amostra:

  1. Under_sampling:
    Usado para extrair uma amostra da classe que possui o maior número de dados e, com isso, deixar sua dimensão próxima a classe com menor número. No pacote "imbalance-learn" estão disponíveis 11 diferentes algoritmos para fazer o under_sampling.
  2. Over_sampling:
    Essa técnica faz o caminho inverso da anterior, qual seja, amplia a amostra da classe com menor número de dados. Aqui podemos usar 5 diferentes algoritmos.
  3. Combinando under e over_sampling:
    Em alguns casos essa opção se mostra mais factível de ser implementada resultando em melhor performance do algoritmo de classificação. Mas isso não é regra, e irá depender da distribuição dos dados. Aqui temos basicamente duas técnicas ligadas ao SMOTE: i) Tomek links e, ii) ENN.
  4. Ensemble:
    Aqui já começamos a fazer uso de um processo mais elaborado para resolver o problema de dados desbalanceados. São vários algoritmos disponíveis, como o random forest e svm, que podem ser usados em uma etapa anterior, com a ajuda do bagging, para produzir amostras que tenham performance mais parecida e, com isso, aplicar o procedimento no passo seguinte na análise de Machine Learning ou Deep Learning.

imbalanced_data's People

Contributors

igoracmorais avatar

Watchers

 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.