MAC 0425/ Inteligência Artificial

Tamanho: px
Começar a partir da página:

Download "MAC 0425/ Inteligência Artificial"

Transcrição

1 MAC 0425/ Inteligência Artificial Exercício-Programa 4 - Clasificação Prazo limite de entrega: 23:59 07/12/ Introdução Neste exercício-programa estudaremos o problema de aprendizagem supervisionado em conjuntos categóricos, implementando um classificador que usa árvores de decisão. Os objetivos deste exercício-programa são: (i) Familiarizar-se com os conceitos de aprendizagem supervisionado (ii) Estudar árvores de decisão, seus parâmetros de configuração e comparar o impacto deles no desempenho da classificação (iii) Implementar as principais componentes do algoritmo de aprendizado de árvores de decisão Árvores de decisão são uma das formas mais simples e sucedidas de algoritmos de aprendizagem de máquina. Uma árvore recebe como entrada uma situação descrita por um conjunto de características e retorna uma decisão booleana (sim/não). Para esse exercício-programa consideraremos alguns domínios para entender melhor os conceitos de aprendizagem de máquina. 1.1 Instalação Para a realização deste EP será necessário ter instalado em sua máquina a versão 2.7 do Python 1. Faça o download do arquivo ep4.zip disponível na página web da disciplina. Descompacte o arquivo ep4.zip e rode na raiz do diretório o seguinte comando para testar a instalação: $ python classify.py 2 Classificação usando árvores de decisão Nesse exercício-programa você resolverá diversos problemas de classificação. Independentemente do domínio, a classe para o aprendizado de uma árvore de decisão é definida com o conjunto de métodos abaixo (disponível no arquivo decisiontree.py): 1 1

2 # arquivo decisiontree.py class DecisionTreeClassifier( ClassificationMethod.ClassificationMethod ) : def init ( self, legallabels ) : def train( self, data, labels, args ) : Learn the tree model def buildtree( self, data, labels, depth = 0 ) : Recursive function to learn the tree model def isleaf( self, data, labels, depth ) : Check if it is not necessary to split the data def bestsplit( self, data, labels ) : Get the best variable to split the dataset using the metric function def divideset( self, data, label, variable ) : Given a variable, split the data set and labels in two sets. One data set with instances having variable as 0 and the other with instances having variable as 1 def classify( self, testdata ) : Classify all test data using the learned tree model 2

3 3 Implementação Arquivos que você precisará editar: decisiontree.py onde o algoritmo será implementado; metrics.py onde as métricas para divisão de um conjunto de dados serão implementadas. Arquivos que você precisará ler e entender: classify.py arquivo principal para executar os métodos de classificação. samples.py leitura dos conjuntos de dados mostfrequent.py algoritmo de aprendizado que rotula toda instância como a classe mais freqüente util.py estruturas de dados para auxiliar a codificação do algoritmo. Observação: Se recomenda usar a estrutura de dado Counter disponível no arquivo util.py na sua implementação. 4 Parte prática Você deverá implementar algumas funções nos arquivos decisiontree.py e metrics.py. Não esqueça de remover o código util.raisenotdefined() ao final de cada função. IMPORTANTE: Antes de implementar cada código, leia atentamente os comentários da função e tenha certeza que entendeu sua(s) entrada(s) e saída(s)! 4.1 Cenário 1 - Treinamento A primeira fase para obter um modelo de classificação requer aprender a estrutura dele dadas as observações. No caso de uma árvore de decisão, precisa-se implementar o algoritmo Hunt visto em aula. Código 0 - Decisão Modifique as funções train e classify para aprender uma árvore de 0 nível, ou seja, uma árvore de classificação que decide pela classe mais frequente. $ python autograder.py -q 0 Código 1 - Seleção de variável para divisão Implemente as métricas para escolha da divisão de um conjunto de dados explicadas em aula no arquivo metrics.py nas funções gini (índice de Gini), error (erro de classificação), entropy (entropia). Para testar suas implementações rode os comandos: $ python autograder.py -q 1 3

4 Código 2 - Melhor variável para dividir um conjunto Implemente a função de divisão de conjunto que usa uma métrica da pergunta anterior na função bestsplit. Para testar sua implementação rode o comando: $ python autograder.py -q 2 Além disso, modifique a função train para aprender uma árvore de classificação de 1 nível. Código 3 - Condições de parada de aprendizado Dado que o algoritmo Hunt é recursivo, você deve implementar o caso base do algoritmo verificando que não é necessário continuar dividindo o conjunto atual. Implemente o método no arquivo decisiontree.py na função isleaf. Para testar seu algoritmo rode o comando: $ python autograder.py -q 3 Código 4 - Aprendizado da árvore de decisão Implemente o algoritmo de Hunt no método buildtree para aprendizado da árvore que usa todos os métodos anteriores. Para testar seu algoritmo rode o comando: $ python autograder.py -q 4 Observações: Use a estrutura de dados DecisionNode na sua implementação 4.2 Cenário 2 - Teste Nesse cenário você já tem um modelo aprendido dado um conjunto de treinamento. Agora você precisa rotular novas instâncias usando seu modelo. Código 5 - Classificação de novas instâncias usando o modelo aprendido Implementar o método test da classe DecisionTree no arquivo decisiontree.py. Para testar sua implementação pode roda o comando. $ python autograder.py -q 5 Observação: Leia o arquivo mostfrequent.py para saber como devem ser retornados os rótulos. 4

5 5 Relatório Após o desenvolvimento da parte prática, você deverá testar o algoritmo com diferentes configurações e redigir um relatório claro e sucinto. Assim, você deverá: (a) compilar em tabelas as estatísticas das diferentes configurações em termos de acurácia; (b) discutir os méritos e desvantagens de cada configuração, no contexto dos dados obtidos; (c) responder as questões teóricas; (d) sugerir possíveis melhorias ao sistema e relatar dificuldades. 5.1 Questões Questão 1 - Métricas Quanto importante é a escolha de uma métrica de divisão no aprendizado de uma árvore de decisão? Questão 2 - Condição de parada Além do nível máximo que pode ter a árvore de decisão aprendida, quais outras condicões você implementou? Questão 3 - Acurácia Teste vários valores do parâmetro maxdepth e compare. Por qué ao aumentar o nível máximo não sempre a acurácia melhora? Questão 4 - Comparação Em qué casos rotular com a instância mais frequente pode ser melhor que usar uma árvore de decisão? 6 Entrega Você deve entregar um arquivo ep4.zip contendo APENAS os arquivos: (1) decisiontree.py e metrics.py com as implementações da parte prática; (2) relatório em formato PDF com as questões e comparação e discussão dos resultados (máximo de 2 páginas). Não esqueça de identificar cada arquivo com seu nome e número USP! No código coloque um cabeçalho em forma de comentário. 7 Critério de avaliação O critério de avaliação dependerá parcialmente dos resultados dos testes automatizados do autograder.py. Dessa forma você terá como avaliar por si só parte da nota que receberá para a parte prática. Para rodar os testes automatizados, execute o seguinte comando no diretório raiz: $ python autograder.py Com relação ao relatório, avaliaremos principalmente sua forma de interpretar comparativamente os desempenhos de cada configuração da árvore de decisão. Deve ficar claro que você compreendeu os resultados obtidos conforme esperado dados os parâmetros. Parte prática (37 pontos) 5

6 Código 0: autograder (3 pontos) Código 1: autograder (9 pontos) Código 2: autograder (6 pontos) Código 3: autograder (4 pontos) Código 4: autograder (9 pontos) Código 5: autograder (6 pontos) Relatório (25 pontos) Questões: (10 pontos) Comparação e Discussão: (15 pontos) 6

MAC0425/ Inteligência Artificial Exercício-Programa 1 - Busca

MAC0425/ Inteligência Artificial Exercício-Programa 1 - Busca MAC0425/5739 - Inteligência Artificial Exercício-Programa 1 - Busca Prazo limite de entrega: 23:59:59 11/9/2016 1 Introdução Neste exercício-programa estudaremos a abordagem de resolução de problemas através

Leia mais

MLaaS com Azure: Que tipo de flor de íris é essa?

MLaaS com Azure: Que tipo de flor de íris é essa? MLaaS com Azure: Que tipo de flor de íris é essa? Douglas Lima Dantas Bacharel em Engenharia de Computação pela UEA (2013-2017) Trainee Samsung Ocean (2015-2017) Mestrando em Engenharia Elétrica pela Poli-USP

Leia mais

WEKA: Prática Carregando a base de dados no Weka

WEKA: Prática Carregando a base de dados no Weka WEKA: Prática 2 1. Introdução O objetivo desta prática é utilizar a ferramenta Weka para comparar dois algoritmos de aprendizagem de máquina em um problema de detecção de SPAM. Os algoritmos a serem comparados

Leia mais

Trabalho de LP 15/07/2013. Prof. Flávio Miguel Varejão

Trabalho de LP 15/07/2013. Prof. Flávio Miguel Varejão 15/07/2013 Trabalho de LP Prof. Flávio Miguel Varejão OBSERVAÇÃO IMPORTANTE: LEIA ATENTAMENTE TODA A ESPECIFICAÇÃO DO TRABALHO E INSTRUÇÕES DE SUBMISSÃO DE MODO A NÃO COMETER ENGANOS POR DESATENÇÃO E SER

Leia mais

Primeiro Trabalho de IA/SI: Buscas. Entrega: 03/03/2019 (2 semanas)

Primeiro Trabalho de IA/SI: Buscas. Entrega: 03/03/2019 (2 semanas) Primeiro Trabalho de IA/SI: Buscas Entrega: 03/03/2019 (2 semanas) 18 de Fevereiro de 2019 Este trabalho é para ser submetido via Moodle. Será desenvolvido principalmente durante as aulas práticas, mas

Leia mais

Créditos. SCC0173 Mineração de Dados Biológicos. Aula de Hoje. Introdução. Classificação III: Árvores de Decisão

Créditos. SCC0173 Mineração de Dados Biológicos. Aula de Hoje. Introdução. Classificação III: Árvores de Decisão SCC073 Mineração de Dados Biológicos Classificação III: Árvores de Decisão Créditos O material a seguir consiste de adaptações e extensões dos originais: gentilmente cedidos pelo Prof. André C. P. L. F.

Leia mais

Aprendizado de Máquina (Machine Learning)

Aprendizado de Máquina (Machine Learning) Ciência da Computação Aprendizado de Máquina (Machine Learning) Aula 09 Árvores de Decisão Max Pereira Classificação É a tarefa de organizar objetos em uma entre diversas categorias pré-definidas. Exemplos

Leia mais

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo Árvore: estrutura composta por nós e arestas entre nós. As arestas são direcionadas ( setas ) e: um nó (e apenas um) é a raiz; todo nó

Leia mais

Inteligência Artificial

Inteligência Artificial Inteligência Artificial Aula 14 Aprendizado de Máquina Avaliação de s Preditivos (Classificação) Hold-out K-fold Leave-one-out Prof. Ricardo M. Marcacini ricardo.marcacini@ufms.br Curso: Sistemas de Informação

Leia mais

APRENDIZAGEM DE MÁQUINA

APRENDIZAGEM DE MÁQUINA APRENDIZAGEM DE MÁQUINA (usando Python) Thiago Marzagão ÁRVORE DE DECISÃO & VALIDAÇÃO Thiago Marzagão APRENDIZAGEM DE MÁQUINA 1 / 20 árvore de decisão Aulas passadas: queríamos prever variáveis quantitativas.

Leia mais

Aprendizado de Máquina

Aprendizado de Máquina Aprendizado de Máquina Introdução ao WEKA Luiz Eduardo S. Oliveira Universidade Federal do Paraná Departamento de Informática http://web.inf.ufpr.br/luizoliveira Luiz S. Oliveira (UFPR) Aprendizado de

Leia mais

Aprendizado de Máquina (Machine Learning)

Aprendizado de Máquina (Machine Learning) Ciência da Computação (Machine Learning) Aula 01 Motivação, áreas de aplicação e fundamentos Max Pereira Nem todo conhecimento tem o mesmo valor. O que torna determinado conhecimento mais importante que

Leia mais

Lista de Linguagens de Programação 16

Lista de Linguagens de Programação 16 Lista de Linguagens de Programação 16 Nome: Matrícula: Os exercícios desta lista devem ser todos implementados em Python. 1. Este exercício faz referência às classes implementadas em Python disponíveis

Leia mais

CEFET/RJ. Aprendizado de Máquina - Trabalho 01

CEFET/RJ. Aprendizado de Máquina - Trabalho 01 CEFET/RJ Programa de Pós-graduação em Ciência da Computação Aprendizado de Máquina - Trabalho 01 Prof. Eduardo Bezerra (ebezerra@cefet-rj.br) Setembro/2017 Conteúdo 1 Regressão Linear com uma Variável

Leia mais

K-Nearest Neighbours & RSTUDIO

K-Nearest Neighbours & RSTUDIO K-Nearest Neighbours & RSTUDIO Rodrigo Augusto Igawa Universidade Estadual de Londrina igawa@uel.br 17 de novembro de 2015 Rodrigo Augusto Igawa (UEL) KNN PARTE 2 17 de novembro de 2015 1 / 16 Sumário

Leia mais

Aprendizagem de Máquina

Aprendizagem de Máquina Aprendizagem de Máquina écnicas de Classificação Árvores de Decisão Prof. Paulo Martins Engel UFRGS Árvores de Decisão As árvores de decisão (AD) são ferramentas poderosas para classificação cuja maior

Leia mais

Programação I Aula 19 Aritmética com racionais Pedro Vasconcelos DCC/FCUP

Programação I Aula 19 Aritmética com racionais Pedro Vasconcelos DCC/FCUP Programação I Aula 19 Aritmética com racionais DCC/FCUP DCC/FCUP 2019 1/ 30 Nesta aula 1 Aritmética com racionais 2 Simplificação 3 Operações 4 Comparações DCC/FCUP 2019 2/ 30 Aritmética com racionais

Leia mais

Laboratório 3 Comandos de repetição while, do-while e for

Laboratório 3 Comandos de repetição while, do-while e for Laboratório 3 Comandos de repetição while, do-while e for Computação I (MAB-120) Prof. Silvana Rossetto 1 DCC/IM/UFRJ 29 de março de 2019 O objetivo desta aula de laboratório é praticar o uso dos comandos

Leia mais

SPYDER. um ambiente de desenvolvimento integrado (IDE*) para Python. Prof. Carlos Hitoshi Morimoto DCC IME USP Março, 2016

SPYDER. um ambiente de desenvolvimento integrado (IDE*) para Python. Prof. Carlos Hitoshi Morimoto DCC IME USP Março, 2016 SPYDER um ambiente de desenvolvimento integrado (IDE*) para Python Prof. Carlos Hitoshi Morimoto DCC IME USP Março, 2016 * IDE = Integrated Development Environment Esta obra está licenciada com uma licença

Leia mais

Linguagens de Programação. Trabalhos. Carlos Bazilio

Linguagens de Programação. Trabalhos. Carlos Bazilio Linguagens de Programação Trabalhos Carlos Bazilio carlosbazilio@id.uff.br http://www.ic.uff.br/~bazilio/cursos/lp Exercício 1 Para a linguagem escolhida, faça uma apresentação sucinta (vídeo-aula) contendo:

Leia mais

Introdução à Inteligência Artificial MAC MAC 415. Exercício Programa 1 Busca

Introdução à Inteligência Artificial MAC MAC 415. Exercício Programa 1 Busca Introdução à Inteligência Artificial MAC 5739 - MAC 415 006 Exercício Programa 1 Busca Data de Divulgação: 6 de agosto Data de Entrega: 6 de setembro 1 Objetivo Implementar os algoritmos de busca em Inteligência

Leia mais

Problema do Caminho Hamiltoniano

Problema do Caminho Hamiltoniano Universidade de São Paulo Escola de Artes, Ciências e Humanidades Bacharelado em Sistemas de Informação Introdução à Ciência da Computação II Professores Luciano Digiampietri e Fábio Nakano Data de entrega:

Leia mais

Desenvolvimento de programas. Análise do problema. Análise do problema. Análise do problema. Desenvolvimento do algoritmo. Codificação do programa

Desenvolvimento de programas. Análise do problema. Análise do problema. Análise do problema. Desenvolvimento do algoritmo. Codificação do programa Desenvolvimento de programas 1 Análise do problema Desenvolvimento do algoritmo Codificação do programa Compilação e execução Teste e depuração Análise do problema 2 Conhecer exatamente o que o problema

Leia mais

CEFET/RJ. Aprendizado de Máquina - Trabalho 03

CEFET/RJ. Aprendizado de Máquina - Trabalho 03 CEFET/RJ Programa de Pós-graduação em Ciência da Computação Aprendizado de Máquina - Trabalho 03 Prof. Eduardo Bezerra (ebezerra@cefet-rj.br) Agosto/2018 Conteúdo 1 Introdução 3 2 Sistemas de Recomendação

Leia mais

Boas Maneiras em Aprendizado de Máquinas

Boas Maneiras em Aprendizado de Máquinas Universidade Federal do Paraná (UFPR) Bacharelado em Informática Biomédica Boas Maneiras em Aprendizado de Máquinas David Menotti www.inf.ufpr.br/menotti/ci171-182 Boas Maneiras Agenda Introdução Métricas

Leia mais

Desenvolvimento de programas

Desenvolvimento de programas 1 Desenvolvimento de programas Análise do problema Desenvolvimento do algoritmo Codificação do programa Compilação e execução Teste e depuração 2 Análise do problema Conhecer exatamente o que o problema

Leia mais

1ª Lista de Exercícios

1ª Lista de Exercícios Universidade Federal de Campina Grande Disciplina: Mineração de Dados Período: 2008.3 Data: 21/10/08 Aluno: Halley F. S. de Freitas 1ª Lista de Exercícios O arquivo de dados é o do tempo: @relation weather.symbolic

Leia mais

BCC202 - Estrutura de Dados I

BCC202 - Estrutura de Dados I BCC202 - Estrutura de Dados I Aula 13: Ordenação: MergeSort Reinaldo Fortes Universidade Federal de Ouro Preto, UFOP Departamento de Computação, DECOM Website: www.decom.ufop.br/reifortes Email: reifortes@iceb.ufop.br

Leia mais

Sub-algoritmos (ou Funções)

Sub-algoritmos (ou Funções) Sub-algoritmos (ou Funções) Quando se deseja fazer um algoritmo cujo processo é composta por diversas etapas, costuma-se dividir o algoritmo em partes, cada uma realizando uma determinada função Cada uma

Leia mais

Guia para o iniciante no Orthanc Para físicos-médicos, médicos e clínicos gerais.

Guia para o iniciante no Orthanc Para físicos-médicos, médicos e clínicos gerais. Guia para o iniciante no Orthanc Para físicos-médicos, médicos e clínicos gerais. Etapa 1: baixando e instalando Este tutorial se concentra nos binários do Windows. Downloading A última versão do Orthanc

Leia mais

DURAÇÃO DA PROVA: 2 horas

DURAÇÃO DA PROVA: 2 horas MAC2166 Introdução à Computação Grande Áreas Civil, Mecânica, Petróleo e Química Escola Politécnica Terceira Prova 21 de junho de 2016 Nome: Assinatura: N o USP: Turma: Professor: Instruções: 1. Não destaque

Leia mais

Seleção de Atributos FSS. Relevância de Atributos. Relevância de Atributos. Seleção de Atributos - FSS. FSS como Busca no Espaço de Estados

Seleção de Atributos FSS. Relevância de Atributos. Relevância de Atributos. Seleção de Atributos - FSS. FSS como Busca no Espaço de Estados Seleção FSS Alguns indutores geralmente degradam seu desempenho quando são fornecidos muitos atributos irrelevantes para o conceito a ser aprendido Feature Subset Selection (FSS) é o processo de selecionar

Leia mais

Aprendizagem de Máquina. Prof. Júlio Cesar Nievola PPGIA - PUCPR

Aprendizagem de Máquina. Prof. Júlio Cesar Nievola PPGIA - PUCPR Aprendizagem de Máquina Prof. Júlio Cesar Nievola PPGIA - PUCPR Introdução Justificativa Recente progresso em algoritmos e teoria Disponibilidade crescente de dados online Poder computacional disponível

Leia mais

Inteligência Artificial

Inteligência Artificial Aprendizagem por que? lnteligência Artificial Aprendizagem em IA Capacidade de aprender é parte fundamental do conceito de inteligência. Um agente aprendiz é mais flexível aprendizado permite lidar com

Leia mais

Inteligência Artificial. Raimundo Osvaldo Vieira [DComp IFMA Campus Monte Castelo]

Inteligência Artificial. Raimundo Osvaldo Vieira [DComp IFMA Campus Monte Castelo] Inteligência Artificial Raimundo Osvaldo Vieira [DComp IFMA Campus Monte Castelo] Aprendizagem de Máquina Área da Inteligência Artificial cujo objetivo é o desenvolvimento de técnicas computacionais sobre

Leia mais

lnteligência Artificial Aprendizagem em IA

lnteligência Artificial Aprendizagem em IA lnteligência Artificial Aprendizagem em IA 1 Aprendizagem por que? Capacidade de aprender é parte fundamental do conceito de inteligência. Um agente aprendiz é mais flexível aprendizado permite lidar com

Leia mais

Aurora Trinidad Ramirez Pozo Universidade Federal do Paraná

Aurora Trinidad Ramirez Pozo Universidade Federal do Paraná Aurora Trinidad Ramirez Pozo Universidade Federal do Paraná 1 Um dos métodos práticos mais usados Induz funções discretas robustas a ruído Capaz de aprender expressões disjuntivas Se pais = Inglaterra

Leia mais

4.0 SP2 ( ) maio P Xerox FreeFlow Core Express Guia de Instalação

4.0 SP2 ( ) maio P Xerox FreeFlow Core Express Guia de Instalação 4.0 SP2 (4.0.2.0) maio 2015 708P90932 2015 Xerox Corporation. Todos os direitos reservados. Xerox, Xerox com a marca figurativa e FreeFlow são marcas da Xerox Corporation nos Estados Unidos e/ou em outros

Leia mais

Trabalho Prático 1. Valor: 1,0 pontos (10% da nota total) Data de Entrega: 02/05/2010

Trabalho Prático 1. Valor: 1,0 pontos (10% da nota total) Data de Entrega: 02/05/2010 Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Biológicas Programa de Pós-Graduação em Ciência da Computação Projeto e Análise de Algoritmos - 1 o semestre de 2010 Professor: David Menotti

Leia mais

Objetivos. Responder o que é Java; Mostrar as vantagens e desvantagens do Java; Compilar e executar um programa simples.

Objetivos. Responder o que é Java; Mostrar as vantagens e desvantagens do Java; Compilar e executar um programa simples. O que é Java Material baseado na apostila FJ-11: Java e Orientação a Objetos do curso Caelum, Ensino e Inovação, disponível para download em http://www.caelum.com.br/apostilas/ 1 Objetivos Responder o

Leia mais

Trabalho 1: Busca no Pacman

Trabalho 1: Busca no Pacman Trabalho 1: Busca no Pacman Este trabalho é parte do Pacman Project desenvolvido na UC Berkeley disciplina CS188 Artificial Intelligence. A tradução é da prof. Bianca Zadrozny, UFF. Adaptação do prof.

Leia mais

Indexação e Busca. O objetivo deste trabalho é projetar e implementar um sistema de programas para indexação e busca em arquivos de texto.

Indexação e Busca. O objetivo deste trabalho é projetar e implementar um sistema de programas para indexação e busca em arquivos de texto. Universidade Federal do Espírito Santo Departamento de Informática Estruturas de Dados 2017/1 Profa. Claudine Badue Trabalho 2 1. Objetivo Indexação e Busca O objetivo deste trabalho é projetar e implementar

Leia mais

Aprendizado de Máquina

Aprendizado de Máquina Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCENS UFES Departamento de Computação Aprendizado de Máquina Inteligência Artificial Site: http://jeiks.net E-mail: jacsonrcsilva@gmail.com

Leia mais

TCC 00308: Programação de Computadores I Introdução

TCC 00308: Programação de Computadores I Introdução TCC 00308: Programação de Computadores I 2017.1 Introdução Processo de resolução de problemas Definição dos requisitos do problema (fazer o programa certo) Entradas Cálculos Casos especiais Saídas Desenvolvimento

Leia mais

Projeto de funções e instruções condicionais

Projeto de funções e instruções condicionais Projeto de funções e instruções condicionais Marco A L Barbosa malbarbo.pro.br Departamento de Informática Universidade Estadual de Maringá cba Este trabalho está licenciado com uma Licença Creative Commons

Leia mais

Análise do problema. Desenvolvimento de programas. Desenvolvimento do algoritmo. Análise do problema

Análise do problema. Desenvolvimento de programas. Desenvolvimento do algoritmo. Análise do problema Desenvolvimento de programas 1 Análise do problema 2 Análise do problema Desenvolvimento do algoritmo Codificação do programa Compilação e execução Teste e depuração Conhecer exatamente o que o problema

Leia mais

Introdução a Programação Web com PHP

Introdução a Programação Web com PHP AULA: Introdução a Programação Web com PHP Programação para Internet http://docentes.ifrn.edu.br/albalopes alba.lopes@ifrn.edu.br Breve histórico A primeira versão surgiu em meados de 1995, escrita por

Leia mais

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA OUTRAS ESTRUTURAS DE REPETIÇÃO Prof. Dr. Daniel Caetano 2013-1 Objetivos Conhecer outras estruturas de repetição da linguagem C/C++ Compreender o uso de cada uma delas

Leia mais

Trabalho Prático 2 Mundo dos Blocos Alocação Dinâmica / Listas Encadeadas

Trabalho Prático 2 Mundo dos Blocos Alocação Dinâmica / Listas Encadeadas Disciplina: Algoritmos e Estrutura de Dados I CIC / 9 Trabalho Prático Mundo dos Blocos Alocação Dinâmica / Listas Encadeadas Valor:,5 pontos (5% da nota total) Documentação não-latex: -, pontos Impressão

Leia mais

Seleção Múltipla Laços (while, do-while, for) AULA 05

Seleção Múltipla Laços (while, do-while, for) AULA 05 Introdução a Programação IF669 http://www.cin.ufpe.br/~if669 Seleção Múltipla Laços (while, do-while, for) AULA 05 Ricardo Massa F. Lima rmfl@cin.ufpe.br Sérgio C. B. Soares scbs@cin.ufpe.br Até aqui...

Leia mais

Python para quem sabe Python

Python para quem sabe Python Python para quem sabe Python Turma 0, aula 4 Metaclasses, programação funcional e programação assíncrona Exercício: execucao.py Para entender como o interpretador Python lê um arquivo.py Tudo é executável

Leia mais

Variáveis primitivas e Controle de fluxo

Variáveis primitivas e Controle de fluxo Variáveis primitivas e Controle de fluxo Material baseado na apostila FJ-11: Java e Orientação a Objetos do curso Caelum, Ensino e Inovação, disponível para download em http://www.caelum.com.br/apostilas/

Leia mais

Algoritmos Indutores de Árvores de. Fabrício J. Barth

Algoritmos Indutores de Árvores de. Fabrício J. Barth Algoritmos Indutores de Árvores de Decisão Fabrício J. Barth Maio de 2018 Problema: Diagnóstico para uso de lentes de contato 2 Diagnóstico para o uso de lentes de contato O setor de oftalmologia de um

Leia mais

Thiago Marzagão 1. 1 Thiago Marzagão (Universidade de Brasília) MINERAÇÃO DE DADOS 1 / 21

Thiago Marzagão 1. 1 Thiago Marzagão (Universidade de Brasília) MINERAÇÃO DE DADOS 1 / 21 MINERAÇÃO DE DADOS Thiago Marzagão 1 1 marzagao.1@osu.edu ÁRVORE DE DECISÃO & VALIDAÇÃO Thiago Marzagão (Universidade de Brasília) MINERAÇÃO DE DADOS 1 / 21 árvore de decisão Aulas passadas: queríamos

Leia mais

Fundamentos da Programação

Fundamentos da Programação Fundamentos da Programação Segundo Teste 18 de Junho de 2014 15:00 16:30 1. (1.0) Diga quais as fases por que passa o desenvolvimento de um programa no modelo estudado e o que se faz em cada uma delas.

Leia mais

ATIVIDADES PRÁTICAS SUPERVISIONADAS

ATIVIDADES PRÁTICAS SUPERVISIONADAS ATIVIDADES PRÁTICAS SUPERVISIONADAS CST em Análise e Desenvolvimento de Sistemas 3ª Série Programação Estruturada II A Atividade Prática Supervisionada (ATPS) é um procedimento metodológico de ensino-aprendizagem

Leia mais

Sistemas Inteligentes Inteligência Artificial Segundo Trabalho

Sistemas Inteligentes Inteligência Artificial Segundo Trabalho Sistemas Inteligentes Inteligência Artificial Segundo Trabalho 07/10/2011 Prof. Flávio Miguel Varejão Este trabalho é uma variação do primeiro trabalho na qual se utilizará um método de indução de árvores

Leia mais

Trabalho 2 - Detalhamento

Trabalho 2 - Detalhamento Trabalho 2 - Detalhamento Clodoaldo A. M. Lima, Sarajane M. Peres 7 de outubro de 2015 Programa de Pós-Graduação em Sistemas de Informação Mestrado acadêmico - EACH - USP http://ppgsi.each.usp.br Clodoaldo

Leia mais

Fundamentos de Lógica e Algoritmos. Aula 3.1 Introdução a Programação. Prof. Dr. Bruno Moreno

Fundamentos de Lógica e Algoritmos. Aula 3.1 Introdução a Programação. Prof. Dr. Bruno Moreno Fundamentos de Lógica e Algoritmos Aula 3.1 Introdução a Programação Prof. Dr. Bruno Moreno bruno.moreno@ifrn.edu.br O objetivo dessa disciplina é aprender uma linguagem de programação?? 2 Objetivo da

Leia mais

Introdução à Computação II (Noturno) BCC Unesp Rio Claro/SP 2015 em PDF via Moodle: Escolha apenas 5 exercícios para entrega Exercício 01 (Pilhas)

Introdução à Computação II (Noturno) BCC Unesp Rio Claro/SP 2015 em PDF via Moodle: Escolha apenas 5 exercícios para entrega Exercício 01 (Pilhas) Introdução à Computação II (Noturno) BCC Unesp Rio Claro/SP 2015 Lista Obrigatória 02 - Prof. Rafael Oliveira (Deve ser entregue em PDF via Moodle: Escolha apenas 5 exercícios para entrega) Exercício 01

Leia mais

scikit-learn: Aprendizado de máquina 101 com Python

scikit-learn: Aprendizado de máquina 101 com Python scikit-learn: Aprendizado de máquina 101 com Python Luciana Fujii Campus Party BH 2016 1 / 30 Introdução Aprendizado de máquina Aprendizado de máquina é o campo da ciência da computação que dá aos computadores

Leia mais

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Algoritmos Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Etapas para o desenvolvimento de um programa Analise: estudo do problema para determinação dos dados de entrada, do processamento

Leia mais

CCM0118 Computação I

CCM0118 Computação I CCM0118 Computação I Departamento de Ciência da Computação IME-USP Curso de Ciências Moleculares Turma 22 Segundo Semestre de 2012 Segundo Exercício-Programa Prazo de entrega: até 16 de outubro de 2012.

Leia mais

Aprendizado de Máquina

Aprendizado de Máquina Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação Aprendizado de Máquina Inteligência Artificial Site: http://jeiks.net E-mail: jacsonrcsilva@gmail.com

Leia mais

Apêndice A. Alguns construtores e métodos importantes e úteis da classe Vector são:

Apêndice A. Alguns construtores e métodos importantes e úteis da classe Vector são: Apêndice A Classe Vector A classe Vector permite a representação de um vetor de dados de maneira similar à de um array, visto na disciplina Programação Orientada a Objetos I, mas com maior flexibilidade.

Leia mais

Fundamentos de Lógica e Algoritmos. Aula 3.1 Introdução a Python. Prof. Dr. Bruno Moreno

Fundamentos de Lógica e Algoritmos. Aula 3.1 Introdução a Python. Prof. Dr. Bruno Moreno Fundamentos de Lógica e Algoritmos Aula 3.1 Introdução a Python Prof. Dr. Bruno Moreno bruno.moreno@ifrn.edu.br O objetivo dessa disciplina é aprender Python? 2 Objetivo da disciplina O objetivo da disciplina

Leia mais

Processamento da Informação

Processamento da Informação Processamento da Informação Fabrício Olivetti de França 02 de Fevereiro de 2019 Topics 1. Tipos Padrões 2. Variáveis Auxiliares 3. Condicionais 1 Tipos Padrões Tipos Padrões A linguagem Python fornece

Leia mais

Inteligência Artificial

Inteligência Artificial Universidade Federal de Campina Grande Departamento de Sistemas e Computação Pós-Graduação em Ciência da Computação Inteligência Artificial Aprendizagem Outras Técnicas Prof. a Joseana Macêdo Fechine Régis

Leia mais

Universidade Federal de Alfenas

Universidade Federal de Alfenas Universidade Federal de Alfenas Aula 05 Descrição do Trabalho Prático 1 humberto@bcc.unifal-mg.edu.br Trabalho Prático 1 Valor 10% da nota de PAA Data de entrega 22/03/2011 Análise Experimental de Algoritmos

Leia mais

Aula 05. Modularização Função Subrotina Recursividade

Aula 05. Modularização Função Subrotina Recursividade Logo Aula 05 Modularização Função Subrotina Recursividade 2 Modularização A modularização é um processo que aborda os aspectos da decomposição de algoritmos em módulos. Módulo é um grupo de comandos, constituindo

Leia mais

Prática 10 - Funções

Prática 10 - Funções Programação de Computadores I UFOP DECOM June 9, 2016 Prática 10 - Funções Abstract Nesta aula prática você vai aprender a definir e usar funções em um programa. Contents 1 Funções 1 1.1 Definição e chamada

Leia mais

07 Ordenação em Memória Interna (parte 2) quicksort SCC201/501 - Introdução à Ciência de Computação II

07 Ordenação em Memória Interna (parte 2) quicksort SCC201/501 - Introdução à Ciência de Computação II 07 Ordenação em Memória Interna (parte 2) quicksort SCC201/501 - Introdução à Ciência de Computação II Prof. Moacir Ponti Jr. www.icmc.usp.br/~moacir Instituto de Ciências Matemáticas e de Computação USP

Leia mais

Aprendizado em IA. Prof. Carlos H. C. Ribeiro ITA Divisão de Ciência da Computação

Aprendizado em IA. Prof. Carlos H. C. Ribeiro ITA Divisão de Ciência da Computação Aprendizado em IA Prof. Carlos H. C. Ribeiro ITA Divisão de Ciência da Computação Tópicos Agentes baseados em aprendizado Aprendizado indutivo Árvores de decisão Método ID3 Aprendizado em redes neurais

Leia mais

Introdução à Programação. Vanessa Braganholo

Introdução à Programação. Vanessa Braganholo Introdução à Programação Vanessa Braganholo vanessa@ic.uff.br Processo de resolução de problemas (Princípios de Pólya) Definição dos requisitos do problema (fazer o programa certo) Entradas Cálculos Casos

Leia mais

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial Edirlei Soares de Lima INF 1771 Inteligência Artificial Aula 15 Árvores de Decisão Árvores de Decisão Uma das formas de algoritmo de aprendizado mais simples e de maior sucesso.

Leia mais

Sistema Operacionais II. Aula: Virtualização

Sistema Operacionais II. Aula: Virtualização Sistema Operacionais II Aula: Virtualização Objetivos Entender o que é uma máquina virtual. Instalar várias máquinas virtuais em um mesmo computador usando o VirtualBox. Aprender os modos de rede suportados

Leia mais

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial INF 1771 Inteligência Artificial Aula 12 Árvores de Decisão Prof. Augusto Baffa Árvores de Decisão Uma das formas de algoritmo de aprendizado mais simples e de maior sucesso. Uma

Leia mais

Resolução de Problemas com Computador. Resolução de Problemas com Computador. Resolução de Problemas com Computador

Resolução de Problemas com Computador. Resolução de Problemas com Computador. Resolução de Problemas com Computador Prof. Araken Medeiros araken@ufersa.edu.br O processo de resolução de um problema com um computador leva à escrita de um algoritmo ou programa e à sua execução. Mas o que é um algoritmo? Angicos, RN 15/9/2009

Leia mais

Informática Aplicada à Engenharia Florestal INTRODUÇÃO

Informática Aplicada à Engenharia Florestal INTRODUÇÃO Informática Aplicada à Engenharia Florestal INTRODUÇÃO Renato Dourado Maia Instituto de Ciências Agrárias Universidade Federal de Minas Gerais Vamos aprender a fazer programas! 2/34 Questão Fundamental

Leia mais

Novas Tecnologias no Ensino da Matemática

Novas Tecnologias no Ensino da Matemática UFF Novas Tecnologias no Ensino da Matemática 1 Novas Tecnologias no Ensino da Matemática Humberto José Bortolossi http://www.professores.uff.br/hjbortol/ Lista 1 Prezado aluno, Nesta primeira parte do

Leia mais

Aprendizado de Máquina

Aprendizado de Máquina Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação Aprendizado de Máquina Inteligência Artificial Site: http://jeiks.net E-mail: jacsonrcsilva@gmail.com

Leia mais

MAC 0316/5754 Conceitos de Linguagens de Programação Primeiro Semestre de 2011 Terceira Prova 21 de junho de 2011

MAC 0316/5754 Conceitos de Linguagens de Programação Primeiro Semestre de 2011 Terceira Prova 21 de junho de 2011 MAC 0316/5754 Conceitos de Linguagens de Programação Primeiro Semestre de 2011 Terceira Prova 21 de junho de 2011 Nome do aluno: Assinatura: N ō USP: Instruções: 1. Preencha o cabeçalho acima. 2. Não destaque

Leia mais

Nas aulas anteriores. Programação orientada a objetos Classes Atributos e métodos

Nas aulas anteriores. Programação orientada a objetos Classes Atributos e métodos Nas aulas anteriores Classes Atributos e métodos Nesta aula... Nas aulas anteriores 1 2 3 : exemplo com frações Nesta aula vamos desenvolver uma classe para representar frações; Métodos: aquilo que se

Leia mais

ATIVIDADES PRÁTICAS SUPERVISIONADAS

ATIVIDADES PRÁTICAS SUPERVISIONADAS ATIVIDADES PRÁTICAS SUPERVISIONADAS 5ª Série Banco de Dados I Ciência da Computação A Atividade Prática Supervisionada (ATPS) é um procedimento metodológico de ensino-aprendizagem desenvolvido por meio

Leia mais

IBM SPSS Collaboration and Deployment Services (C&DS) versão 7

IBM SPSS Collaboration and Deployment Services (C&DS) versão 7 A audiência desejada para esse guia são os Administradores de Sistema que estão configurando o IBM SPSS Modeler Entity Analytics (EA) para ser executado em um mundo da moda implementado com um dos seguintes:

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação Leonardo Gresta Paulino Murta leomurta@ic.uff.br Processo de resolução de problemas (Princípios de Pólya) Definição dos requisitos do problema (fazer o programa certo) Entradas

Leia mais

MC-102 Aula 01. Instituto de Computação Unicamp

MC-102 Aula 01. Instituto de Computação Unicamp MC-102 Aula 01 Introdução à Programação de Computadores Instituto de Computação Unicamp 2016 Roteiro 1 Por que aprender a programar? 2 Hardware e Software 3 Organização de um ambiente computacional 4 Algoritmos

Leia mais

Fundamentos da Programação

Fundamentos da Programação Fundamentos da Programação Solução do Exame 13 de Janeiro de 2017 09:00 11:00 1. Indique se cada uma das seguintes afirmações é verdadeira ou falsa. No caso de ser falsa, justifique de forma sucinta. (a)

Leia mais

BUSCA EM ARRAYS. Prof. André Backes. Ato de procurar por um elemento em um conjunto de dados

BUSCA EM ARRAYS. Prof. André Backes. Ato de procurar por um elemento em um conjunto de dados BUSCA EM ARRAYS Prof. André Backes Definição 2 Ato de procurar por um elemento em um conjunto de dados Recuperação de dados armazenados em um repositório ou base de dados A operação de busca visa responder

Leia mais

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO. Prof.ª Danielle Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO TEORIA DA COMPUTAÇÃO Aula 04 Programa Recursivo e Máquinas Prof.ª Danielle Casillo Funções recursivas Alguma função é recursiva quando

Leia mais

Engenharia de Software Aula 21. Revisão da Prova 2. Eduardo Figueiredo.

Engenharia de Software Aula 21. Revisão da Prova 2. Eduardo Figueiredo. Engenharia de Software Aula 21 Revisão da Prova 2 Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@dcc.ufmg.br 16 Maio 2018 Aula 16: POO Um programa OO é geralmente constituído de várias classes

Leia mais

Enterprise JavaBeansTM

Enterprise JavaBeansTM J530 Aplicações distribuídas usando Enterprise JavaBeansTM e Helder da Rocha (helder@acm.org) argonavis.com.br 1 Objetivos Oferecer uma introdução prática à tecnologia Enterprise JavaBeansTM (EJB) Este

Leia mais

Construindo um chatbot com Retrieval-based models. Bárbara

Construindo um chatbot com Retrieval-based models. Bárbara Construindo um chatbot com Retrieval-based models Bárbara Barbosa @bahbbc Quem sou eu Mestra em Sistemas de Informação com foco em Inteligência Artificial e NLP Organizadora do Rails Girls SP, Women Dev

Leia mais

Classificação de Padrões. Abordagem prática com Redes Neurais Artificiais

Classificação de Padrões. Abordagem prática com Redes Neurais Artificiais Classificação de Padrões Abordagem prática com Redes Neurais Artificiais Agenda Parte I - Introdução ao aprendizado de máquina Parte II - Teoria RNA Parte III - Prática RNA Parte IV - Lições aprendidas

Leia mais

Introdução ao Laboratório Digital

Introdução ao Laboratório Digital Introdução ao Laboratório Digital Versão 2016 RESUMO Esta experiência tem como objetivo um contato inicial com o Laboratório Digital com o desenvolvimento de uma atividade planejada envolvendo o projeto

Leia mais

Introdução ao Python. Programa Computacional

Introdução ao Python. Programa Computacional Programa Computacional É um algoritmo escrito em uma linguagem computacional (C, Fortran, Pascal, MATLAB, Python, etc.). É a tradução do algoritmo para uma linguagem que será interpretada pelo computador.

Leia mais

Exemplo de Arquitetura: Cliente/Servidor com Mestre e Escravos. Interface. Fator de speed-up. Speed-up

Exemplo de Arquitetura: Cliente/Servidor com Mestre e Escravos. Interface. Fator de speed-up. Speed-up Exemplo de Arquitetura: Cliente/Servidor com Mestre e s Arquitetura Mestre- Speed-up / Cliente Mestre Prof João Paulo A Almeida (jpalmeida@infufesbr) Cliente 2015/01 - INF02799 Com alguns slides de Parallel

Leia mais

Spectrum Miner. Versão 8.0. Guia de administração para a integração do Portrait Dialogue

Spectrum Miner. Versão 8.0. Guia de administração para a integração do Portrait Dialogue Spectrum Miner Versão 8.0 Conteúdo 1 - Introdução Objetivo 4 Quem deve ler este manual 4 Documentação relacionada 4 2 - Visão geral da integração do Miner Visão geral da integração do Miner 6 3 - Instalação

Leia mais