Диапазон значений, не отображаемых на графике блока matplotlib - PullRequest
1 голос
/ 23 апреля 2020

Я строю сравнение производительности нескольких моделей ML через блок-таблицу matplotlib. Но в некоторых полях диапазон верхних и нижних крайних значений не отображается. Ниже приведены мои выходные данные и код, как их решить

    # evaluate each model in turn
    results = []
    names = []
    for name, model in models:
        kfold = model_selection.KFold(n_splits=5, random_state=42)
        cv_results = model_selection.cross_val_score(model, X_train, y_train,cv=kfold)
        results.append(cv_results)
        names.append(name)
        msg = "%.2s: %.2f (%.2f)" % (name, cv_results.mean(), cv_results.std())
        print(msg)

    # boxplot algorithm comparison
    #plt.figure(figsize=[5,5])
    plt.style.use('seaborn-ticks')
    fig = plt.figure()
    fig.suptitle('Algorithm Comparison')
    ax = fig.add_subplot(111)
    plt.boxplot(results)
    ax.set_xticklabels(names)
    plt.show()

ML: 0.91 (0.03)
DT: 0.83 (0.04)
SV: 0.85 (0.04)
Ri: 0.92 (0.04)
La: 0.92 (0.04)
EN: 0.92 (0.04)
KN: 0.89 (0.03) 

Output

1 Ответ

0 голосов
/ 24 апреля 2020

Чтобы включить все ваши линии, вы должны установить ваши усы на большое количество. Вы можете найти документацию по настройке вашего бокса здесь

plt.boxplot(results,whis=100)
...