Estou aplicando o passo a passo sobre Regressão Logística em uma base com 2037041 rows × 28 columns. Estou com problema ao separar a base Treino e Teste, seguindo a função, conforme o Notebook Ao colocar os critérios para executar função, é apresentado erro ValueError: empty range for randrange()
Podem me ajudar?
def divisao_treinamento_teste(X, y, porcentagem_teste, random_seed = 42):
random.seed(random_seed)
X_test, y_test = [], []
X_train = list(X)
y_train = list(y)
tam_y = porcentagem_teste * len(y)
while len(y_test) < tam_y:
index = random.randrange(len(X_train))
X_test.append(X_train.pop(index))
y_test.append(y_train.pop(index))
return np.array(X_train), np.array(X_test), np.array(y_train), np.array(y_test)
X_train, X_test, y_train, y_test = divisao_treinamento_teste(X_, y, 0.3)
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-69-7433a058c699> in <module>
----> 1 X_train, X_test, y_train, y_test = divisao_treinamento_teste(X_, y, 0.3)
<ipython-input-68-1fbbe213ec6d> in divisao_treinamento_teste(X, y, porcentagem_teste, random_seed)
10
11 while len(y_test) < tam:
---> 12 index = random.randrange(len(X_train))
13 X_test.append(X_train.pop(index))
14 y_test.append(y_train.pop(index))
C:\ProgramData\Anaconda3\lib\random.py in randrange(self, start, stop, step, _int)
214 if istart > 0:
215 return self._randbelow(istart)
--> 216 raise ValueError("empty range for randrange()")
217
218 # stop argument supplied.
ValueError: empty range for randrange()