def five_fold(data_set):
    """[summary]
    Args:
        data_set (List of Sample objects): The Samples to be partitioned
    Returns:
        fold: where fold is list of len n in n-fold of (train,test) where train and test are lists of Samples
    """
    partition_index = int( len(data_set) / 5 )
    s = 0
    fold = []
    for i in range(5): #0-4
        tr = data_set.copy()
        n = s + partition_index # was -1
        te = tr[s:n]
        del tr[s:s + partition_index]

        fold.append( (tr,te) )

        s += partition_index

    return fold