Yo estaba tratando de pre-procesar mis datos mediante la normalización.
# preprocessing
import tensorflow as tf
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
from tensorflow.keras import layers
from sklearn.compose import make_column_transformer
from sklearn.preprocessing import MinMaxScaler, OneHotEncoder
from sklearn.model_selection import train_test_split
np.set_printoptions(precision=3, suppress=True)
btc_data = pd.read_csv(
"output.csv",
names=["Time", "Open"])
ct = make_column_transformer(
(MinMaxScaler(), ["Time", "Open"]),
(OneHotEncoder(handle_unknown="ignore"), ["Time", "Open"])
)
X_btc = btc_data["Time"]
y_btc = btc_data["Open"]
X_train, X_test, y_train, y_test = train_test_split(X_btc, y_btc, test_size=0.2, random_state=62)
ct.fit(X_train)
X_train_normal = ct.transform(X_train)
X_test_normal = ct.transform(X_test)
El código se ejecuta en un Colab notebook. El conjunto de datos es de Kaple y es modificado para que sea lleno de Unix marcas de tiempo y otra columna para los precios de Bitcoin en abrir en esos momentos. Después de desdoblamiento de los datos y la creación de una columna de transformador, traté de ajuste de los datos. Sin embargo, me sale el siguiente error:
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
<ipython-input-44-f73622372111> in <module>()
27 print(X_train.shape)
28
---> 29 ct.fit(X_train)
30 X_train_normal = ct.transform(X_train)
31 X_test_normal = ct.transform(X_test)
3 frames
/usr/local/lib/python3.7/dist-packages/sklearn/utils/__init__.py in _get_column_indices(X, key)
387 :func:`_safe_indexing_column`.
388 """
--> 389 n_columns = X.shape[1]
390
391 key_dtype = _determine_key_type(key)
IndexError: tuple index out of range
Me pregunto si es un problema de forma, sino como una nota, la X_train de datos es de la forma (2020896,)
.
Hay algo que tengo que hacer con mis datos para corregir este error?