Я использовал классификатор дерева решений, и он отлично работал для многих наборов данных, пока я не добрался до набора данных, который содержит бесконечные значения. Я отбросил строки, содержащие эти значения. Но я получил ошибку «Неизвестный тип метки: 'unknown'» Здесь Код
raw_df = pd.read_csv('metricsFlagsDefects_htmlunit2010.csv',sep="\t|,", engine='python')
cleaned_df = raw_df.copy()
cleaned_df.pop('Package')
cleaned_df.pop('Class')
cleaned_df.pop('Method')
cleaned_df.pop('FLAG')
cleaned_df.pop('SEQUENCE')
cleaned_df =cleaned_df.replace([np.inf, -np.inf], np.nan).dropna(axis=0 )
labels=cleaned_df[cleaned_df.columns[27]]
features=cleaned_df[cleaned_df.columns[0:26]]
xtrain,xtest,ytrain,ytest=train_test_split(features,labels,test_size=.2)
rov=RandomOverSampler(random_state=42)
x_over, y_over = rov.fit_resample(xtrain,ytrain)
exported_pipeline = make_pipeline(
StackingEstimator(estimator=ExtraTreesClassifier(bootstrap=False, criterion="gini",
max_features=0.55, min_samples_leaf=2, min_samples_split=7, n_estimators=100)),
ExtraTreesClassifier(bootstrap=False, criterion="entropy", max_features=0.15000000000000002,
min_samples_leaf=3, min_samples_split=2, n_estimators=100)
)
# Исправить случайное состояние для всех шагов в экспортированном конвейере set_param_recursive (exported_pipeline.steps, 'random_state', 42)
exported_pipeline.fit (x_over, y_over) results = exported_pipeline.score (xtest, ytest) print (results) \\
ERRor: ValueError Traceback (последний вызов последний) в () 58 set_param_recursive (exported_pipeline.steps, 'random_state', 42) 59 - -> 60 exported_pipeline.fit (x_over, y_over) 61 results = exported_pipeline.score (xtest, ytest) 62 print (results) 167, если y_type не входит в ['binary', 'multiclass', 'multiclass-multioutput', 168 'multipleabel -indicator ',' множественные-последовательности ']: -> 169 raise ValueError ("Неизвестный тип метки:% r"% y_type) 170 171
ValueError: Unknown label type: 'unknown'