выбрать алгоритм наилучшей производительности с помощью теста рангового знака Уилкокса - PullRequest
0 голосов
/ 31 января 2020

Я нахожусь в python, и я хочу выбрать наилучшую производительность между двумя алгоритмами. Я прочитал о тесте ранговых знаков wilconxcon для каждого классификатора. Я делаю 20 экспериментов и сохраняю результаты в векторе, а затем передаю два вектора в wilcoxocon как следующий код

kfoldscore , accs = [], []

for i in range(20):
    skf = StratifiedKFold(n_splits=10,shuffle=True)
    scoresSKF2 = cross_val_score(clf, x_train, y_train , cv=skf)
    kfoldscore.append(scoresSKF2)
    clf.fit(x_train, y_train)
    y_pred = clf.predict(x_test)
    acc = accuracy_score(y_test, y_pred)
    accs.append(acc)
print (np.mean(kfoldscore),np.std(kfoldscore))
print (np.mean(accs),np.std(accs))


kfoldscore1 , accs1 = [], []
for i in range(20):
    skf = StratifiedKFold(n_splits=10,shuffle=True)
    scoresSKF2 = cross_val_score(clf, x_train, y_train , cv=skf)
    kfoldscore1.append(scoresSKF2)
    clf.fit(x_train, y_train)
    y_pred = clf.predict(x_test)
    acc = accuracy_score(y_test, y_pred)
    accs1.append(acc)
print (np.mean(kfoldscore),np.std(kfoldscore))
print (np.mean(accs),np.std(accs))



w,p = wilcoxcon(accs,accs1, zero_method='wilcox', correction= True)

это дает мне следующий результат

 w,p
: (0.0, 8.553502651441746e-06)

в соответствии с этим результатом, каковы наилучшие показатели, и любой может объяснить это мне заранее, спасибо,

...