TypeError: float() argument must be a string or a number, not 'Timestamp' to REGRESSION LINEAR

Viewed 8

This is my code and it has an error that I don't know how to fix

PRACTICE OF REGRESION

import pandas as pd                
import numpy as np                 
import matplotlib.pyplot as plt    
import datetime                   

from time import time              
from sklearn.svm import SVR                             
from sklearn.model_selection import train_test_split    
from sklearn.metrics import r2_score    
    

Data

proof_df = pd.read_excel("WORK_NUM_3.xlsx")

Show information (only 10 of 1550)

proof_df.head(10)

results

  ORDEN    DATA     N1  N2  N3  N4  N5
0   1   1994-03-13  25  45  60  76  79
1   2   1994-03-17  13  30  58  63  64
2   3   1994-03-20  5   15  32  33  48
3   4   1994-03-24  27  57  60  61  77
4   5   1994-03-27  19  44  53  54  71
5   6   1994-04-03  4   45  54  65  67
6   7   1994-04-07  9   21  37  42  68
7   8   1994-04-10  5   16  26  28  62
8   9   1994-04-14  4   15  44  64  73
9   10  1994-04-17  20  32  49  54  62

declare variables

y = proof_df.iloc[:, 2:len(quina_df.columns)]
X = proof_df[['ORDEN','DATA']]

regression algorithm

regresor = SVR(kernel='linear')
hora_inicio = time()

train of algorithm

regresor.fit(X_train.values, y_train.values.ravel())
print('train finish in {time() - hora_inicio} segundos')

result:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Input In [37], in <cell line: 2>()
      1 # Entrenamiento del algoritmo
----> 2 regresor.fit(X_train.values, y_train.values.ravel())
      3 print('Entrenamiento finalizado en {time() - hora_inicio} segundos')

File ~\anaconda3\lib\site-packages\sklearn\svm\_base.py:190, in BaseLibSVM.fit(self, X, y, sample_weight)
    188     check_consistent_length(X, y)
    189 else:
--> 190     X, y = self._validate_data(
    191         X,
    192         y,
    193         dtype=np.float64,
    194         order="C",
    195         accept_sparse="csr",
    196         accept_large_sparse=False,
    197     )
    199 y = self._validate_targets(y)
    201 sample_weight = np.asarray(
    202     [] if sample_weight is None else sample_weight, dtype=np.float64
    203 )

File ~\anaconda3\lib\site-packages\sklearn\base.py:581, in BaseEstimator._validate_data(self, X, y, reset, validate_separately, **check_params)
    579         y = check_array(y, **check_y_params)
    580     else:
--> 581         X, y = check_X_y(X, y, **check_params)
    582     out = X, y
    584 if not no_val_X and check_params.get("ensure_2d", True):

File ~\anaconda3\lib\site-packages\sklearn\utils\validation.py:964, in check_X_y(X, y, accept_sparse, accept_large_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, multi_output, ensure_min_samples, ensure_min_features, y_numeric, estimator)
    961 if y is None:
    962     raise ValueError("y cannot be None")
--> 964 X = check_array(
    965     X,
    966     accept_sparse=accept_sparse,
    967     accept_large_sparse=accept_large_sparse,
    968     dtype=dtype,
    969     order=order,
    970     copy=copy,
    971     force_all_finite=force_all_finite,
    972     ensure_2d=ensure_2d,
    973     allow_nd=allow_nd,
    974     ensure_min_samples=ensure_min_samples,
    975     ensure_min_features=ensure_min_features,
    976     estimator=estimator,
    977 )
    979 y = _check_y(y, multi_output=multi_output, y_numeric=y_numeric)
    981 check_consistent_length(X, y)

File ~\anaconda3\lib\site-packages\sklearn\utils\validation.py:746, in check_array(array, accept_sparse, accept_large_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, estimator)
    744         array = array.astype(dtype, casting="unsafe", copy=False)
    745     else:
--> 746         array = np.asarray(array, order=order, dtype=dtype)
    747 except ComplexWarning as complex_warning:
    748     raise ValueError(
    749         "Complex data not supported\n{}\n".format(array)
    750     ) from complex_warning

TypeError: float() argument must be a string or a number, not 'Timestamp'

I I am trying to work with the dates as the variable ( X ) that the model should receive since the variable ( y ) are the other results

I really appreciate any help to help understand what is going on

0 Answers
Related