https://github.com/oemanuelfirmino/decidedistancemetric
Guia interativo para escolher a métrica de distância ideal em projetos de Machine Learning. Explicações claras, exemplos práticos e contextos de uso para cada métrica: Euclidiana, Manhattan, Minkowski, Coseno, Jaccard, Hamming, entre outras.
https://github.com/oemanuelfirmino/decidedistancemetric
applied-machine-learning linear-algebra machine-learning mathematical-programming vector-similarity
Last synced: 4 months ago
JSON representation
Guia interativo para escolher a métrica de distância ideal em projetos de Machine Learning. Explicações claras, exemplos práticos e contextos de uso para cada métrica: Euclidiana, Manhattan, Minkowski, Coseno, Jaccard, Hamming, entre outras.
- Host: GitHub
- URL: https://github.com/oemanuelfirmino/decidedistancemetric
- Owner: oEmanuelFirmino
- Created: 2025-05-31T00:22:10.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-30T18:49:48.000Z (11 months ago)
- Last Synced: 2025-06-30T19:44:00.682Z (11 months ago)
- Topics: applied-machine-learning, linear-algebra, machine-learning, mathematical-programming, vector-similarity
- Language: HTML
- Homepage: https://www.distancetools.site
- Size: 6.12 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Decide Distance Metric
Bem-vindo ao repositório do **decideDistanceMetric**! Este projeto é um recurso educacional online, concebido como um guia abrangente para ajudar estudantes, desenvolvedores e entusiastas de ciência de dados a compreender e escolher a métrica de distância mais adequada para seus projetos de Machine Learning e análise de dados.
👉 Site oficial: [https://www.distancetools.site](https://www.distancetools.site)
---
## 🎯 Sobre o Projeto
A escolha da métrica de distância é um dos pilares em diversos algoritmos de Machine Learning, como:
* **K-Nearest Neighbors (KNN)**
* **K-Means Clustering**
* **Clustering Hierárquico**
Uma má escolha pode gerar resultados enviesados e não representativos. Este projeto busca desmistificar cada métrica com explicações claras, exemplos práticos e cenários de uso real.
---
## ✨ Funcionalidades
O projeto é um **site estático** com páginas dedicadas para cada métrica:
* **Distância Euclidiana**: Distância em linha reta entre dois pontos.
* **Distância de Manhattan**: Soma das diferenças absolutas entre coordenadas.
* **Distância de Minkowski**: Generalização das distâncias Euclidiana e Manhattan.
* **Distância de Chebyshev**: Maior diferença entre as coordenadas.
* **Distância Cosseno**: Mede o ângulo entre vetores (ótima para dados de alta dimensão).
* **Distância de Hamming**: Conta posições diferentes entre duas strings de mesmo tamanho.
* **Distância de Jaccard**: Dissimilaridade entre conjuntos.
* **Distância de Dice**: Similaridade entre conjuntos (variação da Jaccard).
* **Distância de Hellinger**: Comparação entre distribuições de probabilidade.
* **Distância de Mahalanobis**: Leva em conta correlação entre variáveis.
* **Distância de Correlação**: Baseada na correlação entre dois vetores.
---
## 📂 Estrutura do Repositório
```
/
├── index.html # Página principal com links para todas as métricas
├── *.html # Páginas individuais de cada métrica
├── privacyPolicy.html # Política de Privacidade
├── termsOfUse.html # Termos de Uso
├── parse_html_links.py # Extrator de links de todas as páginas HTML
├── check_extracted_links.py # Validador de links extraídos
├── extracted_links_*.txt # Arquivos gerados com os links de cada página
├── package.json # Dependências e scripts Node.js
├── nginx.conf # Configuração de deploy com Nginx
└── ...
```
---
## 🚀 Como Utilizar
### Visualização Local
Como o projeto é 100% estático (HTML, CSS, JS), você pode:
```bash
git clone https://github.com/oemanuelfirmino/decidedistancemetric.git
cd decidedistancemetric
# Abrir o arquivo index.html direto no navegador
```
### Rodando um Servidor Local (Opcional)
Se quiser uma experiência mais robusta:
```bash
# Python 3
python -m http.server 8000
# Depois acesse:
http://localhost:8000
```
---
## 🔧 Scripts Utilitários
* **parse\_html\_links.py**: Varre todos os arquivos HTML e extrai links (``), salvando em `.txt`.
* **check\_extracted\_links.py**: Faz requisições HTTP para verificar se os links extraídos estão válidos (status 200) ou quebrados.
---
## 🤝 Contribuições
Contribuições são **muito bem-vindas**!
Passo a passo:
1. Fork este repositório.
2. Crie uma nova branch:
```bash
git checkout -b feature/sua-feature
```
3. Faça suas alterações.
4. Commit com mensagem clara:
```bash
git commit -m "Adiciona nova feature"
```
5. Push para seu fork:
```bash
git push origin feature/sua-feature
```
6. Abra um **Pull Request**.
---
📌 **Nota:** Este projeto tem um viés educacional. Para ambientes de produção, é importante validar todas as métricas com dados reais e específicos do seu domínio.
---
**Autor:** Emanuel Firmino
**Licença:** MIT
**Última atualização:** Junho/2025