{"id":15826660,"url":"https://github.com/victor-lis/ai-data-analysis","last_synced_at":"2026-03-18T17:02:07.742Z","repository":{"id":215186842,"uuid":"738205493","full_name":"Victor-Lis/AI-Data-Analysis","owner":"Victor-Lis","description":null,"archived":false,"fork":false,"pushed_at":"2024-01-03T21:26:04.000Z","size":66,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-12T10:07:13.022Z","etag":null,"topics":["ai-analysis","documentation"],"latest_commit_sha":null,"homepage":"","language":null,"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/Victor-Lis.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-01-02T17:16:33.000Z","updated_at":"2024-02-19T01:01:56.000Z","dependencies_parsed_at":"2024-01-05T00:16:22.560Z","dependency_job_id":null,"html_url":"https://github.com/Victor-Lis/AI-Data-Analysis","commit_stats":null,"previous_names":["victor-lis/ai-data-analysis"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Victor-Lis%2FAI-Data-Analysis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Victor-Lis%2FAI-Data-Analysis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Victor-Lis%2FAI-Data-Analysis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Victor-Lis%2FAI-Data-Analysis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Victor-Lis","download_url":"https://codeload.github.com/Victor-Lis/AI-Data-Analysis/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246622829,"owners_count":20807219,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["ai-analysis","documentation"],"created_at":"2024-10-05T10:00:55.443Z","updated_at":"2026-01-08T08:38:28.541Z","avatar_url":"https://github.com/Victor-Lis.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# AI-Data-Analysis\nEsse é o repositório de explicação de como as IAs podem ser analisadas e com quais métodos, antes de tudo, vamos para uma explicação\n\n# Como uma IA de Regressão funciona?\nEla basicamente vai se assemelhar bastante a uma função matématica ou uma função das linguagens de programação.\nTemos várias características e valores que são o **X** que através de uma fórmula gerarão o **Y**, a IA basicamente vai descobrir essa fórmula.\nEm resumo, termos X como o Preditor(Predictor) e Y como o Alvo(Target)\n\n## Exemplo | Dados de treinamento(Training Data)\n\nSupondo que tenhamos os seguintes valores:\n```\nPredict | Target\nx: 1    | y: 3\nx: 2    | y: 5 \nx: 3    | y: 7 \nx: 4    | y: 9 \nx: 5    | y: 11\nx: 6    | y: 13\nx: 7    | y: 15\nx: 8    | y: 17\nx: 9    | y: 19\n```\n\nA **IA** vai traçar um **model** (uma espécie de função que sirva para obtermos os respectivos valores), no caso o **model** que **IA** iria traçar seria (em JS):\n```js\nconst f = (x) =\u003e console.log(`x: ${x} | y: ${(x*2)+1}`)\n```\n\n# Como qualificar a qualidade dos resultados?\nPara isso existem alguns métodos, vamos ver:\n\n## Exemplo | Dados de treinamento(Training Data)\nNesse exemplo, vamos supor que fossemos avaliar o valor de uma casa(y) através de alguns valores(x), por exemplo: área_quadrada e num_de_quartos.\n\nSupondo que tenhamos os seguintes valores:\n```\n|       |               X                |        Y        | \n| Index | area_quadrada | num_de_quartos |  valor_da_casa  |\n|   1   |      091      |       04       |   R$5.500,000   |\n|   2   |      082      |       04       |   R$5.345,000   |\n|   3   |      075      |       03       |   R$4.978,000   |\n```\n\nAlém disso temos uma equação estimada:\n```\nvalor_casa1 = 3.000,000 + (peso1 * area_quadrada) + (peso2 * num_de_quartos)\nvalor_casa2 = 3.000,000 + (peso1 * area_quadrada) + (peso2 * num_de_quartos)\nvalor_casa3 = 3.000,000 + (peso1 * area_quadrada) + (peso2 * num_de_quartos)\n```\n\nPara os valores já conhecidos podemos apenas substituir:\n```\nvalor_casa1 = 3.000,000 + (peso1 * 91) + (peso2 * 4)\nvalor_casa2 = 3.000,000 + (peso1 * 82) + (peso2 * 4)\nvalor_casa3 = 3.000,000 + (peso1 * 75) + (peso2 * 3)\n```\n\nAgora os nossos únicos valores desconhecidos são:\n```\npeso1 = ?\npeso2 = ?\n```\n\nPrecisamos encontrar uma **valor** para eles que se encaixe em **ambas situações** ao mesmo tempo.\nComeçando então por um valor aleatório.\n\nExemplo:\n\nObs: Poderia ser qualquer outro valor, foi escolhido apenas de maneira aleatória.\n```\npeso1: 27,000;\npeso2: 27,000;\n```\n\nSubstituindo agora nas nossas formulas os valores gerados aleatóriamente:\n```\nvalor_casa1 = 3.000,000 + (27 * 91) + (27 * 4)\nvalor_casa2 = 3.000,000 + (27 * 82) + (27 * 4)\nvalor_casa3 = 3.000,000 + (27 * 75) + (27 * 3)\n```\n\nAgora temos uma fórmula para **estimar o valor**.\n\nOs resultados no exemplo acima seriam:\n```\nvalor_casa1 = 5.565,000;\nvalor_casa2 = 5.322,000;\nvalor_casa3 = 5.106,000;\n```\n\nAgora fazendo a comparação com os valores reais:\n```\n|  Valores Reais  |   Valores Estimados |\n|   R$5.500,000   |     R$5.565,000     |\n|   R$5.345,000   |     R$5.322,000     |\n|   R$4.978,000   |     R$5.106,000     |\n```\n\n## Certo, mas e agora? Como calcular a qualidade dos resultados?\nAtravés de uma função de custo(Cost Function), que serve para medir a performace de um model.\n\nEla quantifica o erro com base nos **valores estimados** e nos **valores reais** na forma de um **número real inteiro**.\n\n## Existem várias métricas para isso, no caso vou explicar 2, vamos entender:\n\n### MAE(Mean Absolute Error)\n\n1° - Vamos calcular o erro:\n```\n|       |               X                |        Y         |       Y'        |              |\n| Index | area_quadrada | num_de_quartos |  valor_da_casa  |  valor_estimado  |  erro(y-y')  |\n|   1   |      091      |       04       |   R$5.500,000   -    R$5.565,000   =  -R$65,000   |\n|   2   |      082      |       04       |   R$5.345,000   -    R$5.322,000   =   R$23,000   |\n|   3   |      075      |       03       |   R$4.978,000   -    R$5.106,000   =  -R$128,000  |  \n```\n\n2° - Iremos somar os erros, para garantir que os erros não vão se anular, vamos torná los todos positivos:\n```\n|       |               X                |        Y        |        Y'       |               |               | \n| Index | area_quadrada | num_de_quartos |  valor_da_casa  |  valor_estimado |   erro(y-y')  | erro_absoluto |\n|   1   |      091      |       04       |   R$5.500,000   -   R$5.565,000   =   -R$65,000   |   R$65,000    |  \n|   2   |      082      |       04       |   R$5.345,000   -   R$5.322,000   =    R$23,000   |   R$23,000    |   \n|   3   |      075      |       03       |   R$4.978,000   -   R$5.106,000   =   -R$128,000  |   R$128,000   |\n```\n\n3° - Agora vamos calcular o \"custo do erro\", a partir da seguinte função:\n```\nExplicação:\n(todos os erros absolutos somados) / (pela quantidade erros somados)\n\nPrática (usando o nosso caso):\n(65,000+23,000+128,000) / 3 = 72,000\n\nO resultado é conhecido como Mean Absolute Error(MAE), ou em português algo como Erro Absoluto Médio.\n\nEm outras palavras é como se com base na análise do MAE,\nchegassemos na conclusão que o nosso modelo erra cerca R$72,000 nas suas previsões.\n```\n\n### MSE(Mean Squared Error)\n\n1° - Vamos calcular o erro:\n```\n|       |               X                |        Y         |       Y'        |              |\n| Index | area_quadrada | num_de_quartos |  valor_da_casa  |  valor_estimado  |  erro(y-y')  |\n|   1   |      091      |       04       |   R$5.500,000   -    R$5.565,000   =  -R$65,000   |\n|   2   |      082      |       04       |   R$5.345,000   -    R$5.322,000   =   R$23,000   |\n|   3   |      075      |       03       |   R$4.978,000   -    R$5.106,000   =  -R$128,000  |  \n```\n\n2° - Iremos somar os erros, para garantir que os erros não vão se anular, vamos torná los todos positivos:\n```\n|       |               X                |        Y        |        Y'       |               |\n| Index | area_quadrada | num_de_quartos |  valor_da_casa  |  valor_estimado |   erro(y-y')  | \n|   1   |      091      |       04       |   R$5.500,000   -   R$5.565,000   =   -R$65,000   |   \n|   2   |      082      |       04       |   R$5.345,000   -   R$5.322,000   =    R$23,000   |  \n|   3   |      075      |       03       |   R$4.978,000   -   R$5.106,000   =   -R$128,000  |\n```\n\n3° - Agora vamos calcular o \"custo do erro\", a partir da seguinte função:\n```\nExplicação:\n(todos os erros absolutos elevados individualmente a 2 e depois somados) / (pela quantidade erros somados)\n\nPrática (usando o nosso caso):\n(65,000^2)+(23,000^2)+(128,000^2) / 3 = 7.046E+09\n\nO resultado é conhecido como Mean Squared Error(MSE), ou em português algo como Erro Quadrático Médio.\n\nEm outras palavras é como se com base na análise do MSE,\nchegassemos na conclusão que o custo do modelo é 7.046E+09.\n```\n\n### R2 (Coeficiente de Determinação)\nO R² nos informa que percentual é eliminado do erro de previsão na variável ‍ quando usamos a regressão de mínimos quadrados sobre a variável. Como resultado, ‍ também é chamado de coeficiente de determinação.\n\nDeixo aqui o [link](https://pt.khanacademy.org/math/ap-statistics/bivariate-data-ap/assessing-fit-least-squares-regression/a/r-squared-intuition) da explicação na Khan Academy.\n\n## Em resumo\nQuanto menor for o valor resultante da Cost Function ou Função de Custo, melhor será a precisão do nosso modelo. Se for 0, quer dizer que não haverá erros, porém já é considerado muito eficiente quando próximo 1.\n\n# Fonte\nO conteúdo acima foi traduzido do [vídeo](https://www.youtube.com/watch?v=A6jKo7OjAKw): \"07. Value Prediction using Linear Regression in Python | Artificial Intelligence \u0026 Machine Learning\", do canal no Youtube \"Education is Life\".\n\n## Autores\n- [Victor-Lis, tradutor e adaptador do conteúdo](https://github.com/Victor-Lis);\n- [Joed Goh, dono do conteúdo e explicações originais](https://www.youtube.com/@joedgoh/featured).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvictor-lis%2Fai-data-analysis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvictor-lis%2Fai-data-analysis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvictor-lis%2Fai-data-analysis/lists"}