如何解决向前验证中的威尔科克森检验?
我有时间序列数据并尝试与分类器(在分类问题中)A 和 B 的性能进行比较。我使用前向验证来训练和验证模型并比较它们,但我还需要以统计方式比较分类器的性能。
由于我的数据集是时间序列并且不是正态分布的,所以我不能使用这个博客here中描述的简单的“K-fold配对t-test”如下:
from sklearn.linear_model import LogisticRegression
from sklearn.tree import DecisionTreeClassifier
from mlxtend.data import iris_data
from sklearn.model_selection import train_test_split
X,y = iris_data()
clf1 = LogisticRegression(random_state=1)
clf2 = DecisionTreeClassifier(random_state=1)
X_train,X_test,y_train,y_test = \
train_test_split(X,y,test_size=0.25,random_state=123)
score1 = clf1.fit(X_train,y_train).score(X_test,y_test)
score2 = clf2.fit(X_train,y_test)
print('Logistic regression accuracy: %.2f%%' % (score1*100))
print('Decision tree accuracy: %.2f%%' % (score2*100))
from mlxtend.evaluate import paired_ttest_kfold_cv
t,p = paired_ttest_kfold_cv(estimator1=clf1,estimator2=clf2,X=X,y=y,random_seed=1)
print('t statistic: %.3f' % t)
print('p value: %.3f' % p)
所以我应该使用在前向验证中运行 Wilcoxon 文本的东西。有解决问题的想法吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。