1) Como posso alterar o limite de classificação (acho que é 0,5 por padrão) no RandomForest no sklearn?
2) como posso sub-amostrar no sklearn?
3) Tenho o seguinte resultado do classificador RandomForest: [[1635 1297] [520 3624]]
precision recall f1-score support
class 0 0.76 0.56 0.64 2932
class 1 0.74 0.87 0.80 4144
média / total 0,75 0,74 0,73 7076
primeiro, os dados são desequilibrados (30% da classe 0 e 70% da classe 1). Então, acho que é mais provável que o classificador seja tendencioso para a classe 1, o que significa mover alguns da classe 0 para a classe 1 (existem 1297 classificações erradas para a classe 0, mas 520 classificações erradas para a classe 1). Como posso consertar isso? se downsampling pode ajudar? ou alterar o limiar de classificação?
Atualização: a classe 0 tem 40% da população, enquanto a classe 1 é 60%. No entanto, a mudança da classe 0 para a classe 1 (1297) é alta enquanto eu quero que isso se torne baixo.
fonte
sample_weight
parâmetro (um peso por parâmetro) que é muito flexível e possibilita a simulaçãoclass_weight
(um peso por classe de destino).y
? Por que você tem diferenteY
ey
?