«numpy .ndarray 'объект не вызывается» в моем коде машинного обучения - PullRequest
0 голосов
/ 04 мая 2020

Я хочу построить кривые обучения для двух мл моделей с функцией.

def Learning_Curves(estimator,data1=input_data,data2=output_data,cv=5,train_sizes=train_sizes):
    train_sizes,train_score,validation_score=learning_curve(estimator,data1,data2,cv=cv,train_sizes=train_sizes,shuffle=True)
    mean_train_score=-train_score.mean(axis=1)
    mean_validation_score=-validation_score(axis=1)
    sns.lineplot(train_sizes,mean_train_score)
    sns.lineplot(train_sizes,mean_validation_score)
    plt.ylim(0,40)

plt.figure(figsize = (16,5))   
for model,i in zip([LinearRegression(),RandomForestRegressor()],[1,2]):                 
    plt.subplot(1,2,i)
    Learning_Curves(model)

Не могу понять, в чем ошибка.

1 Ответ

0 голосов
/ 04 мая 2020

Вы, кажется, забыли позвонить validation_score.mean здесь:

mean_validation_score = -validation_score(axis=1)

Также вы можете заменить эту строку:

for model,i in zip([LinearRegression(),RandomForestRegressor()],[1,2]):

с этим

for i, model in enumerate((LinearRegression(),RandomForestRegressor()), start=1):
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...