Você está na página 1de 1

Descrição do código:

Na primeira parte do código está apresentado o código standard de uma Balanced Random
Forest Classifier ,código similar a
https://github.com/scikit-learn-contrib/imbalanced-learn/blob/64fc1ca/imblearn/ensemble/
_forest.py#L466 e https://github.com/scikit-learn/scikit-learn/blob/main/sklearn/ensemble/
_forest.py#L216 com algumas alterações como a adição do estimador.

Na segunda parte estão as classes que foram adicionadas como referido nos slides:
SamplerMixin(faz a reamostragem do conjunto de dados) , RandomUnderSampler(faz com que
as classes fiquem balanceadas como referido nos slides), AraysTransformer(converte os arrays
do output para os seus tipos originais).

Depois instanciamos o LabelEncoder que serve para normalizarmos as labels e utilizamos


“le.fit_transform(nomedodataset[column])” para codificar a column.

Utilizamos nomedodataset[label].value_counts(normaliza=True) para vermos a frequência de


valores apresentados. Por exemplo, em
dfBank['got_term_deposit'].value_counts(normalize=True) temos como resultado:

1 0.883015
2 0.116985

Por fim, através de cross-validation, obtemos os resultados do RandomForestClassifier com


diferentes estratégias de sampling(1 , 1.2 e 0.8) para os diferentes data sets.

Para cada sampling fazemos a media das 3 metricas (precision , recall e accuracy) para cada
resultado.

Com estas médias comparamos, em cada data set, a precision ,o recall e a accuracy de cada
resultado através de um gráfico de barras.

Você também pode gostar