{"id":28580961,"url":"https://github.com/octavioduarte/datascience","last_synced_at":"2026-05-08T04:18:03.141Z","repository":{"id":232896533,"uuid":"785444733","full_name":"octavioduarte/DataScience","owner":"octavioduarte","description":"A repository with study notes on Data Science concepts, NumPy, pandas, and an introduction to statistics.","archived":false,"fork":false,"pushed_at":"2024-06-05T18:17:46.000Z","size":646,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-08T07:53:11.911Z","etag":null,"topics":["data-science","jupyter-notebook","numpy","pandas"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/octavioduarte.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-11T22:30:00.000Z","updated_at":"2024-06-05T18:17:50.000Z","dependencies_parsed_at":"2024-05-04T19:22:36.862Z","dependency_job_id":"33496d73-0e9f-45a7-b217-cf0205276240","html_url":"https://github.com/octavioduarte/DataScience","commit_stats":null,"previous_names":["octavioduarte/datascience"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/octavioduarte/DataScience","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/octavioduarte%2FDataScience","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/octavioduarte%2FDataScience/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/octavioduarte%2FDataScience/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/octavioduarte%2FDataScience/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/octavioduarte","download_url":"https://codeload.github.com/octavioduarte/DataScience/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/octavioduarte%2FDataScience/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32766352,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T02:36:36.067Z","status":"ssl_error","status_checked_at":"2026-05-08T02:36:07.210Z","response_time":54,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-science","jupyter-notebook","numpy","pandas"],"created_at":"2025-06-11T04:15:04.632Z","updated_at":"2026-05-08T04:18:03.113Z","avatar_url":"https://github.com/octavioduarte.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch2\u003eAlguns pontos importantos ao analisar um Dataset:\u003c/h2\u003e\n\n* Identificar os valores mínimos das colunas, podemos identificar possíveis erros como números negativos, zeros e etc... Números que não fariam sentido para aquela coluna.\n\n* O número 0 exige atenção, é usado em alguns casos de ausência de valor, mas isso pode impactar de forma negativa para fins de estatística ou até em um modelo de Machine Learning (isso quando fazem sentido em um registro e não são um erro que contradizem inclusive o propósito de uma determinada coluna do Dataset).\n\n* Verificar se o desvio padrão (std no pandas) de uma determinada coluna é 0, isso significa que existe apenas um valor para todos os registros. Esse tipo de dado costuma ser desconsiderado em uma análise... Entende-se que é algo padronizado dos registros.\n\n\n\u003cbr/\u003e\n\u003cbr/\u003e\n\u003cbr/\u003e\n\n\n\u003ch2\u003ePercentil e Quartil:\u003c/h2\u003e\n\nPercentil é uma medida de posição, ele é útil para entendermos como nossos dados estão distribuídos. Utilizando um exemplo muito comum de blogs de cientistas de dados vamos criar um exemplo com 20 notas de uma prova entre 0 e 100:\n\n~~~python\n    [14, 20, 24, 29, 34, 39, 44, 49, 54, 59, 64, 69, 74, 79, 84, 89, 92, 94, 96, 100]\n~~~\n\nAgora desejo obter um valor onde 25% dos dados são menores ou igual a ele, para isso utilizamos a seguinte formula:\n\n    (Percentual x Tamanho dos Dados) / 100\n\nAplicando com os dados do exemplo acima: \n\n    (25 * 20) / 100 =  5\n\nA posição 5 no nosso intervalo de dados é 34, ou seja, 25% das notas são iguais ou menores a 34.\nEm termos técnicos podemos dizer que o percentil 25 dos nosso dados é 34.\n\n\nAgora podemos falar sobre Quartis, na prática são o Percentil 25%, 50% e 75% técnicamente chamados de Q1, Q2 e Q3. \n\nImportante lembrar que:\n\n    O Q2, o P50 e a Mediana serão sempre o mesmo valor.\n\n\n\u003cbr/\u003e\n\u003cbr/\u003e\n\u003cbr/\u003e\n\n\n\u003ch2\u003eO que são Outliers:\u003c/h2\u003e\n\nOutliers são valores que fogem do padrão de um conjunto de dados. São valores muito alto ou muito baixos que podem influenciar negativamente em uma análise dos dados. Por exemplo, se temos um conjunto de dados com salários de funcionários de uma empresa e um dos salários é muito maior do que os outros esse valor pode ser considerado um outlier.\n\nEstatisticamente um outlier é um valor que está 1.5 vezes o intervalo interquartil acima do Q3 ou a mais de 1.5 vezes o intervalo interquartil abaixo do Q1. O intervalo interquartil é a diferença entre o  Q3 e o Q1.\n\n\u003cbr/\u003e\n\u003cbr/\u003e\n\u003cbr/\u003e\n\n\u003ch2\u003eO cuidado com Datasets desbalanceados:\u003c/h2\u003e\n\nDatasets desbalanceados são aqueles onde a coluna \"alvo\" que usaremos para treinar nosso modelo não tem uma grande variação em seus valores.\n\nUm exemplo se montarmos um modelo de Machine Learning para prevenção de fraude em compras de cartão de crédito, convenhamos que não é tão comum que as compras de um cliente sejam resultado de uma fraude, por tanto, se tivéssemos uma coluna que indicasse que a compra é fraude ou não, algo do tipo \"is_fraud\" grande parte dos valores seriam false, por que boa parte das compras foram de fato realizada pelo cliente, por tanto, ao treinar um modelo com estes dados sem estratégias de balanceamento fará com que nosso modelo tenha uma tendência a aceitar (quase) quaisquer compras como legitimas o que não pode ser tomado como uma verdade em todos os casos. \n\n\u003cbr/\u003e\n\u003cbr/\u003e\n\u003cbr/\u003e\n\n\u003ch2\u003eAtenção com colunas que são identificadores:\u003c/h2\u003e\n\n\nColunas que tem o propósito de identificar um registro (normalmente com o nome id) são normalmente descartadas de um Dataset que servirá para o treinamento de um modelo, isso por que são colunas que não agregam muito para um treinamento, em resumo na boa parte dos casos vale a pena remove-las do nosso Dataset.\n\n\u003cbr/\u003e\n\u003cbr/\u003e\n\u003cbr/\u003e\n\n\u003ch2\u003eHistogramas x Gráfico de barras:\u003c/h2\u003e\n\n\nApesar da semelhança visual um histograma e um gráfico de barras tem diferentes propósitos, enquanto o **gráfico de barras serve pra visualizarmos os dados por categorias**, por exemplo, quantidade de funcionários por departamento (departamento  é categórico), o **histrograma serve para ver a quantidade de pessoas por faixa etária (faixa etária não é categórica)**.\n\n\u003cbr/\u003e\n\u003cbr/\u003e\n\u003cbr/\u003e\n\n\u003ch2\u003eVariáveis categóricas:\u003c/h2\u003e\n\n\nDentro de um dataset vamos ter colunas categóricas, são colunas com pouca variação de valores que agrupam um conjunto de registros. Um exemplo seria um Dataset contendo dados de funcionários de uma empresa, onde o departamento é uma variável cateórica, pois não possui grande variação de registros, agrupa (representa) um cojunto de dados:\n\n\n| ID          | Nome             | Departmento | Posição            | Email                       |\n|-------------|------------------|-------------|--------------------|-----------------------------|\n| 001         | John Doe         | Marketing   | Gerente            | john.doe@example.com        |\n| 002         | Jane Smith       | Vendas      | Executivo de vendas| jane.smith@example.com      |\n| 003         | Michael Johnson  | TI          | Developer          | michael.johnson@example.com |\n| 004         | Emily Davis      | RH          | Especialista de RH | emily.davis@example.com     |\n| 005         | William Brown    | Finanças    | Contador           | william.brown@example.com   |\n| 006         | John Doe         | Marketing   | Gerente            | john.doe@example.com        |\n| 007         | Jane Smith       | Vendas      | Executivo de Vendas| jane.smith@example.com      |\n| 008         | Michael Johnson  | TI          | Desenvolvedor      | michael.johnson@example.com |\n| 009         | Emily Davis      | RH          | Especialista de RH | emily.davis@example.com     |\n| 0010        | William Brown    | Finanças    | Contador           | william.brown@example.com   |\n\nDentro do conceito de variáveis categóricas temos **Variáveis Categóricas Ordenadas** e **Variáveis Categóricas Não Ordernadas**, entende-se as categóricas ordenadas como variáveis onde suas categorias possuem uma hierarquia, ascendencia ou coisas do tipo. O exemplo do departamento não é um exemplo de variável categórica ordenada, não podemos determinar uma hierarquia entre diferentes departamentos de uma empresa, mas um bom exemplo é a coluna \"Posição\" ela é uma variável categórica e podemos determina-la como ordenada pois há uma hierarquia entre suas classe, como dizer que um \"gerente\" responde a um \"diretor\" que por sua vez responde a um \"presidente\".  \n\nLinks úteis: \u003c/br\u003e\n    [Introdução ao Pivot Table](https://www.youtube.com/watch?v=Ns5qXfPrBm8) \u003c/br\u003e\n    [Fatiamento Arrays](https://www.youtube.com/watch?v=bJlANNWXsCM)  \u003c/br\u003e\n    [Boxplot - Quartil - Percentil](https://www.youtube.com/watch?v=bJlANNWXsCM)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foctavioduarte%2Fdatascience","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foctavioduarte%2Fdatascience","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foctavioduarte%2Fdatascience/lists"}