Spaces:
Runtime error
Runtime error
File size: 1,113 Bytes
c417b6f 16036bc 99ccc0e 79cf85f 99ccc0e c417b6f 16036bc c417b6f | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | import os
import pandas as pd
from sklearn.preprocessing import StandardScaler
def preprocess_data(input_file="data/assets_data.csv", data_dir="data"):
os.makedirs(data_dir, exist_ok=True)
df = pd.read_csv(input_file, index_col=0)
# Additional features
for column in df.drop(columns='target').columns:
df[f'{column}_ch'] = df[column] / df.shift(1)[column]
df.dropna(inplace=True)
X = df.drop('target', axis=1)
y = df['target']
# Scaling
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
X_scaled_df = pd.DataFrame(X_scaled, index=X.index, columns=X.columns)
# Train-test split
train_size = len(df) - 90
X_train, X_test = X_scaled_df[:train_size], X_scaled_df[train_size:]
y_train, y_test = y[:train_size], y[train_size:]
X_train.to_csv(f"{data_dir}/train_features.csv", index=True)
X_test.to_csv(f"{data_dir}/test_features.csv", index=True)
y_train.to_csv(f"{data_dir}/train_target.csv", index=True)
y_test.to_csv(f"{data_dir}/test_target.csv", index=True)
if __name__ == '__main__':
preprocess_data()
|