请检查x和y的类型和尺寸。此外,您是否有足够的样本用于所需的最大深度和最小样本叶?
from sklearn.pipeline import Pipeline
from sklearn.model_selection import GridSearchCV
from sklearn.metrics import fbeta_score, make_scorer
from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_iris
import numpy as np
from sklearn import metrics
from sklearn.model_selection import LeaveOneOut
loo= LeaveOneOut()
data = load_iris()
x = data.data
x = x[0:14,:]
x.shape
y = ['NOTHING', 'NOTHING', 'SELL', 'SELL', 'NOTHING', 'NOTHING','SELL','SELL','NOTHING','SELL','SELL','NOTHING','NOTHING','NOTHING']
y = np.asarray(y)
y = y.reshape(14,1)
y = y.astype('str')
pipeline = Pipeline( [ ('clf', RandomForestClassifier() )] )
parameters = {'clf__max_depth': [1,2,3], 'clf__max_features': [1,2,3], 'clf__min_samples_leaf': [1,2,3], 'clf__bootstrap': [True] }
score_func = make_scorer(metrics.f1_score,average='weighted')
grid_search = GridSearchCV(pipeline, parameters, n_jobs=1 , verbose=1, scoring=score_func, cv = loo)
grid_search.fit(x, y)
后果
Fitting 14 folds for each of 45 candidates, totalling 630 fits
[Parallel(n_jobs=1)]: Done 630 out of 630 | elapsed: 33.7s finished
希望这有帮助