Skip to content

josemarsilva/study-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

README - study-python

1. Introdução

Este repositório contém os artefatos do laboratório de estudo da linguagem de programação Python 3 study-python.

2. Documentação

2.4. Diagrama de Mapa Mental (Mind Map Diagram)

MindMapDiagram-Context.png

3. Projeto

3.1. Pré-Requisitos, Pré-Condições e Premissas

a. Tecnologias e ferramentas

b. Ferramental de apoio

3.2. Guia do Desenvolvedor e Administrador

Faça um clone do projeto git clone. Use o branch master se o branch develop não estiver disponível.

3.3. Guia de Implantação, Configuração e Instalação

a. Download and Install Python for Windows

b. Download and Install Pycharm Community

c. Uso gratuito da Jupyter Notebook (Platform as a Service)

d. Uso gratuito do Google Colabs PaaS (Platform as a Service)

e. Uso gratuito do W3School Python Online Interpreter Demo

3.5. Guia de Estudo

3.5.1. Básico da linguagem Python

String methods and index
Loop: while, for, range and iterators
List, index, slice, enumerate, tuples, packing, unpacking, etc
Others basic

3.5.2. Intermediário da linguagem Python

Iterable, iterator, generator, groupby, map, filter, reduce

3.5.3. Avançado da linguagem Python

3.5.3.1. Python language advanced issues
3.5.3.2. Python & AI - Artificial Intelligence

MindMapDiagram-Python-Advanced-Machine-Learning-Data-Science.png

3.5.3.2.1 Libraries
3.5.3.2.2 Preprocessing
Dataset load
  • Dataset é o conjunto que possibilita o treinamento e validação do modelo de ML. Na internet há incontáveis sites que disponibilizam informações minimamente estruturadas para serem processadas como Dataset de ML e DL: Simple Nama AI, University of California, Kaggle, IBM
  • Os tipos de variáveis de um Dataset podem ser: Numéricas ou Categóricas conforme o mapa mental abaixo:

MindMapDiagram-Variaveis-Numericas-Categoricas-Continuas-Discretas-Nominal-Ordinal.png

Data Exploration
  • Explorar o Dataset consiste em conhecer a estrutura dos dados, ie quantas linhas tem? quantas colunas de informações? qual o datatype bruto de cada uma das informações? qual a distribuição dos dados?
Dataset Visualization
  • Visualizar o Dataset consiste em conhecer de forma gráfica cognitiva as dados, entender melhor sua distribuição, etc
Dataset Cleaning
  • Limpar o Dataset consiste em ajustar os dados brutos inconsistentes. Ex: idade > 122 anos, espaços, valores faltantes, etc
Predictive Analysis
  • Identificar os atributos preditivos
  • Definir os atributos alvos e suas classes de rótulos
Values Scalling
  • Padronização e Normalização dos atributos
Values Transformation
  • Transformar os atributos com Label Encoders e One Hot Encoder
3.5.3.2.3 Split Dataset into Train, Validation and Test
  • Dividir os dados do Dataset nos conjuntos de treino (train), opcionalmente validação (validation) e teste(test)
3.5.3.2.4 Save Model
  • Salvar o modelo já processado para não precisar reprocessá-lo novamente
Laboratories
Laboratory Python Library Preprocessing Techniques / Activities
lab-301-dataset-iris-python-basic.ipynb - Exploration, Visualization, Cleaning
lab-302-credit-risk-DataExploration-DatasetVisualization-DataCleaning-PredictiveAnalysis-ValuesScalling-pandas-numpy-seaborn-matplotlib-plotly.ipynb plotly, pandas, numpy, seaborn, matplotlib.pyplot, plotly.express Exploration, Visualization, Cleaning Predictive Analysis Values Scalling
lab-303-census-adult-DataExploration-DatasetVisualization-DataCleaning-PredictiveAnalysis-ValuesTransformation-ValuesScalling-pandas-numpy-seaborn-matplotlib-plotly.ipynb plotly, pandas, numpy, seaborn, matplotlib.pyplot, plotly.express Exploration, Visualization, Cleaning Predictive Analysis Values Transformation

3.5.4. Exercício de aproveitamento

3.5.3.1. Exercício 01: Programa Python para calcular os dois valores de uma equação do 2o grau por Bhaskara
  • Requisitos de negócio:
  • Requisitos técnico funcional:
    • Faça um programa Python para calcular uma equação do 2o grau pelo método de Bhaskara
    • O programa deve pedir como entrada cada um dos valores: a, b e c
    • O programa deve consistir os valores de entradas e apresentar mensagens de erros específicas
    • O programa deve calcular e apresentar o valor de Delta
    • O programa deve dizer se a equação tem solução, calcular e apresentar os dois valores da equação: x1 e x2
  • Requisitos técnico não funcional:
    • O programa deve ter pelo menos uma função
    • O programa deve funcionar como um módulo, isto é se executado diretamente deve pedir as variáveis de entrada, porém se carregado por outro programa pode ser chamado por uma função bhaskara(a,b,c)
    • O programa deverá fazer uso dos seguintes recursos de programação em linguagem Python:
      • variables, datatypes(integer, float, string), operations (+, -, *, /), user input, format (integers numbers, float always 3 decimal place), casting, operators (if, then, else, else if), exception manipulation (try, catch), define functions, module import
3.5.3.2. Exercício 02: Programa Python para apresentar as 10 palavras que mais aparecem em um texto
  • Requisitos de negócio:
    • Programa que leia o texto de um arquivo e apresente um resumo das top 10 palavras mais utilizadas no texto e as linhas correspondentes onde a palavara apareceu
  • Requisitos técnico funcional:
    • Faça um programa Python para identificar e apresentar como saída as top 10 palavras utilizadas no texto
list_files = ['file-06-trecho-livro-filosofia.txt', 'file-07-trecho-livro-literatura.txt', 'file-08-trecho-livro-biblia-ezequiel-25.txt']
  • As palavras compostas unidas por um traço devem ser consideradas em separado:
    • Ex: lírio-do-vale serão 3 palavaras: lírio, do e vale
  • Algumas palavras devem ser desconsideradas por se tratarem de artigos ou preposições ou comum demais na língua portugesa. Segue a lista:
list_words_ignore = ['a', 'as', 'o', 'os', 'e', 'de', 'da', 'das', 'do', 'dos', 'um', 'uns', 'uma', 'umas', 'que', 'por', 'porque']
  • As palavras maiúsculas e minúsculas devem ser consideradas como a mesma palavra.
    • Ex: Palavra é igual à palavra.
  • As separações silábicas de palavras no final da linha não podem comprometer a palavra. Ex: Se a palavra batata precisar ser quebrada de linha então fica:
    • L-n: ... uma visão anticonstitucio-
    • L-(n+1): nalista da questão ...
  • As palavras são formadas por letras vogais e consoantes, incluindo as acentuações que não poderá ser um problema considerando UFT-8.
    • Os demais caracteres especiais não podem ser confundidos com palavras.
str_chars_ignore = '0123456789,.;/\\?![]^~{}`"\'!@#$%&*()-_=+' + '—'
  • O resumo apresentado deve conter: o nome do arquivo, a lista das 10 palavras mais utilizadas, quantidade de ocorrêcias e a relação do número da linhas e palavra de cada ocorrência
* file-06-trecho-livro-filosofia.txt:
  1: se (29) - ['L3-W5', 'L5-W4', 'L7-W10', ...
  2: em (24) - ['L4-W9', 'L8-W12', 'L12-W8', ...
  3: prazer (21) - ['L4-W13', 'L6-W8', 'L9-W6', ...
      :
  10: ...
* file-07-trecho-livro-literatura.txt:
  1: é (10) - ['L1-W15', 'L3-W11', 'L4-W17', 'L9-W8', 'L14-W2', 'L14-W19', 'L22-W6', 'L28-W1', 'L39-W8', 'L39-W18']
  2: não (10) - ['L3-W14', 'L5-W15', 'L9-W10', 'L16-W5', 'L16-W6', 'L21-W15', 'L22-W10', 'L22-W15', 'L24-W6', 'L39-W14']
      :
  10: ...
* file-08-trecho-livro-biblia-ezequiel-25.txt:
  1: senhor (14) - ['L1-W8', 'L3-W11', 'L3-W16', ...
  2: deus: (8) - ['L3-W12', 'L3-W17', 'L6-W6', ...
  3: diz (8) - ['L3-W14', 'L6-W3', 'L8-W2', ...
  10: ...
  • Requisitos técnico não funcional:
    • O programa deverá fazer uso dos seguintes recursos de programação em linguagem Python:
      • file (open, readline), string, iterators, list, tuple, dictionary, set, list comprehension, formatting
3.5.3.3. Exercício 03.xx.xx: Lista de exercícios Python Org Br
  1. Estrutura Sequencial
  2. Estrutura De Decisão
  3. Estrutura De Repetiçao
  4. Exercicios Listas
  5. Exercicios Funções
  6. Exercicios Com Strings
  7. Exercicios Arquivos
  8. Exercicios Classes
  9. Lista De Exercicios Projetos

I - Referências

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published