时间序列交叉验证

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第三方库


热门话题
主类中的java访问方法   Javalog4j不读取它的log4j。属性文件   雅加达ee通过Java(web应用程序)使用iText/任何其他使用现成数据的库生成PDF报告   lua使用java阅读TeamSpeak 3消息   将日期转换为BST java   java Spring引用ProxyFactoryBean中带有ref的protoyype bean   如何使java只打印一条带有if语句的消息   java如何通过JavaMail从雅虎服务器发送电子邮件?   使用百分比和BigDecimal的java测试   java如何对字符串数组排序   java验证器+MVC+REST::更新问题   java如何阻止eclipse如此频繁地挂起?   java从AsyncTask(片段内)访问TextView   IDEJava:制作可调整大小和拖动的组件