0
У меня есть несбалансированные данные бинарного классификатора и вы хотите, чтобы Стратифицированное резюме K-Fold. Я получаю ошибку ниже:Machine Learning - Stratified K-Fold CV
data = DataFrame(df,columns=names)
train,test = cross_validation.train_test_split(df,test_size=0.20)
train_data,test_data = pd.DataFrame(train,columns=names),pd.DataFrame(test,columns=names)
y = test_data['Classifier'].values
k_fold = StratifiedKFold(y, n_folds=3, shuffle=False, random_state=None)
scores = []
for train_indices, test_indices in k_fold:
print(train_indices)
print(test_indices)
train_text = train.iloc[train_indices]
train_y = train.iloc[train_indices]
print(train_y)
test_text = test.iloc[test_indices]
test_y = test.iloc[test_indices]
pipeline.fit(train_text, train_y)
Здесь трубопровод является:
pipeline = Pipeline([
('count_vectorizer', CountVectorizer(ngram_range=(1, 2))),
('tfidf_transformer', TfidfTransformer()),
('classifier', MultinomialNB()) ]) . The error is occurring in pipeline.Below is the error.
C:\SMS\Anaconda32bit\lib\site-packages\sklearn\utils\validation.pyc in column_or_1d(y, warn)
549 return np.ravel(y)
--> 551 raise ValueError("bad input shape {0}".format(shape))
ValueError: bad input shape (54, 3)
Спасибо за ответ. Не могли бы вы предоставить любой образец, который у вас есть для StratifiedK Fold, поскольку теперь я получаю другую ошибку. Заранее спасибо! – MLUser2016
Тогда, пожалуйста, задайте отдельный вопрос и сообщите об ошибке. Примеры на сайте sklearn – lejlot