-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add/readme/random forest regressor #43
Open
AZANK7173
wants to merge
10
commits into
master
Choose a base branch
from
add/README/Random_Forest_regressor
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+178
−0
Open
Changes from all commits
Commits
Show all changes
10 commits
Select commit
Hold shift + click to select a range
a3ced0e
Adiciona markdown de C
AZANK7173 da25464
Adiciona/readmeKNN
AZANK7173 f9e1d7c
Adiciona README do SVM
AZANK7173 60a6a8b
Merge branch 'master' of https://github.com/GrupoTuring/Arvore-de-Hab…
AZANK7173 ef27106
adiciona readme de Ensemble
AZANK7173 085eedd
adiciona readme de Stacking
AZANK7173 65abb45
adiciona readme de Boosting
AZANK7173 723ae14
Merge branch 'master' of https://github.com/GrupoTuring/Arvore-de-Hab…
AZANK7173 bb32dab
Adiciona o Readme de regressão linear
AZANK7173 8c836ed
adiciona Readme de random forest regressor
AZANK7173 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
113 changes: 113 additions & 0 deletions
113
Machine Learning/Supervised Learning/Ensemble/Boosting/README.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,113 @@ | ||
<img src="https://i.ibb.co/DtHQ3FG/802x265-Logo-GT.png" width="500"> | ||
|
||
## Grupo Turing | ||
# Ensemble Learning: Boosting | ||
|
||
## Introdução | ||
|
||
Boosting é um tipo de ensemble learning que usa do aprendizado sequencial de | ||
modelos de predição mais fracos, corrigindo os erros dos modelos anteriores, para criar um | ||
mais forte. Seu objetivo é reduzir o alto viés que ocorreria no caso de se usar somente os | ||
modelos fracos, para tal, devem ser usados modelos base com baixa variância e alto viés. O modelo razo mais comumente usado é a árvore de decisão. | ||
|
||
## Tipos principais e como funcionam | ||
|
||
### Adaboost (Adaptative Boosting) | ||
Adaboost é um algoritmo de boosting que usa árvores de decisão de profundidade 1 | ||
chamados tocos (stumps) que serve tanto para classificação quanto para regressão. O primeiro | ||
toco aplica uma divisão e o segundo verifica quais datapoints não foram classificados | ||
corretamentes e aumenta o peso deles na função erro aplicada para que sejam mais | ||
importantes nessa divisão, os corretamente classificados tem peso diminuído e o processo | ||
segue em frente até tudo ser corretamente classificado com a junção desses . Os modelos | ||
também têm pesos de acordo com seu sucesso para determinar sua influência no ensemble | ||
final. | ||
|
||
Prós: | ||
* Flexível para ser combinado com outros algoritmos de ML | ||
* Único parâmetro a ser melhorado é o T | ||
* Pode ser usado com dados numéricos ou com texto | ||
|
||
Cons: | ||
* Modelos muito fracos podem levar a overfitting | ||
* Algoritmo relativamente antigo e existem outras versões melhores atualmente | ||
* Problemas com noise que é consistente | ||
|
||
Exemplo de Classificador: | ||
|
||
<img src="https://i.imgur.com/qBFAQ3X.jpg" width="500"> | ||
|
||
Exemplo de Regressor: | ||
|
||
<img src="https://imgur.com/M2mM8Bm.jpg" width="500"> | ||
|
||
|
||
### Gradient Boosting | ||
Assim como o Adaboost esse algoritmo também funciona sequencialmente | ||
porém, ao invés de mudar os pesos dos erros, ele aplica o próximo modelo aos erros do | ||
anterior. Ele utiliza então uma técnica conhecida como Gradient Descent nos parâmetros para os sucessivos modelos. Essa técnica, em linhas gerais, visa encontrar o mínimo global da função perda a partir da atualização dos parâmetros do modelo na direção de suas derivadas parciais. | ||
|
||
Prós: | ||
* Alta performance | ||
* Facilmente melhorado (tuning) | ||
* Simples de programar | ||
|
||
Cons: | ||
* Uma pequena mudança na base de treino gera uma grande mudança no modelo | ||
* Não é fácil entender as predições | ||
|
||
Exemplo de Regressor: | ||
|
||
<img src="https://imgur.com/ezVlCvA.jpg" width="500"> | ||
|
||
Exemplo de Classificador: | ||
|
||
<img src="https://imgur.com/YkAJJl8.jpg" width="500"> | ||
|
||
<img src="https://imgur.com/HvaL0Qd.jpg" width="500"> | ||
|
||
|
||
### XGBoost (eXtreme Gradient Boosting) | ||
|
||
XGboost é uma versão otimizada de gradient boosting usando diversas técnicas de programação, e.g. paralelismo, matriz esparsas e regularização, para agilizar o processamento e diminuir o overfitting. | ||
|
||
Prós: | ||
* Regularização | ||
* Processamento em paralelo | ||
* Pode lidar com valores faltantes | ||
* Usa Cross Validation | ||
* Faz um bom Tree Prunning (desconsiderar árvores com baixa importância no modelo) | ||
|
||
Cons: | ||
* Pode ser lento | ||
* Pode criar um modelo complexo | ||
|
||
Exemplo de Classificador: | ||
|
||
<img src="https://imgur.com/ObJhH2x.jpg" width="500"> | ||
|
||
Exemplo de Regressor: | ||
|
||
<img src="https://imgur.com/vpoMfeI.jpg" width="500"> | ||
|
||
## **Links Úteis**: | ||
|
||
* https://towardsdatascience.com/boosting-algorithms-explained-d38f56ef3f30 | ||
* https://medium.com/greyatom/a-quick-guide-to-boosting-in-ml-acf7c1585cb5 | ||
* https://stats.stackexchange.com/questions/7813adjusting-sample-weights-in-adaboost | ||
* https://www.edureka.co/blog/boosting-machine-learning/ | ||
* https://www.datacamp.com/community/tutorials/adaboost-classifier-python | ||
* https://machinelearningmastery.com/boosting-and-adaboost-for-machine-learning/ | ||
* https://hub.packtpub.com/ensemble-methods-optimize-machine-learning-models/ | ||
* https://www.educba.com/adaboost-algorithm/ | ||
|
||
|
||
|
||
--- | ||
**Grupo Turing** | ||
Grupo de Extensão da Universidade de São Paulo (USP) | ||
|
||
[Email](mailto:[email protected]) | ||
[Facebook](https://www.facebook.com/grupoturing.usp) | ||
[Medium](https://www.medium.com/turing-talks) | ||
[LinkedIn](https://www.linkedin.com/company/grupo-turing) | ||
|
29 changes: 29 additions & 0 deletions
29
...earning/Supervised Learning/Regressão/Distance Based/Regressao_Linear/README.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
<img src="https://i.ibb.co/DtHQ3FG/802x265-Logo-GT.png" width="500"> | ||
|
||
## Grupo Turing | ||
# Regressão Linear | ||
|
||
- **Resumo**: | ||
Algoritmo que busca encontrar a reta que melhor representa a relação entre features e target, de modo a encontrar uma tendência. O algoritmo tem, como objetivo, a predição de valores numéricos. Sua explicação matemática, assim como um exemplo de sua classificação, se encontram em nosso Turing Talk abaixo. | ||
|
||
|
||
|
||
- **Links**: | ||
- [Turing Talks: Modelos de Predição | Regressão Linear](https://medium.com/turing-talks/turing-talks-11-modelo-de-predi%C3%A7%C3%A3o-regress%C3%A3o-linear-7842709a593b | ||
) | ||
- [The Basics: KNN for classification and regression](https://towardsdatascience.com/the-basics-knn-for-classification-and-regression-c1e8a6c955) | ||
- [Linear Regression — Detailed View](https://towardsdatascience.com/linear-regression-detailed-view-ea73175f6e86) | ||
- [Introduction to Machine Learning Algorithms: Linear Regression](https://towardsdatascience.com/introduction-to-machine-learning-algorithms-linear-regression-14c4e325882a) | ||
- [Vídeo explicativo do canal Simplilearn](https://www.youtube.com/watch?v=NUXdtN1W1FE&list=PLEiEAq2VkUULYYgj13YHUWmRePqiu8Ddy&index=14) | ||
- [Vídeo explicativo Andrew Ng (Stanford)](https://www.youtube.com/watch?v=kHwlB_j7Hkc) | ||
|
||
|
||
--- | ||
**Grupo Turing** | ||
Grupo de Extensão da Universidade de São Paulo (USP) | ||
|
||
[Email](mailto:[email protected]) | ||
[Facebook](https://www.facebook.com/grupoturing.usp) | ||
[Medium](https://www.medium.com/turing-talks) | ||
[LinkedIn](https://www.linkedin.com/company/grupo-turing) | ||
|
36 changes: 36 additions & 0 deletions
36
...pervised Learning/Regressão/Information Based/Random Forest Regressor/README.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
<img src="https://i.ibb.co/DtHQ3FG/802x265-Logo-GT.png" width="500"> | ||
|
||
## Grupo Turing | ||
# Random Forest (Regressão) | ||
|
||
- **Resumo**: | ||
Este método supervisionado de regressão é baseado no método de bagging (mais detalhado na seção deste assunto em Ensemble Learning), onde decision trees são executadas em paralelo, sem interações entre si. No caso de um modelo de classificação, o resultado final é a moda dos resultados fornecidos pelas árvores, enquanto, para a regressão, o resultado é a média da previsão de cada uma das árvores individuais. | ||
|
||
|
||
<img src="https://imgur.com/zHAF3YN.png" width="500"> | ||
|
||
A vantagem de se utilizar uma random forest ao invés de somente uma Decision Tree é que os hiperparâmetros desta garantem que o modelo não depende muito de uma só feature, além de reduzir o overfitting, pois cada uma das decision trees usa uma parte aleatória do dataset, reduzindo a correlação entre elas. Portanto, essas Decisions Trees, ao se unirem, criam um modelo muito mais balanceado. | ||
|
||
Veja também: | ||
* [Decision Tree Regressor]() | ||
* [Random Forest Classifier]() | ||
* [Bagging]() | ||
|
||
|
||
- **Links Úteis**: | ||
- [Texto do Turing Talks (Classifier)](https://medium.com/turing-talks/turing-talks-18-modelos-de-predi%C3https://www.quora.com/How-does-random-forest-work-for-regression-1%A7%C3%A3o-random-forest-cfc91cd8e524 | ||
) | ||
- [Random Forest Regression](https://towardsdatascience.com/random-forest-and-its-implementation-71824ced454f) | ||
- [A Beginners Guide to Random Forest Regression](https://medium.com/datadriveninvestor/random-forest-regression-9871bc9a25eb) | ||
- [How does random forest work for regression?](https://www.quora.com/How-does-random-forest-work-for-regression-1) | ||
|
||
--- | ||
**Grupo Turing** | ||
Grupo de Extensão da Universidade de São Paulo (USP) | ||
|
||
[Email](mailto:[email protected]) | ||
[Facebook](https://www.facebook.com/grupoturing.usp) | ||
[Medium](https://www.medium.com/turing-talks) | ||
[LinkedIn](https://www.linkedin.com/company/grupo-turing) | ||
|
||
https://www.quora.com/How-does-random-forest-work-for-regression-1 |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Links faltando, melhor aprovar quando esses arquivos já estiverem na árvore