Index: trunk/SDToolBox/statistical_model.py =================================================================== diff -u --- trunk/SDToolBox/statistical_model.py (revision 0) +++ trunk/SDToolBox/statistical_model.py (revision 95) @@ -0,0 +1,48 @@ +# region // imports +import sys +import os +from typing import List, Set, Dict, Tuple, Optional, Any + +from datetime import datetime, timedelta + +from SDToolBox import output_messages as om +from SDToolBox.output_data import OutputData +from sklearn.decomposition import PCA as skPCA +from sklearn.preprocessing import StandardScaler +import numpy as np + +from sklearn.model_selection import train_test_split +from sklearn.model_selection import TimeSeriesSplit +from sklearn import datasets +from sklearn import svm + +import math +import numpy as np +import xarray as xr + + +class StatisticalModel: + + @staticmethod + def train_and_validate( + dataset: xr.Dataset) -> Tuple[list, list, list, list]: + """Trains and validates an 80% training 20% validation + arrays of lon / lat dataset . + + Arguments: + dataset {xr.Dataset} -- Input xArray dataset. + + Raises: + Exception: When dataset not given. + + Returns: + Tuple[list, list, list, list] + -- Lon_train, Lon_test, Lat_train, Lat_test + """ + if(not dataset): + raise Exception("No input dataset given.") + return train_test_split( + dataset.lon[:], + dataset.lat[:], + test_size=0.8, + random_state=0)