Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Erro ao obter o coeficiente de determinação R^2

Oi, pessoal!

Queria um help, estou acompanhando o curso e ao calcularmos o coeficiente de determinação R^2 para as previsões do nosso modelo, eu recebo um erro como retorno. Já verifiquei o que podia estar divergente, mas o notebook inteiro encontra-se seguindo as aulas e aparentemente os erros estão nas amostras 110 e 225...

Segue:

print('R² = %s' % metrics.r2_score(y_test, y_previsto).round(2))
ValueError                                Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_9576\559938622.py in <module>
----> 1 print('R² = %s' % metrics.r2_score(y_test, y_previsto).round(2))

~\anaconda3\lib\site-packages\sklearn\metrics\_regression.py in r2_score(y_true, y_pred, sample_weight, multioutput)
    787     -3.0
    788     """
--> 789     y_type, y_true, y_pred, multioutput = _check_reg_targets(
    790         y_true, y_pred, multioutput
    791     )

~\anaconda3\lib\site-packages\sklearn\metrics\_regression.py in _check_reg_targets(y_true, y_pred, multioutput, dtype)
     92         the dtype argument passed to check_array.
     93     """
---> 94     check_consistent_length(y_true, y_pred)
     95     y_true = check_array(y_true, ensure_2d=False, dtype=dtype)
     96     y_pred = check_array(y_pred, ensure_2d=False, dtype=dtype)

~\anaconda3\lib\site-packages\sklearn\utils\validation.py in check_consistent_length(*arrays)
    330     uniques = np.unique(lengths)
    331     if len(uniques) > 1:
--> 332         raise ValueError(
    333             "Found input variables with inconsistent numbers of samples: %r"
    334             % [int(l) for l in lengths]

ValueError: Found input variables with inconsistent numbers of samples: [110, 255]
1 resposta
solução!

Erro encontrado!!

Percebi que estavam com tamanhos diferentes e revi com mais cautela o notebook, o código: y_previsto = modelo.predict(X_test), eu havia colocado o X_train que possui o shape de 255 enquanto a de teste somente 110. Falha da pecinha por trás do preenchimento kkk