时间序列交叉验证

tscv的Python项目详细描述


tscv:时间序列交叉验证

此存储库是时间序列交叉验证的scikit-learn扩展。 它在训练集和测试集之间引入gaps,从而减轻时间序列的时间依赖性,防止信息泄漏。

安装

pip install tscv

更新

pip install tscv --upgrade

我建议你经常更新。

用法

这个扩展定义了3个交叉验证类和1个函数:

  • GapLeavePOut
  • GapKFold
  • GapWalkForward
  • gap_train_test_split

这三个类都可以作为cv参数传递给scikit-learn中的cross_val_score函数,就像scikit-learn中的本机交叉验证器类一样。

one函数是scikit-learntrain_test_split函数的替代函数。

示例

下面的示例使用GapKFold而不是KFold作为交叉验证器。

importnumpyasnpfromsklearnimportdatasetsfromsklearnimportsvmfromsklearn.model_selectionimportcross_val_scorefromtscvimportGapKFoldiris=datasets.load_iris()clf=svm.SVC(kernel='linear',C=1)# use GapKFold as the cross-validatorcv=GapKFold(n_splits=5,gap_before=5,gap_after=5)scores=cross_val_score(clf,iris.data,iris.target,cv=cv)

下面的示例使用gap_train_test_split将数据集拆分为训练集和测试集。

importnumpyasnpfromtscvimportgap_train_test_splitX,y=np.arange(20).reshape((10,2)),np.arange(10)X_train,X_test,y_train,y_test=gap_train_test_split(X,y,test_size=2,gap_size=2)

支架

请参阅文档here

如果您需要进一步的帮助,请使用问题跟踪器。

贡献

  • 在问题跟踪程序中报告错误
  • 在问题跟踪程序中表达您的用例

作者

这个分机主要是我郑文杰开发的。

GapWalkForward交叉验证器改编自scikit-learnTimeSeriesSplit

确认

  • 我要感谢克里斯托夫·伯格梅尔、普拉比·伯曼和杰弗里·拉辛的有益讨论。
  • 我要感谢雅克乔伯特鼓励我开发这个包。

许可证

BSD-3-条款

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何在JavaSpring引导应用程序中合并两个对象?   java序列化与防止按钮、链接等被点击两次有关吗?   java CORBA序列:我可以用方法定义对象序列吗?   java没有SonarQube的Spring批处理项目的代码覆盖   java如何在eclipse中删除上述方法和属性的搜索引用链接   spring boot如何在java注释中使用泛型T类型?   java导入外部(未编译)groovy类,并将它们保留在jar之外   如何在int[]Java中找到所有值的总和?   Java在ArrayList中删除重复项的问题   Java更改菜单栏、项目背景和文本颜色   网络设置网络。使用Elasticsearch JAVA API将主机发布到客户端节点   Python到Java加密/解密,确保密码匹配?   java Faing在Ubuntu12.04上构建eucalyptus的困难   java使用org。阿帕奇。平民fileupload在mysql数据库中上传图像,但调用servlet会得到一个空白的白页