Home › Fóruns › Fórum Machine Learning e Data Science com Python de A à Z › Problemas com o SMOTE e TOMEKLINKS
- Este tópico contém 3 respostas, 3 vozes e foi atualizado pela última vez 6 meses, 4 semanas atrás por Denny Ceccon.
- AutorPosts
- 6 de agosto de 2021 às 10:55 #29996
Estou tendo problemas para utilizar as bibliotecas SMOTE e TOMEKLINKS.
Primeiro que não existe mais o comando “fit_sample”, depois de pesquisar, descobri que o método atual é somente fit.
Porém mesmo assim estou com problemas.
Segue o código abaixo e o erro:
import pandas as pd from sklearn.preprocessing import LabelEncoder, MinMaxScaler, OneHotEncoder from sklearn.compose import ColumnTransformer from sklearn.metrics import accuracy_score from sklearn.model_selection import train_test_split, cross_val_score from sklearn.neural_network import MLPClassifier import numpy as np import seaborn as sns from imblearn.under_sampling import TomekLinks #undersampling from imblearn.over_sampling import SMOTE data = pd.read_excel('abc_2.xls') data = data[['Curva A/B/C', 'Classificador 1', 'Classificador 2', 'Classificador 3', 'Classificador 4', 'Classificador 5', 'Analise']] enc_curva = LabelEncoder() enc_1 = LabelEncoder() enc_2 = LabelEncoder() enc_3 = LabelEncoder() enc_4 = LabelEncoder() enc_5 = LabelEncoder() enc_analise = LabelEncoder() data['Curva A/B/C'] = enc_curva.fit_transform(data['Curva A/B/C']) data['Classificador 1'] = enc_1.fit_transform(data['Classificador 1']) data['Classificador 2'] = enc_2.fit_transform(data['Classificador 2']) data['Classificador 3'] = enc_3.fit_transform(data['Classificador 3']) data['Classificador 4'] = enc_4.fit_transform(data['Classificador 4']) data['Classificador 5'] = enc_5.fit_transform(data['Classificador 5']) data['Analise'] = enc_analise.fit_transform(data['Analise']) previsores = data.iloc[:,0:6].values venda = data.iloc[:,6].values tl = TomekLinks(sampling_strategy='all') x_under, y_under = tl.fit(previsores, venda)
Quando executo essa última linha do código até então, eu tenho o seguinte erro:
“TypeError: cannot unpack non-iterable TomekLinks object”
Como faço pra resolver esse problema?
Obrigado!
8 de agosto de 2021 às 23:21 #30024Olá Renan, fiz os testes com o código da vídeo aula e a função fit_sample esta funcionando normalmente. O que pode estar acontecendo é que entre a criação do Smote e do TomeLinks você precisa recriar as etapas de criação de X_census e y_census. Consegue fazer um novo teste?
Fabio
7 de dezembro de 2021 às 17:29 #32640Ah, entendi. Então eu só posso usar as bibliotecas com esse dataset que vc citou né? Já que quando faço com outras base de dados ele não funciona.
- Esta resposta foi modificada 2 anos, 12 meses atrás por Renan.
10 de maio de 2024 às 13:01 #44775Na verdade não, mas só seria possível dizer inspecionando melhor os dados, como você está carregando um arquivo de Excel talvez precise de alguma configuração adicional.
- AutorPosts
- Você deve fazer login para responder a este tópico.