1
resposta

[Dúvida] Dados desbalanceados

Boa noite! tudo bem?

Como poderia utilizar o Over-sampling para lidar com labels desbalanceadas?

Tentei da seguinte forma:

# Assuming X_train and y_train are your feature and target training sets
smote = SMOTE(sampling_strategy='auto', random_state=42, k_neighbors = 39)
X_resampled, y_resampled = smote.fit_resample(comment_treino_tfidf, q8_treino_array)

Porém retorna esse erro:

ValueError: Expected n_neighbors <= n_samples,  but n_samples = 39, n_neighbors = 40
1 resposta

Olá, Leonardo, tudo bem?

O erro que você recebeu menciona que há um valor inválido, mais especificamente no parâmetro k_neighbors. Ele indica que o número de vizinhos (n_neighbors) é maior do que o número de amostras (n_samples). Isso pode acontecer porque você está tentando definir k_neighbors = 39, mas segundo a mensagem o número de amostras é igual a 40.

Portanto, para solucionar tente ajustar o valor de k_neighbors para ser igual ou menor que o número de amostras. Algo assim:

 smote = SMOTE(sampling_strategy='auto', random_state=42, k_neighbors=10)
X_resampled, y_resampled = smote.fit_resample(comment_treino_tfidf, q8_treino_array)

Ajuste o valor de k_neighbors de acordo com a sua preferência, mas sempre garantindo que seja menor ou igual ao número de amostras.

Espero que isso ajude a solucionar o problema.

Caso surja outra dúvida, compartilhe no fórum.

Abraços e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!