O StratifiedShuffleSplit entende sozinho que deve dividir os conjuntos de treino e teste respeitando a proporcionalidade de fraudes e não-fraudes do nosso Y, ou precisamos passar algum parâmetro para lhe indicar isso?
O StratifiedShuffleSplit entende sozinho que deve dividir os conjuntos de treino e teste respeitando a proporcionalidade de fraudes e não-fraudes do nosso Y, ou precisamos passar algum parâmetro para lhe indicar isso?
Oii Julio, tudo certinho contigo? Espero que sim!
Desculpa a demora em te dar um retorno por aqui.
Os conjuntos que utilizam o Stratified são usados principalmente para conjuntos de dados desbalanceados por conta dessa divisão automática de classes, respeitando a proporcionalidade de cada classe no dataset.
O StratifiedShuffleSplit é uma combinação entre ShuffleSplit e StratifiedKFold. Quando usamos o StratifiedShuffleSplit, a proporção de distribuição de rótulos das classes é quase uniforme entre o conjunto de treino e teste, e a principal diferença entre o StratifiedShuffleSplit e StratifiedKFold (shuffle = True) é que no StratifiedKFold o conjunto de dados é embaralhado apenas uma vez no início, e depois é dividido no número especificado de n_splits, isso descarta a chance de sobreposição dos conjuntos de treino e teste, porém no StratifiedShuffleSplit os dados são embaralhados a cada vez que a divisão é feita, por isso é possível que os dados de treino e teste sejam sobrepostos.
Caso você queira ver a diferença entre os tipos de separação de dados, recomendo a leitura deste tópico aqui, onde explico para outro aluno com um exemplo prático, para que fique mais fácil de ser compreendido como funciona essa separação em dados desbalanceados.
Espero ter ajudado, mas caso ainda tenha mais alguma dúvida, pode me chamar, ok?
Bons estudos ^^