Эта ошибка из-за несоответствия в названии вашего классификатора. Вы называете это "clf" в своем конвейере, но ссылаетесь на "randomforestclassifier" в своем "rfc_params".
Просто замените "randomforestclassifier" на "clf" в словаре "rfc_params", и это будет работать.
Рабочий пример:
from sklearn.model_selection import StratifiedKFold, GridSearchCV
from sklearn.pipeline import Pipeline
from sklearn.ensemble import RandomForestClassifier
from sklearn.feature_extraction.text import CountVectorizer
X_text = ["first text", "text", "text", "last text"]
y_text = [0, 1, 0, 1]
skf = StratifiedKFold(n_splits=2, shuffle=True, random_state=42)
classifier = Pipeline([
('vectorizer', CountVectorizer(max_features=8000, ngram_range=(1, 5))),
('clf', RandomForestClassifier(n_estimators=10, random_state=15, n_jobs=-1))])
min_samples_leaf = [5, 6, 7, 8]
max_features = [0.3, 0.4, 0.5, 0.6, 0.7]
rfc_params = {
'clf__min_samples_leaf': min_samples_leaf,
'clf__max_features':max_features
}
class_grid = GridSearchCV(classifier, param_grid = rfc_params,
cv=skf, scoring='roc_auc', n_jobs=-1)
class_grid.fit(X_text, y_text)