Coder Social home page Coder Social logo

naive-bayes-assignment's Introduction

Curso de Especialização de Inteligência Artificial Aplicada

Setor de Educação Profissional e Tecnológica - SEPT

Universidade Federal do Paraná - UFPR


IAA003 - Linguagem de Programação Aplicada

Prof. Alexander Robert Kutzke

Exercício de implementação do algoritmo Naive Bayes

Altere o código do arquivo spam_classifier.py para adicionar algumas das seguintes funcionalidades:

  • Utilizar a biblioteca NumPy se considerar pertinente;
  • Utilizar a biblioteca Pandas se considerar pertinente;
  • Analisar o conteúdo da mensagem e não apenas o Assunto;
  • Considerar apenas palavras que aparecem um número mínimo de vezes (min_count);
  • Utilizar apenas radicais das palavras (pesquise por "Porter Stemmer");
  • Considerar não apenas presença de palavras, mas outras características:
    • Por exemplo, se a mensagem possuí números:
      • A função tokenizer pode retornar tokens especiais para isso (por exemplo: contains:number).

Comente seu código indicando as alterações realizadas.

Você pode, ainda, realizar testes de desempenho para cada uma das alterações realizadas (se for pertinente).


Resolução

  • As linhas do script spam_classifier.py que tiveram alterações estão comentados com o prefixo # Change: .
  • Foi utilizado a biblioteca dynaconf para fazer o controle das configurações que foram introduzidas no código. As configurações estão centralizadas no arquivo settings.toml, onde é possível habilitar ou desabilitá-las.
  • Foi implementado um algoritmo, run_all_possibilities.py ,para testar todas as configurações possíveis, de modo a encontrar a configuração que tivesse o melhor desempenho. A melhor configuração encontrada está no arquivo settings.toml.

naive-bayes-assignment's People

Contributors

alexkutzke avatar pythrick avatar

Watchers

James Cloos avatar  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.