Este livro é um compilado dos seguintes títulos:
- Python do ZERO à Programação Orientada a Objetos
- Programação Orientada a Objetos
- Tópicos Avançados em Python
- Arrays + Numpy Com Python
- Ciência de Dados e Aprendizado de Máquina
- Inteligência Artificial com Python
Todo conteúdo foi reordenado de forma a não haver divisões entre os conteúdos de um livro e outro, cada tópico está rearranjado em posição contínua, formando assim um único livro. Quando necessário, alguns capítulos sofreram pequenas alterações em seu conteúdo a fim de deixar o conteúdo melhor contextualizado.
Author(s): Fernando Feltrin
Language: Portuguese
Pages: 1122
CAPA
AVISOS
PREFÁCIO
Por quê programar? E por quê em Python?
Metodologia
INTRODUÇÃO
Por quê Python?
Um pouco de história
Guido Van Rossum
A filosofia do Python
Empresas que usam Python
O futuro da linguagem
Python será o limite?
AMBIENTE DE PROGRAMAÇÃO
Linguagens de alto, baixo nível e de máquina
Ambientes de desenvolvimento integrado
Principais IDEs
LÓGICA DE PROGRAMAÇÃO
Algoritmos
Sintaxe em Python
Palavras reservadas
Análise léxica
Indentação
ESTRUTURA BÁSICA DE UM PROGRAMA
TIPOS DE DADOS
COMENTÁRIOS
VARIÁVEIS / OBJETOS
Declarando uma variável
Declarando múltiplas variáveis
Declarando múltiplas variáveis (de mesmo tipo)
FUNÇÕES BÁSICAS
Função print( )
Função input( )
Explorando a função print( )
print( ) básico
print( ) básico
print( ) intermediário
print( ) avançado
Interação entre variáveis
Conversão de tipos de dados
OPERADORES
Operadores de Atribuição
Atribuições especiais
Atribuição Aditiva
Atribuição Subtrativa
Atribuição Multiplicativa
Atribuição Divisiva
Módulo
Exponenciação
Divisão Inteira
Operadores aritméticos
Soma
Subtração
Multiplicação
Divisão
Operações com mais de 2 operandos
Operações dentro de operações
Exponenciação
Operadores Lógicos
Tabela verdade
Tabela verdade AND
Tabela Verdade OR (OU)
Tabela Verdade XOR (OU Exclusivo/um ou outro)
Tabela de Operador de Negação (unário)
Bit-a-bit
Operadores de membro
Operadores relacionais
Operadores usando variáveis
Operadores usando condicionais
Operadores de identidade
ESTRUTURAS CONDICIONAIS
Ifs, elifs e elses
And e Or dentro de condicionais
Condicionais dentro de condicionais
Simulando switch/case
ESTRUTURAS DE REPETIÇÃO
While
For
STRINGS
Trabalhando com strings
Formatando uma string
Convertendo uma string para minúsculo
Convertendo uma string para maiúsculo
Buscando dados dentro de uma string
Desmembrando uma string
Alterando a cor de um texto
Alterando a posição de exibição de um texto
Formatando a apresentação de números em uma string
LISTAS
Adicionando dados manualmente
Removendo dados manualmente
Removendo dados via índice
Verificando a posição de um elemento
Verificando se um elemento consta na lista
Formatando dados de uma lista
Listas dentro de listas
Trabalhando com Tuplas
Trabalhando com Pilhas
Adicionando um elemento ao topo de pilha
Removendo um elemento do topo da pilha
Consultando o tamanho da pilha
DICIONÁRIOS
Consultando chaves/valores de um dicionário
Consultando as chaves de um dicionário
Consultando os valores de um dicionário
Mostrando todas chaves e valores de um dicionário
Manipulando dados de um dicionário
Adicionando novos dados a um dicionário
CONJUNTOS NUMÉRICOS
União de conjuntos
Interseção de conjuntos
Verificando se um conjunto pertence ao outro
Diferença entre conjuntos
INTERPOLAÇÃO
Avançando com interpolações
FUNÇÕES
Funções predefinidas
Funções personalizadas
Função simples, sem parâmetros
Função composta, com parâmetros
Função composta, com *args e **kwargs
dir( ) e help( )
BUILTINS
Importando bibliotecas
MÓDULOS E PACOTES
Modularização
Importando de módulos
Importando de pacotes
PROGRAMAÇÃO ORIENTADA A OBJETOS
Classes
Definindo uma classe
Alterando dados/valores de uma instância
Aplicando recursividade
Herança
Polimorfismo
Encapsulamento
TRACEBACKS / EXCEÇÕES
Comandos try, except e finally
AVANÇANDO EM POO
Objetos e Classes
Variáveis vs Objetos
Criando uma classe vazia
Atributos de classe
Manipulando atributos de uma classe
Métodos de classe
Método construtor de uma classe
Escopo / Indentação de uma classe
Classe com parâmetros opcionais
Múltiplos métodos de classe
Interação entre métodos de classe
Estruturas condicionais em métodos de classe
Métodos de classe estáticos e dinâmicos
Getters e Setters
Encapsulamento
Associação de classes
Agregação e composição de classes
Herança Simples
Cadeia de heranças
Herança Múltipla
Sobreposição de membros
Classes abstratas
Polimorfismo
Sobrecarga de operadores
Tratando exceções
AVANÇANDO COM FUNÇÕES
Parâmetros por Justaposição ou Nomeados
*args e **kwargs
Empacotamento e Desempacotamento
Expressões Lambda
RECURSIVIDADE
EXPRESSÕES REGULARES
r’Strings e Metacaracteres
Metacaracteres
Metacaracteres Quantificadores
Métodos de Expressões Regulares
LIST COMPREHENSION
Desmembrando strings via List Comprehension
Manipulando partes de uma string via List Comprehension
DICTIONARY COMPREHENSION
EXPRESSÕES TERNÁRIAS
GERADORES E ITERADORES
Geradores e Memória
ZIP
Zip longest
COUNT
MAP
Map iterando sobre uma lista
Map iterando sobre um dicionário
FILTER
REDUCE
COMBINANDO MAP, FILTER E REDUCE
Extraindo dados via Map + Função Lambda
Extraindo dados via List Comprehension
Extraindo dados via Filter
Combinando Filter e List Comprehension
Combinando Map e Filter
Extraindo dados via Reduce
Reduce + List Comprehension
Reduce (Método Otimizado)
TRY, EXCEPT
Finally
Raise
BIBLIOTECAS, MÓDULOS E PACOTES
Referenciando uma biblioteca/módulo
Criando módulos/pacotes
Testando e validando um módulo
Encapsulamento
ITERTOOLS
combinations( )
permutations( )
product( )
TÓPICOS AVANÇADOS EM POO
Métodos de classe
Métodos estáticos
@property, @getters e @setters
Associação de Classes
Agregação e Composição de Classes
Herança
Cadeia de Heranças
Herança Múltipla
Sobreposição de Membros
super( )
Classes Abstratas
Polimorfismo
Sobrecarga de Operadores
Filas (Queues) e Nodes
Gerenciamento de filas via Deque
PEPS
REPOSITÓROS
PYTHON + NUMPY
Sobre a biblioteca Numpy
Instalação e Importação das Dependências
Trabalhando com Arrays
Criando uma array numpy
Criando uma array gerada com números ordenados
Array gerada com números do tipo float
Array gerada com números do tipo int
Array gerada com números zero
Array gerada com números um
Array gerada com espaços vazios
Criando uma array de números aleatórios, mas com tamanho predefinido em variável
Criando arrays de dimensões específicas
Array unidimensional
Array bidimensional
Array tridimensional
Convertendo uma array multidimensional para unidimensional
Verificando o tamanho e formato de uma array
Verificando o tamanho em bytes de um item e de toda a array
Verificando o elemento de maior valor de uma array
Consultando um elemento por meio de seu índice
Consultando elementos dentro de um intervalo
Modificando manualmente um dado/valor de um elemento por meio de seu índice.
Criando uma array com números igualmente distribuídos
Redefinindo o formato de uma array
Usando de operadores lógicos em arrays
Usando de operadores aritméticos em arrays
Criando uma matriz diagonal
Criando padrões duplicados
Somando um valor a cada elemento da array
Realizando soma de arrays
Subtração entre arrays
Multiplicação e divisão entre arrays
Realizando operações lógicas entre arrays
Transposição de arrays
Salvando uma array no disco local
Carregando uma array do disco local
CIÊNCIA DE DADOS E APRENDIZADO DE MÁQUINA
Nota do Autor
O que é Ciência de Dados e Aprendizado de Máquina?
O que são Redes Neurais Artificiais
O que é Aprendizado de Máquina
Como se trabalha com Ciência de Dados? Quais ferramentas utilizaremos?
Quando e como utilizaremos tais ferramentas?
Qual a Abordagem que Será Utilizada?
PREPARAÇÃO DO AMBIENTE DE TRABALHO
Instalação da Linguagem Python
Instalação da Suite Anaconda
Ambiente de Desenvolvimento
Instalação das Dependências
TEORIA E PRÁTICA EM CIÊNCIA DE DADOS
O que são Redes Neurais Artificiais
Teoria Sobre Redes Neurais Artificiais
O que é Aprendizado de Máquina
Aprendizado de Máquina
Tipos de Aprendizado de Máquina
Aprendizado por Reforço em Detalhes
Características Específicas do Aprendizado por Reforço
Principais Algoritmos para Inteligência Artificial
Perceptrons
Perceptron Multicamada
Deep Learning
Q-Learning e Deep Q-Learning
Modelo de Rede Neural Artificial Intuitiva
Rotinas de uma Rede Neural Artificial
APRENDIZADO DE MÁQUINA
Perceptron de Uma Camada – Modelo Simples
Perceptron de Uma Camada – Tabela AND
Perceptron Multicamada – Tabela XOR
REDES NEURAIS ARTIFICIAIS
Processamento de Linguagem Natural – Minerando Emoções
Classificação Multiclasse – Aprendizado de Máquina Simples – Iris Dataset
Classificação Multiclasse via Rede Neural Artificial – Iris Dataset
Classificação Binária via Rede Neural Artificial – Breast Cancer Dataset
Regressão de Dados de Planilhas Excel – Autos Dataset
Regressão com Múltiplas Saídas – VGDB Dataset
Previsão Quantitativa – Publi Dataset
REDES NEURAIS ARTIFICIAIS CONVOLUCIONAIS
Reconhecimento de Caracteres – Digits Dataset
Classificação de Dígitos Manuscritos – MNIST Dataset
Classificação de Imagens de Animais – Bichos Dataset
Classificação a Partir de Imagens – TensorFlow – Fashion Dataset
REDES NEURAIS ARTIFICIAIS RECORRENTES
Previsão de Séries Temporais – Bolsa Dataset
OUTROS MODELOS DE REDES NEURAIS ARTIFICIAIS
Mapas Auto Organizáveis – Kmeans – Vinhos Dataset
Sistemas de Recomendação – Boltzmann Machines
REDES NEURAIS ARTIFICIAIS INTUITIVAS
BOT Para mercado de Ações
Cão Robô que aprende sobre seu corpo e sobre o ambiente via ARS
Agente Autônomo que joga BreakOut (Atari)
PARÂMETROS ADICIONAIS
CAPÍTULO RESUMO
CONSIDERAÇÕES FINAIS
BÔNUS
Revisão e Exemplos
Artigo - Classificador Multiclasse via TensorFlow e Keras