<jupyter_start><jupyter_text>1. Crear una función que reciba cuatro parámetros: una lista 'L', un número 'T', un número 'V' y un booleano 'S'. La función debe devolver otras dos listas: "lista_train_val" y "lista_test".- "lista_train_val" es una lista con dos elementos. Cada elemento es una lista: "list_train", que representa el conjunto de entrenamiento y "list_val", que representa el conjunto de validación. - "list_test" es el conjunto de test. Como mínimo ha de tener 1 elemento (si 'L' > 1).- "L" es cualquier lista de elementos. Al principio, entra con un tamaño completo (100%). Esta es la lista que se partirá y se generarán los conjuntos entrenamiento, de validación y de test.- "T" es un número entre 1 y 100 que va a representar el tamaño, en porcentaje, del conjunto de test "list_test". - "V" es un número entre 0 y 100 que va a representar el tamaño, en porcentaje, del conjunto de validación "list_val". Su valor por defecto es 0.- "S", que por defecto es False, determinará si los conjuntos "list_train", "list_test" y "list_val" están aleatoriamente ordenados. ¿Encuentras alguna posible incoherencia si se reordenan aleatoriamente?Prueba la función con una lista de 100 números aleatorios del 0 al 100.  2. Rehacer el ejercicio anterior en otra función para que no devuelva dos listas, sino los tres conjuntos: --> return list_train, list_val, list_test<jupyter_code>import numpy as np
import pandas as pd 
import random

def funcion (L,T=0,V=0,S=False):
    
    if S==False:
        list_train=L[T:]
        if len(L)>1:
            list_test=L[:T]

        list_val=list_train[:V]
        lista_train_val=[[list_train],[list_val]]
    else:
        random.shuffle(L)
        list_train=L[T:]
        if len(L)>1:
            list_test=L[:T]

        list_val=list_train[:V]
        lista_train_val=[[list_train],[list_val]]

    
    print(len(list_test))
    print(len(list_train))
    print(len(list_val))
    return list_test, lista_train_val

lista = list(range(1, 101))

funcion(L = lista, T = 20, V = 10, S=False)


def funcion1 (L,T=0,V=0,S=False):
    
    if S==False:
        list_train=L[T:]
        if len(L)>1:
            list_test=L[:T]

        list_val=list_train[:V]
        lista_train_val=[[list_train],[list_val]]
    else:
        random.shuffle(L)
        list_train=L[T:]
        if len(L)>1:
            list_test=L[:T]

        list_val=list_train[:V]
        lista_train_val=[[list_train],[list_val]]

    
    print(len(list_test))
    print(len(list_train))
    print(len(list_val))
    return list_val, list_test, list_train
funcion1(L = lista, T = 20, V = 10, S=False)<jupyter_output>20
80
10
{'fraction_non_alphanumeric': 0.10578012844729882, 'fraction_numerical': 0.01926709482432943, 'mean_word_length': 3.3913764510779436, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 10, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '33938', 'license': 'MIT', 'n_tokens_mistral': 981, 'n_tokens_neox': 948, 'n_words': 293, 'path': 'week8_EDA_project_ML_lr/day5_ml_linear_regression/exercises/train_validation_test_set.ipynb', 'repo_name': 'PabloEduardoMartinezPicazo/Bootcamp-DataScience-2021', 'size': '2647'}