ml-finance-python

python scripts for finance machine learning

git clone https://9o.is/git/ml-finance-python.git

04_cross_validation.py

(1268B)


      1 #!/usr/bin/env python
      2 # -*- coding: utf-8 -*-
      3 __author__ = 'Stefan Jansen'
      4 
      5 import warnings
      6 import pandas as pd
      7 import numpy as np
      8 from numpy.random import rand, randn, normal
      9 import seaborn as sns
     10 from sklearn.model_selection import train_test_split, KFold, LeaveOneOut, LeavePOut, ShuffleSplit, StratifiedKFold, \
     11     TimeSeriesSplit
     12 import matplotlib.pyplot as plt
     13 from sklearn.pipeline import Pipeline
     14 from sklearn.preprocessing import PolynomialFeatures
     15 from sklearn.linear_model import LinearRegression
     16 from sklearn.model_selection import cross_val_score
     17 
     18 data = list(range(1, 11))
     19 print(data)
     20 
     21 print(train_test_split(data, train_size=.8))
     22 
     23 kf = KFold(n_splits=5)
     24 for train, validate in kf.split(data):
     25     print(train, validate)
     26 
     27 
     28 kf = KFold(n_splits=5, shuffle=True, random_state=42)
     29 for train, validate in kf.split(data):
     30     print(train, validate)
     31 
     32 
     33 loo = LeaveOneOut()
     34 for train, validate in loo.split(data):
     35     print(train, validate)
     36 
     37 
     38 lpo = LeavePOut(p=2)
     39 for train, validate in lpo.split(data):
     40     print(train, validate)
     41 
     42 
     43 ss = ShuffleSplit(n_splits=3, test_size=2, random_state=0)
     44 for train, validate in ss.split(data):
     45     print(train, validate)
     46 
     47 
     48 tscv = TimeSeriesSplit(n_splits=5)
     49 for train, validate in tscv.split(data):
     50     print(train, validate)