Metadata-Version: 2.1
Name: tscv
Version: 0.1.0
Summary: Time series cross-validation
Home-page: https://github.com/WenjieZ/TSCV
Author: Wenjie Zheng
Author-email: work@zhengwenjie.net
License: new BSD
Description: ![](train-gap-test.svg)
        
        # TSCV: Time Series Cross-Validation
        
        This repository is a [scikit-learn](https://scikit-learn.org) extension for time series cross-validation.
        It introduces **gaps** between the training set and the test set, which mitigates the temporal dependence of time series and prevents information leakage.
        
        ## Installation
        
        ```bash
        pip install tscv
        ```
        
        ## Usage
        
        This extension defines 3 cross-validator classes and 1 function:
        - `GapLeavePOut`
        - `GapKFold`
        - `GapRollForward`
        - `gap_train_test_split`
        
        The three classes can all be passed, as the `cv` argument, to
        scikit-learn functions such as `cross-validate`, `cross_val_score`,
        and `cross_val_predict`, just like the native cross-validator classes.
        
        The one function is an alternative to the `train_test_split` function in `scikit-learn`.
        
        ## Examples
        
        The following example uses `GapKFold` instead of `KFold` as the cross-validator.
        ```python
        import numpy as np
        from sklearn import datasets
        from sklearn import svm
        from sklearn.model_selection import cross_val_score
        from tscv import GapKFold
        
        iris = datasets.load_iris()
        clf = svm.SVC(kernel='linear', C=1)
        
        # use GapKFold as the cross-validator
        cv = GapKFold(n_splits=5, gap_before=5, gap_after=5)
        scores = cross_val_score(clf, iris.data, iris.target, cv=cv)
        ```
        
        The following example uses `gap_train_test_split` to split the data set into the training set and the test set.
        ```python
        import numpy as np
        from tscv import gap_train_test_split
        
        X, 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)
        ```
        
        ## Contributing
        - Report bugs in the issue tracker
        - Express your use cases in the issue tracker
        
        ## Support
        - [tscv.readthedocs.io](tscv.readthedocs.io)
        
        ## Acknowledgments
        
        - I would like to thank Jeffrey Racine and Christoph Bergmeir for the helpful discussion.
        
        ## License
        BSD-3-Clause
        
        ## Citation
        ```latex
        @article{zheng2019hv,
          title={$ hv $-Block Cross Validation is not a BIBD: a Note on the Paper by Jeff Racine (2000)},
          author={Zheng, Wenjie},
          journal={arXiv preprint arXiv:1910.08904},
          year={2019}
        }
        ```
        
Platform: UNKNOWN
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development
Classifier: Topic :: Scientific/Engineering
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX
Classifier: Operating System :: Unix
Classifier: Operating System :: MacOS
Description-Content-Type: text/markdown
