Este documento apresenta um resumo sobre data mining e machine learning com Python. Ele introduz os conceitos de ciência de dados, data mining e machine learning, discute exemplos de aplicações e fontes de dados. Também aborda ferramentas em Python como pandas e scikit-learn, e o fluxo de projeto que inclui limpeza, visualização, transformação, treinamento e avaliação de modelos preditivos.
In this deck from the HPC Advisory Council Spain Conference, DK Panda from Ohio State University presents: Communication Frameworks for HPC and Big Data.
Watch the video presentation: http://insidehpc.com/2015/09/video-communication-frameworks-for-hpc-and-big-data/
Sign up for our insideHPC Newsletter: http://insidehpc.com/newsletter
Learn more: http://www.hpcadvisorycouncil.com/events/2015/spain-workshop/agenda.php
Sign up for our insideHPC Newsletter: http://insidehpc.com/newsletter
Torry Steed, Sr. Product Marketing Manager at SMART Modular, provides an overview of CXL PCIe Add-in Cards (AICs) and memory modules that can be used to expand capacity in servers or in external memory pooling systems.
Created at the University of Berkeley in California, Apache Spark combines a distributed computing system through computer clusters with a simple and elegant way of writing programs. Spark is considered the first open source software that makes distribution programming really accessible to data scientists. Here you can find an introduction and basic concepts.
Internals of Speeding up PySpark with ArrowDatabricks
Back in the old days of Apache Spark, using Python with Spark was an exercise in patience. Data was moving up and down from Python to Scala, being serialised constantly. Leveraging SparkSQL and avoiding UDFs made things better, likewise did the constant improvement of the optimisers (Catalyst and Tungsten). But, after Spark 2.3, PySpark has sped up tremendously thanks to the addition of the Arrow serialisers. In this talk you will learn how the Spark Scala core communicates with the Python processes, how data is exchanged across both sub-systems and the development efforts present and underway to make it as fast as possible.
Introduction to Ceph, an open-source, massively scalable distributed file system.
This document explains the architecture of Ceph and integration with OpenStack.
O documento discute sistemas de arquivos distribuídos, definindo arquivos e diretórios, caracterizando SADs e explicando como eles permitem acesso transparente a arquivos remotos. Também descreve serviços, características e arquiteturas de SADs.
Tests are extremely importante in software development. This talk bring a quick introduction to the art of testing in Go, given a special focus on the standard lib, but also giving a quick glance at other alternatives.
During the CXL Forum at OCP Global Summit, Jeff Hilland of HPE explained what CXL, PCI SIG, DMTF, OFA, OCP, and SNIA are doing to make CXL fabric, memory and device management interoperable.
In this deck from the HPC Advisory Council Spain Conference, DK Panda from Ohio State University presents: Communication Frameworks for HPC and Big Data.
Watch the video presentation: http://insidehpc.com/2015/09/video-communication-frameworks-for-hpc-and-big-data/
Sign up for our insideHPC Newsletter: http://insidehpc.com/newsletter
Learn more: http://www.hpcadvisorycouncil.com/events/2015/spain-workshop/agenda.php
Sign up for our insideHPC Newsletter: http://insidehpc.com/newsletter
Torry Steed, Sr. Product Marketing Manager at SMART Modular, provides an overview of CXL PCIe Add-in Cards (AICs) and memory modules that can be used to expand capacity in servers or in external memory pooling systems.
Created at the University of Berkeley in California, Apache Spark combines a distributed computing system through computer clusters with a simple and elegant way of writing programs. Spark is considered the first open source software that makes distribution programming really accessible to data scientists. Here you can find an introduction and basic concepts.
Internals of Speeding up PySpark with ArrowDatabricks
Back in the old days of Apache Spark, using Python with Spark was an exercise in patience. Data was moving up and down from Python to Scala, being serialised constantly. Leveraging SparkSQL and avoiding UDFs made things better, likewise did the constant improvement of the optimisers (Catalyst and Tungsten). But, after Spark 2.3, PySpark has sped up tremendously thanks to the addition of the Arrow serialisers. In this talk you will learn how the Spark Scala core communicates with the Python processes, how data is exchanged across both sub-systems and the development efforts present and underway to make it as fast as possible.
Introduction to Ceph, an open-source, massively scalable distributed file system.
This document explains the architecture of Ceph and integration with OpenStack.
O documento discute sistemas de arquivos distribuídos, definindo arquivos e diretórios, caracterizando SADs e explicando como eles permitem acesso transparente a arquivos remotos. Também descreve serviços, características e arquiteturas de SADs.
Tests are extremely importante in software development. This talk bring a quick introduction to the art of testing in Go, given a special focus on the standard lib, but also giving a quick glance at other alternatives.
During the CXL Forum at OCP Global Summit, Jeff Hilland of HPE explained what CXL, PCI SIG, DMTF, OFA, OCP, and SNIA are doing to make CXL fabric, memory and device management interoperable.
This document provides an overview of Docker and the author's experience. It discusses key Docker concepts like images, containers, the Dockerfile and Docker Engine. It also summarizes Docker benefits like portability, scalability and efficiency. Components like Docker Hub, Docker Machine and orchestration tools are briefly introduced. Security considerations and using Docker in production are also mentioned.
Este documento discute sistemas de arquivos distribuídos, definindo conceitos como arquivos, diretórios e suas características. Também descreve como sistemas de arquivos distribuídos permitem acesso transparente a arquivos remotos e exemplos como NFS, GFS e GlusterFS.
Q1 Memory Fabric Forum: Compute Express Link (CXL) 3.1 UpdateMemory Fabric Forum
OCP Steering Committee member and ex-President of the CXL Consortium, Siamak Tavallaei, provides an update on the CXL specifications with a focus on the recently released 3.1 specification.
O documento discute os protocolos TCP e UDP para comunicação entre processos, comparando suas características como confiabilidade, ordenamento e sincronia. Também apresenta a API Java para sockets e fluxos TCP, mostrando exemplos de cliente e servidor.
If you’re working with just a few containers, managing them isn't too complicated. But what if you have hundreds or thousands? Think about having to handle multiple upgrades for each container, keeping track of container and node state, available resources, and more. That’s where Kubernetes comes in. Kubernetes is an open source container management platform that helps you run containers at scale. This talk will cover Kubernetes components and show how to run applications on it.
Good quality code is an essential property of a software because it could lead to financial losses or waste of time needed for further maintenance, modification or adjustments if code quality is not good enough.
Webinar by Kiriakos Vlahos (aka PyScripter)
and Jim McKeeth (Embarcadero)
Replay https://youtu.be/aCz5h96ObUM
Find out more, and register for part 2
https://embt.co/3hSAKrg
Check out the library
https://github.com/pyscripter/python4delphi
Agenda
Motivation and Synergies
Introduction to Python
Introduction to Python for Delphi
Simple Demo
TPythonModule
TPyDelphiWrapper
Using Solr to Search and Analyze Logs discusses how to use Solr and related tools like Logstash and Elasticsearch to index, search, and analyze log data. It covers sending logs to Solr using various methods like Logstash, Flume, and rsyslog plugins. It also discusses best practices for handling logs like production data in Solr, including using docValues, omitting norms/term positions, configuring caches, commits, and merges. The document concludes by discussing scaling options like SolrCloud and collections/aliases for partitioning logs over time.
Os modelos de referência OSI e TCP/IP são comparados. Embora tenham funcionalidades semelhantes nas camadas superiores, eles diferem no número de camadas e na distinção entre serviços, interfaces e protocolos, com o modelo OSI fazendo uma separação mais clara entre esses conceitos. O modelo TCP/IP foi desenvolvido a partir de protocolos existentes, enquanto o OSI foi criado como um guia geral antes da especificação de protocolos.
Engenharia de Software II - Teste de segurança de softwareJuliano Padilha
O documento discute testes de segurança de software, enfatizando:
A importância de testes de segurança para garantir confidencialidade, integridade, disponibilidade, autenticidade e não-repúdio;
As abordagens de teste de segurança, incluindo white box, black box e fuzzing.
O documento discute frameworks, definindo-os como conjuntos de classes que colaboram para realizar tarefas em domínios específicos de uma aplicação. Explora as vantagens dos frameworks, como redução de custos e tempo de desenvolvimento, e características como reusabilidade, extensibilidade e inversão de controle. Também examina tecnologias comumente embutidas em frameworks, como MVC, ORM e AJAX.
GitHub is a Git repository hosting service, but it adds many of its own features. While Git is a command line tool, GitHub provides a Web-based graphical interface. It also provides access control and several collaboration features, such as a wikis and basic task management tools for every project.
O documento discute vários algoritmos de escalonamento de processadores em sistemas operacionais, incluindo FIFO, SJF, circular, por prioridades e múltiplas filas. Explica como a preempção por tempo e prioridade funcionam e fornece exemplos para ilustrar cada algoritmo.
Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)Leinylson Fontinele
O documento discute sincronização e comunicação entre processos em sistemas operacionais. Apresenta os conceitos de aplicações concorrentes e a necessidade de sincronização quando processos compartilham recursos. Discutem problemas que podem ocorrer em aplicações bancárias que manipulam contas correntes de forma concorrente e soluções como exclusão mútua.
Combining the Strenghts of Python and Delphi
Links replay and more
https://blogs.embarcadero.com/combining-the-strengths-of-delphi-and-python/
Python4Delphi repository
https://github.com/pyscripter/python4delphi
Part 1
https://blogs.embarcadero.com/webinar-replay-python-for-delphi-developers-part-1-introduction/
Modern CPUs use various techniques to improve performance such as instruction pipelining, cache memory, superscalar execution, out-of-order execution, speculative execution, and branch prediction. However, these optimizations can introduce security vulnerabilities like Spectre and Meltdown attacks which exploit side effects of speculative execution in the CPU cache to leak secret data from memory. Speculative execution may process instructions early before branch resolution, potentially loading secret data into the cache where an attacker can detect it using precise timing measurements. While fixes have been developed, fully mitigating these issues remains an ongoing challenge for CPU architecture.
Alphorm.com support de la formation Git avancé Alphorm
Formation complète ici :
http://www.alphorm.com/tutoriel/formation-en-ligne-git-fonctionnalites-avancees
Cette formation Git, est la suite de la première formation Git, le système de contrôle de version pendant laquelle vous avez découvert le système puissant Git, qui permet de simplifier la maintenance et d'accélérer le développement du projet en facilitant la collaboration entre les différents développeurs.
Dans cette seconde formation Git, Edouard FERRARI vous apprendra des fonctionnalités avancées comme la mise place d’un projet distribué. Git permet de gérer très facilement plusieurs espaces de travail grâce au branche, ce qui est tout à fait bienvenue dans le cas de projet contenant beaucoup de contributeurs.
Pendant cette formation Git, vous verrez les différentes méthodes pour partager votre travail avec d’autres utilisateurs, qu’ils sont dans votre réseau d’entreprise ou sur Internet, comment mettre en place ces partages publiques et comment maintenir un projet GIT pour des petits projets ou des grandes entreprises.
Avec cette formation Git, vous allez apprendre les bonnes pratiques qui surcroisassent votre productivité et celle de votre équipe projet!
À la fin de cette formation Git, vous serez capable de mettre en place Git pour n’importe quel projet, et vous serez aussi capable de régler les problèmes que vous pourriez rencontrer.
The document discusses erasure coding as an alternative to replication in distributed storage systems like HDFS. It notes that while replication provides high durability, it has high storage overhead, and erasure coding can provide similar durability with half the storage overhead but slower recovery. The document outlines how major companies like Facebook, Windows Azure Storage, and Google use erasure coding. It then provides details on HDFS-EC, including its architecture, use of hardware acceleration, and performance evaluation showing its benefits over replication.
O documento apresenta 7 exercícios de shell script para automatizar tarefas comuns. O primeiro exercício cria um script para ler e realizar operações matemáticas com números. O segundo lê um número e determina se é par ou ímpar. O terceiro imprime números de 1 a 5 usando um loop for.
Guia completo para definição de estatística de modelos e algoritmos de machin...Geanderson Lenz
1. O documento apresenta um guia completo sobre definição de estatística e algoritmos de machine learning utilizados em projetos de data science para negócios.
2. Inclui seções sobre aprendizagem supervisionada, não supervisionada, reinforcement learning e drivers de escolha de modelos.
3. Fornece descrições de algoritmos como regressão linear, logística, árvores de decisão e random forest com códigos em R e Python.
Machine Learning e Artificial Intelligence para desenvolvedores .NETRenato Haddad
O documento fornece uma introdução aos conceitos e técnicas de aprendizado de máquina, incluindo algoritmos, métricas e treinadores. Ele discute como escolher algoritmos e treinadores apropriados para diferentes tarefas de ML, como classificação binária e multiclasse.
This document provides an overview of Docker and the author's experience. It discusses key Docker concepts like images, containers, the Dockerfile and Docker Engine. It also summarizes Docker benefits like portability, scalability and efficiency. Components like Docker Hub, Docker Machine and orchestration tools are briefly introduced. Security considerations and using Docker in production are also mentioned.
Este documento discute sistemas de arquivos distribuídos, definindo conceitos como arquivos, diretórios e suas características. Também descreve como sistemas de arquivos distribuídos permitem acesso transparente a arquivos remotos e exemplos como NFS, GFS e GlusterFS.
Q1 Memory Fabric Forum: Compute Express Link (CXL) 3.1 UpdateMemory Fabric Forum
OCP Steering Committee member and ex-President of the CXL Consortium, Siamak Tavallaei, provides an update on the CXL specifications with a focus on the recently released 3.1 specification.
O documento discute os protocolos TCP e UDP para comunicação entre processos, comparando suas características como confiabilidade, ordenamento e sincronia. Também apresenta a API Java para sockets e fluxos TCP, mostrando exemplos de cliente e servidor.
If you’re working with just a few containers, managing them isn't too complicated. But what if you have hundreds or thousands? Think about having to handle multiple upgrades for each container, keeping track of container and node state, available resources, and more. That’s where Kubernetes comes in. Kubernetes is an open source container management platform that helps you run containers at scale. This talk will cover Kubernetes components and show how to run applications on it.
Good quality code is an essential property of a software because it could lead to financial losses or waste of time needed for further maintenance, modification or adjustments if code quality is not good enough.
Webinar by Kiriakos Vlahos (aka PyScripter)
and Jim McKeeth (Embarcadero)
Replay https://youtu.be/aCz5h96ObUM
Find out more, and register for part 2
https://embt.co/3hSAKrg
Check out the library
https://github.com/pyscripter/python4delphi
Agenda
Motivation and Synergies
Introduction to Python
Introduction to Python for Delphi
Simple Demo
TPythonModule
TPyDelphiWrapper
Using Solr to Search and Analyze Logs discusses how to use Solr and related tools like Logstash and Elasticsearch to index, search, and analyze log data. It covers sending logs to Solr using various methods like Logstash, Flume, and rsyslog plugins. It also discusses best practices for handling logs like production data in Solr, including using docValues, omitting norms/term positions, configuring caches, commits, and merges. The document concludes by discussing scaling options like SolrCloud and collections/aliases for partitioning logs over time.
Os modelos de referência OSI e TCP/IP são comparados. Embora tenham funcionalidades semelhantes nas camadas superiores, eles diferem no número de camadas e na distinção entre serviços, interfaces e protocolos, com o modelo OSI fazendo uma separação mais clara entre esses conceitos. O modelo TCP/IP foi desenvolvido a partir de protocolos existentes, enquanto o OSI foi criado como um guia geral antes da especificação de protocolos.
Engenharia de Software II - Teste de segurança de softwareJuliano Padilha
O documento discute testes de segurança de software, enfatizando:
A importância de testes de segurança para garantir confidencialidade, integridade, disponibilidade, autenticidade e não-repúdio;
As abordagens de teste de segurança, incluindo white box, black box e fuzzing.
O documento discute frameworks, definindo-os como conjuntos de classes que colaboram para realizar tarefas em domínios específicos de uma aplicação. Explora as vantagens dos frameworks, como redução de custos e tempo de desenvolvimento, e características como reusabilidade, extensibilidade e inversão de controle. Também examina tecnologias comumente embutidas em frameworks, como MVC, ORM e AJAX.
GitHub is a Git repository hosting service, but it adds many of its own features. While Git is a command line tool, GitHub provides a Web-based graphical interface. It also provides access control and several collaboration features, such as a wikis and basic task management tools for every project.
O documento discute vários algoritmos de escalonamento de processadores em sistemas operacionais, incluindo FIFO, SJF, circular, por prioridades e múltiplas filas. Explica como a preempção por tempo e prioridade funcionam e fornece exemplos para ilustrar cada algoritmo.
Sistemas Operacionais - Aula 08 (Sincronização e Comunicação entre Processos)Leinylson Fontinele
O documento discute sincronização e comunicação entre processos em sistemas operacionais. Apresenta os conceitos de aplicações concorrentes e a necessidade de sincronização quando processos compartilham recursos. Discutem problemas que podem ocorrer em aplicações bancárias que manipulam contas correntes de forma concorrente e soluções como exclusão mútua.
Combining the Strenghts of Python and Delphi
Links replay and more
https://blogs.embarcadero.com/combining-the-strengths-of-delphi-and-python/
Python4Delphi repository
https://github.com/pyscripter/python4delphi
Part 1
https://blogs.embarcadero.com/webinar-replay-python-for-delphi-developers-part-1-introduction/
Modern CPUs use various techniques to improve performance such as instruction pipelining, cache memory, superscalar execution, out-of-order execution, speculative execution, and branch prediction. However, these optimizations can introduce security vulnerabilities like Spectre and Meltdown attacks which exploit side effects of speculative execution in the CPU cache to leak secret data from memory. Speculative execution may process instructions early before branch resolution, potentially loading secret data into the cache where an attacker can detect it using precise timing measurements. While fixes have been developed, fully mitigating these issues remains an ongoing challenge for CPU architecture.
Alphorm.com support de la formation Git avancé Alphorm
Formation complète ici :
http://www.alphorm.com/tutoriel/formation-en-ligne-git-fonctionnalites-avancees
Cette formation Git, est la suite de la première formation Git, le système de contrôle de version pendant laquelle vous avez découvert le système puissant Git, qui permet de simplifier la maintenance et d'accélérer le développement du projet en facilitant la collaboration entre les différents développeurs.
Dans cette seconde formation Git, Edouard FERRARI vous apprendra des fonctionnalités avancées comme la mise place d’un projet distribué. Git permet de gérer très facilement plusieurs espaces de travail grâce au branche, ce qui est tout à fait bienvenue dans le cas de projet contenant beaucoup de contributeurs.
Pendant cette formation Git, vous verrez les différentes méthodes pour partager votre travail avec d’autres utilisateurs, qu’ils sont dans votre réseau d’entreprise ou sur Internet, comment mettre en place ces partages publiques et comment maintenir un projet GIT pour des petits projets ou des grandes entreprises.
Avec cette formation Git, vous allez apprendre les bonnes pratiques qui surcroisassent votre productivité et celle de votre équipe projet!
À la fin de cette formation Git, vous serez capable de mettre en place Git pour n’importe quel projet, et vous serez aussi capable de régler les problèmes que vous pourriez rencontrer.
The document discusses erasure coding as an alternative to replication in distributed storage systems like HDFS. It notes that while replication provides high durability, it has high storage overhead, and erasure coding can provide similar durability with half the storage overhead but slower recovery. The document outlines how major companies like Facebook, Windows Azure Storage, and Google use erasure coding. It then provides details on HDFS-EC, including its architecture, use of hardware acceleration, and performance evaluation showing its benefits over replication.
O documento apresenta 7 exercícios de shell script para automatizar tarefas comuns. O primeiro exercício cria um script para ler e realizar operações matemáticas com números. O segundo lê um número e determina se é par ou ímpar. O terceiro imprime números de 1 a 5 usando um loop for.
Guia completo para definição de estatística de modelos e algoritmos de machin...Geanderson Lenz
1. O documento apresenta um guia completo sobre definição de estatística e algoritmos de machine learning utilizados em projetos de data science para negócios.
2. Inclui seções sobre aprendizagem supervisionada, não supervisionada, reinforcement learning e drivers de escolha de modelos.
3. Fornece descrições de algoritmos como regressão linear, logística, árvores de decisão e random forest com códigos em R e Python.
Machine Learning e Artificial Intelligence para desenvolvedores .NETRenato Haddad
O documento fornece uma introdução aos conceitos e técnicas de aprendizado de máquina, incluindo algoritmos, métricas e treinadores. Ele discute como escolher algoritmos e treinadores apropriados para diferentes tarefas de ML, como classificação binária e multiclasse.
O documento discute o aprendizado de máquina e ciência de dados usando FreeBSD. Ele fornece uma introdução ao aprendizado de máquina, incluindo coleta e preparação de dados, treinamento e avaliação de modelos. Também lista pacotes equivalentes em FreeBSD para os pacotes populares de ciência de dados em Anaconda.
O documento discute a análise de desempenho de sistemas computacionais, incluindo a importância da área, objetivos da análise de desempenho e desafios como a escolha da métrica correta. Ele também apresenta uma metodologia para avaliação e comparação do desempenho de microprocessadores usando benchmarks sintéticos e ferramentas estatísticas. Os resultados do estudo de caso mostraram desempenhos similares entre os processadores Turion X2 e Core 2 Duo para o cenário proposto.
O presente artigo tem como objetivo a classificação de textos e a previsão das categorias de ocorrências, através do estudo de modelos de Inteligência Artificial, utilizando Machine Learning e Deep Learning para a classificação de textos e análise das previsões, sugerindo-se a melhor opção com o menor erro.
Você já deve ter percebido como dados têm sido tema recorrente na maioria das empresas. Mas por que isso acontece?
Simples! Segundo a Nielsen, passamos, em média, 10 horas em frente às nossas telas preferidas. Em 2020, estima-se que cada pessoa será capaz de gerar 1,7 MB de dados por segundo, como aponta a sexta edição Data Never Sleeps — de acordo com a ONU, já somos mais de 7 bilhões, faz só essa conta.
Vamos revelar como a Ciência de Dados é a solução para quem quer lançar um olhar estratégico sobre o ecossistema de dados que orbita seu negócio.
Conversaremos também sobre como o Data Science pode gerar: redução de custos, aumento de eficiência, reconhecimento de novas oportunidades de mercado e aumento da vantagem competitiva e de valor de negócio.
Aproveite a oportunidade de ficar por dentro de um dos temas mais reincidente nas agendas dos executivos globais - Data Science.
Oficina: construção de modelos descritivos e preditivos utilizando RFabrício Barth
- O documento apresenta uma oficina sobre construção de modelos descritivos e preditivos utilizando a linguagem R.
- Serão abordados conceitos de aprendizagem de máquina, análise de mensagens do Twitter usando agrupamento e desenvolvimento de algoritmos anti-spam.
- O objetivo é apresentar exemplos práticos de construção de modelos utilizando a linguagem R.
O documento apresenta os principais conceitos e métodos de modelagem de dados, incluindo tópicos como abstração de dados, modelos conceituais e lógicos, normalização e exercícios resolvidos. O objetivo é fornecer uma introdução básica sobre modelagem de dados e suas aplicações.
O documento discute o processo de data mining, incluindo suas definições, funções, técnicas e aplicações. Resume que data mining extrai padrões de dados para gerar conhecimento útil para tomada de decisão, utilizando técnicas como árvores de decisão, redes neurais e regras indutivas. Apresenta também exemplos de como empresas aplicaram com sucesso data mining.
Análise de performance usando as estatísticas do PostgreSQLMatheus de Oliveira
Essa palestra desmitifica as estatísticas do PostgreSQL abordando todo o sistema de coleta de dados estatísticos, as tabelas disponíveis atualmente, conceitos, técnicas e exemplos de consultas úteis para performance e monitoramento do PostgreSQL.
Map reduce novas abordagens para o processo de datamining em grandes volumn...João Gabriel Lima
O documento descreve o modelo MapReduce para processamento de grandes volumes de dados. MapReduce permite distribuir cálculos simples em larga escala através de centenas de máquinas, escondendo detalhes de paralelização e balanceamento de carga. O modelo usa funções Map e Reduce para processar pares de entrada/saída de forma paralela e distribuída. Vários trabalhos aplicam com sucesso MapReduce em tarefas como mineração de dados, aprendizado de máquina e processamento de petabytes de dados.
O documento discute vários modelos de dados, incluindo o modelo hierárquico, modelo de rede, modelo relacional, modelo orientado a objetos e modelo objeto-relacional. Cada modelo organiza e representa dados de maneiras diferentes com vantagens e desvantagens específicas. O documento fornece exemplos de aplicações para cada modelo.
O documento discute algoritmos e análise de algoritmos. Explica que um algoritmo é uma sequência de instruções para resolver um problema e que estruturas de dados são formas de armazenar informações. Também aborda como analisar algoritmos, variáveis na análise como tempo e espaço, e conceitos como complexidade, notação O grande e técnicas de projeto de algoritmos.
Construção de Classificadores utilizando Pentaho Data Mining (WEKA) - FTSL 2014 Marcos Vinicius Fidelis
Este documento fornece uma introdução ao processo de construção de classificadores para mineração de dados. Discute conceitos como classificação, regressão, agrupamento e detecção de desvios. Apresenta ferramentas como Weka e Pentaho para desenvolvimento de modelos preditivos e avaliação de algoritmos de aprendizado de máquina.
O documento discute sistemas de recomendação utilizando machine learning e deep learning. Ele descreve o pré-processamento de dados, a aplicação de vários algoritmos de machine learning como kNN, XGBoost e random forest, e o desenvolvimento de um modelo de autoencoder para filtragem colaborativa usando deep learning. O documento conclui que o naive bayes teve o melhor desempenho entre os algoritmos de machine learning, mas que deep learning é uma boa solução para lidar com grandes volumes de dados.
O documento descreve a instalação e configuração de um servidor web usando o Debian. Ele inclui instruções para instalar e configurar o Apache, PHP, MySQL e phpMyAdmin. Também discute conceitos básicos de banco de dados como modelo conceitual, lógico e físico e integridade referencial.
Este documento descreve a criação de modelos de previsão utilizando técnicas de data mining como redes neurais, clustering e árvores de decisão para analisar dados de vendas. Os modelos foram criados utilizando-se duas tabelas, uma para vendas a lojas e outra para vendas online, após limpeza e tratamento dos dados. Os resultados dos modelos serão usados para apoiar a tomada de decisão da organização.
O documento resume as principais tecnologias e conceitos relacionados ao Big Data, incluindo Hadoop, HDFS, MapReduce, bancos de dados NoSQL, Data Lake, processamento distribuído e arquiteturas de dados. O documento também discute conceitos como volume, variedade e velocidade de dados, além de apresentar as principais nuvens públicas para Big Data.
Scaling bayesian network parameter learning with HadoopJoão Gabriel Lima
Este documento descreve pesquisas sobre acelerar o aprendizado de parâmetros de redes Bayesianas usando Hadoop e MapReduce. Os autores implementaram algoritmos tradicionais e o algoritmo EM no Hadoop para aprendizagem de parâmetros, testando em várias redes Bayesianas complexas. Os experimentos mostraram que o MapReduce pode reduzir significativamente o tempo de processamento para grandes conjuntos de dados, em comparação com métodos sequenciais. As análises indicaram que o desempenho depende do tamanho e estrutura da rede, além
O documento discute a implementação de um sistema de monitoração inteligente na Globo.com. Ele apresenta a motivação, a arquitetura orientada a eventos proposta, as tecnologias de correlação de eventos e aprendizado de máquina utilizadas, e os próximos passos do projeto, como escalonamento, melhoria de algoritmos e inserção de camadas supervisionadas.
Semelhante a Data Mining e Machine Learning com Python - Mateus Grellert - Tchelinux Pelotas 2018 (20)
Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...Tchelinux
Em 2019 lancei um curso semi-presencial de "Introdução à administração de sistemas Linux". Praticamente todos os passos, desde gravação até edição foram feitos utilizando software livre. O objetivo da palestra é apresentar os bastidores da gravação do curso e ensinar as pessoas que assistirem a palestra a também criarem seus próprios vídeos utilizando software livre.
Vinícius Alves Hax é formado em Engenharia de Computação pela FURG e trabalha atualmente como Analista de TI na reitoria do IFSul. Utiliza Linux há quase quinze anos e tem experiência em desenvolvimento web e como administrador de sistemas, sempre utilizando preferencialmente o sistema livre.
Para mais informações:
http://viniciusah.com.br/
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio GrandeTchelinux
O documento apresenta informações sobre Diego Costa, CEO da Projeto Root, incluindo seus contatos e formação. Ele discute diversos tópicos relacionados à segurança da informação na internet, como riscos de navegação descuidada, como empresas de tecnologia coletam e usam dados pessoais, o caso Edward Snowden, tipos de ataques cibernéticos e como melhorar a segurança online.
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...Tchelinux
O documento discute editores de texto open source como LibreOffice e Apache OpenOffice. Ele apresenta as ferramentas desses softwares para criação de documentos, incluindo formatação de texto, quebra de páginas e estilos. O documento também explica como criar sumários e índices automaticamente.
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...Tchelinux
Jogar todo mundo joga. Programar, todo mundo pode. Jogar todo mundo treina. Programar, nem tanto. Mas para jogar é necessário que alguém desenvolva suas habilidades de programador. Nesse bate papo, porque ninguém mais tem paciência para palestras, será apresentada uma forma divertida de desenvolver a programação e conhecer a linguagem Python, construindo jogos, utilizando a biblioteca Pygame e ferramentas open source para desenvolver um jogo.
Jerônimo Medina Madruga trabalha com suporte técnico e treinamento para educação a distância da Universidade Federal de Pelotas (UFPel). Tem formação em Técnico em Eletrônica pelo Instituto Federal Sul-Rio-Grandense (IFSUL) e é ocasionalmente atuante em grupos ligados a divulgação e desenvolvimento de software livre. Já realizou mais de 70 palestras em eventos internacionais, nacionais e regionais, sobre os temas mais variados possíveis, normalmente ligados a educação, programação, comunidades, CMS e administração de sistemas.
Para mais informações:
https://www.linkedin.com/in/jmmadruga/
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio GrandeTchelinux
Palestra focada ao público mais jovem. Através de uma análise do mercado atual, o palestrante traça diferentes caminhos para um desenvolvedor que deseja iniciar a sua carreira.
Matheus Cezar é Técnico em Desenvolvimento de Software pelo IFRS - Campus Rio Grande e Analista de Sistemas formado pela mesma instituição. Já frequentou o mercado do desenvolvimento no estado do Rio Grande do Sul durante alguns anos. Hoje, Analista de TI na Prefeitura Municipal de Rio Grande.
Para mais informações:
https://www.linkedin.com/in/matheus-mendes-cezar-662905132/
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...Tchelinux
O documento discute APIs, REST e arquitetura RESTful. Explica que APIs permitem a integração entre sistemas e microserviços estruturam soluções como coleções de serviços levemente acoplados. REST é um estilo de projetar aplicativos da Web fracamente acoplados usando recursos nomeados e métodos HTTP padronizados. Arquitetura RESTful significa que uma aplicação web segue os princípios de design REST.
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...Tchelinux
O documento discute como os scripts de shell podem automatizar a instalação e configuração de ambientes Linux, especificamente no projeto AVAPolos. O projeto busca fornecer um ambiente virtual de aprendizagem onde a conexão com a internet é limitada, tornando necessária a automação dos procedimentos de instalação. O autor trabalha no desenvolvimento de scripts de shell para implementar a infraestrutura do projeto de forma reprodutível e facilitar a implantação em diferentes máquinas.
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...Tchelinux
O documento discute a revolução da comunicação em tempo real através da WebRTC, uma API JavaScript que permite comunicação ponto-a-ponto entre navegadores, dispositivos móveis e IoT. A WebRTC oferece áudio e vídeo de alta qualidade de forma barata através de comunicação peer-to-peer e APIs nativas para obter mídia, conexões entre pares e canais de dados. O documento também explica conceitos como signaling, STUN, TURN e ICE que permitem a comunicação mesmo através de firewalls e NATs, al
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...Tchelinux
O documento apresenta uma introdução à programação funcional com Clojure, descrevendo os principais conceitos como: imutabilidade, funções de alta ordem, closures e currying. O autor explica as diferenças entre paradigma funcional e imperativo, demonstra um "hello world" em Clojure e apresenta alguns recursos básicos como operadores, loops e interação com Java.
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio GrandeTchelinux
Visa introduzir conceitos básicos envolvidos na criação de um Data Warehouse. A palestra aborda desde o que é um data warehouse, até conceitos de modelagem utilizados na construção do mesmo.
Vítor Resing Plentz está concluindo o curso de Ciência da Computação, já foi presidente da Hut8 (EJ da Computação na UFPel) e atualmente é fundador e Cientista de Dados na Elixir AI, participando também como organizador da comunidade Pelotas Data Science Meetup.
Para mais informações:
https://www.linkedin.com/in/v%C3%ADtor-resing-plentz-438681101
Nas aulas abrimos bastantes "parênteses". Não, não os de código, os de assuntos paralelos mesmo. BIKESHEDDING! Nesses pequenos desvios, fala-se da etimologia dos nomes, das metáforas e filosofias usadas na programação, de fun facts, de tretas no mundo das empresas e da vida dos tech superstars, de idiossincrasias da comunidade de desenvolvimento e tecnologia, enfim, uma miscelânea de assuntos curiosos, que nunca teriam uma disciplina para encaixá-los, mas que agora tem uma palestra de 50 min :)
Márcio Josué Ramos Torres "Eu nasci a dez mil anos atrás", comecei com Basic num CP500 da Prológica - não, não tinha mouse; sem Internet, se aprendia lendo livros e revistas técnicas, escrevendo códigos e fazendo experiências; desenvolvi aplicações comerciais em dBase e então Clipper, sobre a plataforma MS-DOS; joguei Prince of Persia, Wolfenstein e DOOM (o primeiro!) - se usava o DOS/4GW para usar a memória estendida; já montei meu computador - quando se "setava" a IRQ por jumpers; instalei redes com cabo coaxial e conectores BNC; eu vi a ascensão da interface gráfica - adeus caracteres em fósforo verde; instalei o Win95 - malditos 13 disquetes; tive um Kit Multimídia da Creative - e uma Voodoo da 3dfx; migrei sistemas de Clipper para VB e Delphi; usei a Internet quando só existia HTML com "meia dúzia" de tags -sem CSS ou JS; acompanhei a ascensão da Web; eu estava lá, no início do Linux, vi sua evolução e consolidação nos servidores web - junto com CGI, Perl, Apache, MySQL, PHP, etc; instalei o Conectiva e já compilei o Kernel; instalei programas no "muque" - sem apt-get ou "avançar, avançar, ..."; comecei com Java ainda na versão 1.3 - sem enums, generics, autoboxing, etc, e tive meu primero contato (confronto) com OO - adeus velhos hábitos procedimentais; observei a Googlificação - mas usei o Cadê e o AltaVista; eu também estava lá, no crescimento do e-commerce - e no estouro da bolha da Internet; tive minha passagem por .NET e por Java EE e seus "ecosistemas"; atualmente, leciono POO, Patterns e Web no IFRS de Rio Grande e percebo que, na tecnologia, a única constante é o relacionamento com as pessoas.
Para mais informações:
https://www.linkedin.com/in/marcio-josue-ramos-torres/
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...Tchelinux
Este documento apresenta dois palestrantes, Samuel e Artur, e fornece uma introdução sobre o software Latex. Ele descreve as credenciais e interesses de Samuel e Artur, além de explicar como o Latex pode economizar tempo na formatação de documentos acadêmicos e quais editores de Latex existem para Linux, Windows e online.
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...Tchelinux
A tecnologia de hoje não é a mesma que existia no passado e também não será a mesma no futuro. Sobre o futuro, sabemos que com o avanço dela novas profissões irão surgir, essas novas profissões, oriundas de demandas ainda não existentes, são fomentadas no presente, à partir da escolha das competências necessárias para os futuros profissionais. As junções das habilidades desenvolvidas em diversas áreas de conhecimento tornará os profissionais aptos a exercerem funções ainda não existentes, seja emocionalmente, intelectualmente ou tecnicamente, para assim estar mais preparado para o mundo do trabalho. Falaremos de projetos que já estão em andamento para que esses novos profissionais estejam aptos para este futuro promissor tecnológico.
Jaqueline Trevizan cursa Análise e desenvolvimento de sistemas na Uniftec, e é apaixonada por tecnologia. Apoia e incentiva o ensino de programação para crianças e adolescentes e a inclusão da mulher na área de TI.
Neiva Kuyven é Doutoranda em Informática na Educação na UFRGS- Universidade Federal do Rio Grande do Sul. Mestre em Ciências da Computação pela Universidade Federal de Santa Catarina (2002), Graduação em Informática pela Universidade Regional do Noroeste do Estado do Rio Grande do Sul (1996) . Coordenadora do Curso de Bacharelado em Engenharia de Computação e do Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas do Centro Universitário UNIFTEC. Atua como professora nos cursos que coordena e também nos cursos Superiores de Redes de Computadores e Gestão da Tecnologia. Líder do grupo de pesquisa de Inteligência Artificial do UNIFTEC.
Alexandra Cemin possui Licenciatura Plena em Matemática e Física (UCS), especialista em Psicopedagogia em Gestão Organizacional e Psicopedagogia Clínica (UNILASALLE), com ênfase em dificuldades de aprendizagem matemática, mestrado em Educação (UNILASALLE) e doutoranda em Engenharia e Ciência dos Materiais (UCS). Atua como palestrante nas áreas de educação, é assessora pedagógica da EAD no Uniftec, docente de cálculo nas engenharias, docente de física na educação de jovens e adultos modalidade à distância no SESI/FIERGS e desenvolvedora de conteúdos, ministra disciplinas em cursos de pós-graduação. Pesquisadora na área de inteligência artificial e metodologias de ensino e coordenadora de projetos em robótica e programação para crianças e adolescentes. Experiência como: Coordenadora Pedagógica no Ensino Superior da rede Ftec Faculdades, docente de matemática e física no ensino básico, técnico, jovens e adultos (EAD) e superior, instrutora de robótica educacional e coordenadora de projetos.
Para mais informações:
https://www.linkedin.com/in/jaquelinetrevizan
http://lattes.cnpq.br/6429639409221087
http://lattes.cnpq.br/1958688202287600
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...Tchelinux
Nesta apresentação conheceremos o oVirt, uma poderosa solução de código aberto de virtualização.
Daniel Lara trabalha como Sysadmin e nas horas de folgas contribui com o Projeto Fedora.
Para mais informações: https://twitter.com/danniellara
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019Tchelinux
Buidroot é uma ferramenta para automação do processo de geração de um sistema Linux para dispositivos embarcados. O objetivo da palestra é dar uma visão geral dos componentes de um sistema embarcado que utiliza Linux e como gerar um sistema Linux embarcado com o Buildroot.
Renato Severo é Engenheiro de Computação pela Unipampa Bagé. Especialista em Sistemas Embarcados pela UERGS Guaíba. Desenvolvedor de Sistemas Embarcados na DATACOM em Eldorado do Sul.
Para mais informações acesse: https://linkedin.com/in/renatossevero/
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.Tchelinux
O documento discute as etapas de conclusão de um TCC, incluindo escolha de tema, normas ABNT, ferramentas de escrita como LATEX e gerenciamento de referências bibliográficas com BibTeX. É recomendado o uso do LATEX ao invés de Word devido a vantagens como controle de versão e facilidade de criação de apresentações com Beamer.
Não deixe para testar depois o que você pode testar antes. Tchelinux
O documento discute testes de software, introduzindo Test Driven Development (TDD), Behavior Driven Development (BDD) e a ferramenta Behave. Explica os conceitos de user stories, critérios de aceitação e ciclo de desenvolvimento de software, além de apresentar a linguagem Gherkin e como implementar testes com Behave.
O documento discute o uso da biblioteca Pygame para desenvolvimento de jogos em Python. Apresenta razões para programação de jogos, escolha de Python e Pygame, e fornece exemplos básicos de como iniciar uma aplicação Pygame, desenhar na tela, criar sprites, tratar eventos de teclado e áudio. O autor também discute outros tópicos importantes como colisões, comportamento de NPCs e cenários.
Este documento discute vários tópicos relacionados à fotografia digital, incluindo processos fotográficos tradicionais e alternativos, captura de imagens, edição, manipulação digital, software livre para conversão RAW, edição e gerenciamento de fotos. O documento também aborda backups, impressão e novas funcionalidades em desenvolvimento para a fotografia digital livre.
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...Faga1939
Este artigo tem por objetivo apresentar como ocorreu a evolução do consumo e da produção de energia desde a pré-história até os tempos atuais, bem como propor o futuro da energia requerido para o mundo. Da pré-história até o século XVIII predominou o uso de fontes renováveis de energia como a madeira, o vento e a energia hidráulica. Do século XVIII até a era contemporânea, os combustíveis fósseis predominaram com o carvão e o petróleo, mas seu uso chegará ao fim provavelmente a partir do século XXI para evitar a mudança climática catastrófica global resultante de sua utilização ao emitir gases do efeito estufa responsáveis pelo aquecimento global. Com o fim da era dos combustíveis fósseis virá a era das fontes renováveis de energia quando prevalecerá a utilização da energia hidrelétrica, energia solar, energia eólica, energia das marés, energia das ondas, energia geotérmica, energia da biomassa e energia do hidrogênio. Não existem dúvidas de que as atividades humanas sobre a Terra provocam alterações no meio ambiente em que vivemos. Muitos destes impactos ambientais são provenientes da geração, manuseio e uso da energia com o uso de combustíveis fósseis. A principal razão para a existência desses impactos ambientais reside no fato de que o consumo mundial de energia primária proveniente de fontes não renováveis (petróleo, carvão, gás natural e nuclear) corresponde a aproximadamente 88% do total, cabendo apenas 12% às fontes renováveis. Independentemente das várias soluções que venham a ser adotadas para eliminar ou mitigar as causas do efeito estufa, a mais importante ação é, sem dúvidas, a adoção de medidas que contribuam para a eliminação ou redução do consumo de combustíveis fósseis na produção de energia, bem como para seu uso mais eficiente nos transportes, na indústria, na agropecuária e nas cidades (residências e comércio), haja vista que o uso e a produção de energia são responsáveis por 57% dos gases de estufa emitidos pela atividade humana. Neste sentido, é imprescindível a implantação de um sistema de energia sustentável no mundo. Em um sistema de energia sustentável, a matriz energética mundial só deveria contar com fontes de energia limpa e renováveis (hidroelétrica, solar, eólica, hidrogênio, geotérmica, das marés, das ondas e biomassa), não devendo contar, portanto, com o uso dos combustíveis fósseis (petróleo, carvão e gás natural).
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
Em um mundo cada vez mais digital, a segurança da informação tornou-se essencial para proteger dados pessoais e empresariais contra ameaças cibernéticas. Nesta apresentação, abordaremos os principais conceitos e práticas de segurança digital, incluindo o reconhecimento de ameaças comuns, como malware e phishing, e a implementação de medidas de proteção e mitigação para vazamento de senhas.
A linguagem C# aproveita conceitos de muitas outras linguagens,
mas especialmente de C++ e Java. Sua sintaxe é relativamente fácil, o que
diminui o tempo de aprendizado. Todos os programas desenvolvidos devem
ser compilados, gerando um arquivo com a extensão DLL ou EXE. Isso torna a
execução dos programas mais rápida se comparados com as linguagens de
script (VBScript , JavaScript) que atualmente utilizamos na internet
Data Mining e Machine Learning com Python - Mateus Grellert - Tchelinux Pelotas 2018
1. Data Mining e Machine
Learning com Python
Prof. Mateus Grellert
Universidade Católica de Pelotas
2. Introdução
Link para download da palestra e documentos úteis
https://tinyurl.com/tchelinux-grellert
QR Code
PROF. MATEUS GRELLERT 2
3. Introdução
Tanto Data Mining quando Machine Learning são ferramentas da
Ciência de Dados
A Ciência de Dados estuda métodos de extração de conhecimento
com base em informações coletadas de diferentes fontes
O objetivo é buscar a relação entre valores observáveis
(computáveis) e não observáveis (não computáveis)
Também usamos os termos atributos e desfecho/classe para
valores observáveis e não observáveis respectivamente
PROF. MATEUS GRELLERT 3
4. Introdução
PROF. MATEUS GRELLERT 4
Bancos
de Dados
Técnicas de
Processamento
e Análise
Algoritmos
de Modelagem
Machine
Learning
Data
Mining
Bibliotecas
e software
Ciência
de Dados
5. Data Mining x Machine Learning
Exemplos de aplicações que utilizam DM/ML
Reconhecimento de objetos/ações
Análise de sentimento
Diagnóstico de doenças
Prevenção de desastres naturais
Sistemas de recomendação
Sistemas autônomos
PROF. MATEUS GRELLERT 5
6. Mas afinal de onde vêm os dados?
Existem diversas fontes públicas que fornecem dados para
análise:
UCI Machine Learning Repository
Kaggle
Youtube-8M
APIs como Twitter Streaming
...
Fontes de Dados
PROF. MATEUS GRELLERT 6
7. Tipos de Dados
Os dados são normalmente categorizados conforme a faixa
de valores que eles representam, podendo ser:
Dados categóricos: são aqueles que assumem um subconjunto
finito de valores. Exemplo: a variável “Choveu” somente assume os
valores V ou F.
Dados numéricos: assumem uma faixa contínua de valores.
Exemplo: temperatura pode assumir qualquer valor entre (-273, inf)
PROF. MATEUS GRELLERT 7
8. Ferramentas de DM/ML
OK, já tenho os dados. Como começo a desenvolver aplicações
de DM/ML?
Hoje em dia, existem duas linguagens que se destacam para
esse propósito: Python e R
Algumas Bibliotecas em Python úteis para desenvolvimento de
aplicações DM/ML
numpy
pandas
scipy
PROF. MATEUS GRELLERT 8
scikit-learn
matplotlib
nltk
seaborn
imblearn
pickle
9. Fluxo de projeto integrando DM e ML:
Desenvolvimento de Aplicações DM/ML
PROF. MATEUS GRELLERT 9
Banco de
Dados
1. Limpeza/
Processamento
3. Transformação
2. Visualização e
Análise
4. Treinamento 5. Avaliação 6. Refinamento
Modelo
Preditivo
Data Mining Machine Learning
10. Acessando um Banco em Python
Duas formas comuns de acessar bancos em Python com
Pandas
PROF. MATEUS GRELLERT 10
11. Exemplo de Banco em CSV
PROF. MATEUS GRELLERT 11
Vamos ver como fica na prática usando um banco cujo desfecho é a
diabetes em mulheres indígenas (Pima Indians Dataset)
Fonte: https://www.kaggle.com/uciml/pima-indians-diabetes-database
atributos desfecho
12. Acessando um Banco em Python
Quando usamos Pandas, o banco fica armazenado em uma estrutura
chamada Dataframe, que é organizada em linhas e colunas
identificadas
PROF. MATEUS GRELLERT 12
13. Fluxo de projeto integrando DM e ML:
Desenvolvimento de Aplicações DM/ML
PROF. MATEUS GRELLERT 13
Banco de
Dados
1. Limpeza/
Processamento
Data Mining Machine Learning
14. A primeira tarefa que realizamos é o tratamento dos dados
armazenados no banco
Dependendo de como os dados são adquiridos e representados,
essa tarefa pode ser até mesmo desconsiderada
Existem duas situações que exigem atenção:
Dados não estruturados: se estivermos trabalhando com esse tipo de
dado, essa etapa vai ser bem mais complexa
Dados não preenchidos ou mal preenchidos: normalmente são mais
simples de tratar
1 – Limpeza e Pré-processamento
PROF. MATEUS GRELLERT 14
15. 1 – Limpeza e Pré-processamento – missing
values
Podemos simplesmente remover as amostras com dados não preenchidos,
mas isso pode eliminar exemplos importantes de treinamento
Uma alternativa para isso é usar a imputação de dados
A técnica consiste em substituir os valores faltantes em cada coluna por
um valor neutro como a média (dados numéricos), a mediana ou a moda
(dados categóricos)
Alguns estatísticos criticam essa abordagem por gerar um desvio padrão
subestimado
Melhor imputar ou remover? Depende, vale sempre testar os dois casos
PROF. MATEUS GRELLERT 15
16. 1 – Limpeza e Pré-processamento – Imputação
PROF. MATEUS GRELLERT 16
detectamos colunas com
valores nulos pelo
método isnull.any()
para imputar dados em
colunas com valores
nulos, usamos o método
fillna(val)
val é o valor que vai
substituir. Nesse caso
usamos a média
(calculada pelo método
mean() )
17. Fluxo de projeto integrando DM e ML:
Desenvolvimento de Aplicações DM/ML
PROF. MATEUS GRELLERT 17
Banco de
Dados
1. Limpeza/
Processamento
2. Visualização e
Análise
Modelo
Preditivo
Data Mining Machine Learning
18. Visualização e Análise de Dados
Permite avaliar de forma visual a distribuição dos dados
Para dados categóricos, usamos o histograma de valores,
que representa quantas vezes cada valor ocorreu
Para dados numéricos, podemos usar histogramas, ou a
função densidade de probabilidade (PDF) ou semelhante
É interessante agrupar os histogramas/PDFs de acordo com
o valor do desfecho (vamos ver o exemplo pra ficar claro)
PROF. MATEUS GRELLERT 18
19. Visualização e Análise de Dados
A visualização vai permitir uma análise inicial de que dados são úteis
para prever o nosso desfecho
Dados úteis são aqueles que nos permitem separar os grupos de
desfecho de forma homogênea (idealmente linear)
PROF. MATEUS GRELLERT 19
Fonte: http://www.cs.uccs.edu/~jkalita/work/cs587/2014/03SimpleNets.pdf
20. Visualização e Análise de Dados
20
Código para plotar histogramas usando o método plot.hist() do
pandas agrupados pelo desfecho de diabetes (coluna “Outcome”)
Usamos groupby(“Outcome”) para agrupar os dados primeiro
21. Visualização e Análise de Dados
PROF. MATEUS GRELLERT 21
- O nível de glicose pode ser útil
para separar os desfechoss de
diabetes.
- Na região (50, 100) existe maior
ocorrência de casos negativos.
- Na região (150, 200) de casos
positivos
22. Fluxo de projeto integrando DM e ML:
Desenvolvimento de Aplicações DM/ML
PROF. MATEUS GRELLERT 22
Banco de
Dados
1. Limpeza/
Processamento
3. Transformação
2. Visualização e
Análise
Modelo
Preditivo
Data Mining Machine Learning
23. Transformação de Dados
Consiste em tratar os dados para:
aumentar a qualidade da informação de entrada
reduzir o número de atributos para gerar modelos mais simples
(Curse of Dimensionality)
normalizar os valores para a mesma escala (necessário para
algumas técnicas)
PROF. MATEUS GRELLERT 23
24. Transformação de Dados – Normalização
Normalizar os atributos é necessário para que algumas
técnicas funcionem corretamente (PCA e SVMs são exemplos
clássicos)
Para isso, mapeamos os valores para uma nova faixa de
representação
Standard Scaling: para cada atributo, subtraímos a média e
dividimos pela variância. Isso faz com que todos os atributos
tenham média zero e variância unitária.
PROF. MATEUS GRELLERT 24
25. Transformação de Dados – PCA
Um transformação comum para aumentar a qualidade e reduzir o conjunto de
atributos se baseia no método Principal Component Analysis (PCA)
O PCA combina os atributos linearmente, buscando por componentes que
maximizam a variância da distribuição dos dados e que são ortogonais entre si
PROF. MATEUS GRELLERT 25
1o componente principal
(máxima variância)
Fonte: adaptado de https://gerardnico.com/data_mining/pca
2o componente principal
26. Transformação de Dados – Norm. + PCA
PROF. MATEUS GRELLERT 26
Código em Python usando os métodos StandardScaler() e
PCA()
27. Transformação de Dados – Norm. + PCA
PROF. MATEUS GRELLERT 27
Dados normalizados
geram uma distribuição
PCA mais separável!
28. Fluxo de projeto integrando DM e ML:
Desenvolvimento de Aplicações DM/ML
PROF. MATEUS GRELLERT 28
Banco de
Dados
1. Limpeza/
Processamento
3. Transformação
2. Visualização e
Análise
4. Treinamento
Modelo
Preditivo
Data Mining Machine Learning
29. 4 – Treinamento
Consiste em treinar modelos preditivos usando um algoritmo
de Machine Learning
Existem diferentes algoritmos, cada um com suas vantagens
e desvantagens
Primeiro precisamos selecionar os algoritmos de acordo com
nosso desfecho:
Para desfecho categórico: usamos técnicas de classificação
Para desfecho numérico: usamos técnicas de regressão
PROF. MATEUS GRELLERT 29
30. 4 – Treinamento
Desfecho Algoritmo Scikit-learn
Categórico
Regressão Logística sklearn.linear_model.LogisticRegression
Árvores de Decisão sklearn.tree.DecisionTreeClassifier
SVMs de classificação sklearn.svm.SVC
Redes Neurais sklearn.neural_network.MLPClassifier
Numérico
Regressão Linear sklearn.linear_model.LinearRegression
SVMs de regressão sklearn.svm.SVR
Redes Neurais sklearn.neural_network.MLPClassifier
Regressor baseado em SGD sklearn.linear_model.SGDRegressor
PROF. MATEUS GRELLERT 30
31. 4 – Treinamento – Árvores de Decisão
Árvores de Decisão são ótimos modelos iniciais. São eficientes para muitos
casos e fáceis de interpretar
Para qualquer classificador, sempre vamos treiná-lo pelo método fit(X,y)
Para aplicar o modelo a uma entrada X, usamos o método predict(X) que retorna
um y predito.
PROF. MATEUS GRELLERT 31
Saída:
32. Glucose ≤ 127.5
gini = 0.454
samples = 768
value = [500, 268]
class = ~diabetes
Age ≤ 28.5
gini = 0.313
samples = 485
value = [391, 94]
class = ~diabetes
True
BMI ≤ 30.2
gini = 0.474
samples = 283
value = [109, 174]
class = diabetes
False
BMI ≤ 30.95
gini = 0.155
samples = 271
value = [248, 23]
class = ~diabetes
Glucose ≤ 103.5
gini = 0.443
samples = 214
value = [143, 71]
class = ~diabetes
gini = 0.026
samples = 151
value = [149, 2]
class = ~diabetes
gini = 0.289
samples = 120
value = [99, 21]
class = ~diabetes
gini = 0.32
samples = 90
value = [72, 18]
class = ~diabetes
gini = 0.489
samples = 124
value = [71, 53]
class = ~diabetes
gini = 0.452
samples = 81
value = [53, 28]
class = ~diabetes
Glucose ≤ 157.5
gini = 0.401
samples = 202
value = [56, 146]
class = diabetes
gini = 0.476
samples = 113
value = [44, 69]
class = diabetes
gini = 0.233
samples = 89
value = [12, 77]
class = diabetes
4 – Treinamento – Árvores de Decisão
Árvore obtida com o data set “Pima Indians Diabetes”
PROF. MATEUS GRELLERT 32
Atributo mais importante fica na raiz
da árvore
As decisões ficam sempre nas folhas.
A árvore é percorrida de acordo com
os testes lógicos feitos em cada nó.
33. Fluxo de projeto integrando DM e ML:
Desenvolvimento de Aplicações DM/ML
PROF. MATEUS GRELLERT 33
Banco de
Dados
1. Limpeza/
Processamento
3. Transformação
2. Visualização e
Análise
4. Treinamento 5. Avaliação
Modelo
Preditivo
Data Mining Machine Learning
34. 5 – Avaliação
A avaliação de desempenho de um modelo pode ser feita de
várias formas
Uma forma bastante comum é simplesmente computar a
taxa de acertos do modelo com relação a uma saída de
referência, chamado de acurácia
!"" =
∑(&'()*== &()!+)
|&|
Outras formas podem ser consideradas quando os erros
possuem pesos diferentes. Exemplo: diagnóstico de câncer
PROF. MATEUS GRELLERT 34
36. 5 – Avaliação – Overfitting
100% de acerto? A minha árvore é perfeita!!
Não é bem assim... isso pode ter ocorrido por causa de um
fenômeno conhecido como Overfitting
Overfitting: ocorre quando o modelo funciona muito bem
para os dados de treino, mas perde desempenho quando
outras amostras são testadas
Vamos usar uma técnica mais confiável
PROF. MATEUS GRELLERT 36
37. 5 – Avaliação – Validação Cruzada
Vamos checar o desempenho de nossa árvore usando uma técnica
mais confiável chamada Validação Cruzada (Cross Validation – CV)
A CV separa o conjunto de treino em N subpartições de tamanho
igual. N-1 subpartições são usadas para treino e 1 para teste.
PROF. MATEUS GRELLERT 37Fonte: https://www.kaggle.com/dansbecker/cross-validation
38. 5 – Avaliação – Validação Cruzada
PROF. MATEUS GRELLERT 38
O método para CV é:
cross_val_score(clf, X, y, cv)
clf é o classificador treinado
cv é número de subpartições
Notem que a acurácia da CV é
muito menor! Isso mostra que
precisamos refinar nosso
treinamento
39. Fluxo de projeto integrando DM e ML:
Desenvolvimento de Aplicações DM/ML
PROF. MATEUS GRELLERT 39
Banco de
Dados
1. Limpeza/
Processamento
3. Transformação
2. Visualização e
Análise
4. Treinamento 5. Avaliação 6. Refinamento
Modelo
Preditivo
Data Mining Machine Learning
40. 6 – Refinamento
Cada algoritmo de classificação possui parâmetros de treino
que alteram o modelo gerado
Dependendo dos parâmetros, vamos ter modelos melhores
ou piores
A etapa de refinamento consiste em explorar diferentes
valores para esses parâmetros, a fim de achar a melhor
combinação
PROF. MATEUS GRELLERT 40
41. Depois de passar horas treinando modelos, a melhor forma
de não passar por todo esse trabalho de novo é salvar o
objeto scikit-learn num arquivo
Para isso, existe uma biblioteca chamada pickle, pela qual
conseguimos salvar objetos e depois recarregá-los na
memória
pickle.dump( objeto, arquivo_binário ) : para salvar
objeto = pickle.load( arquivo_binário ) : para carregar
Salvando Modelos
PROF. MATEUS GRELLERT 41