mirror of
https://github.com/microsoft/qlib.git
synced 2026-07-17 17:34:35 +08:00
Checking dataset empty (#647)
* Checking dataset empty * add dataset checker
This commit is contained in:
@@ -38,6 +38,8 @@ class CatBoostModel(Model, FeatureInt):
|
|||||||
col_set=["feature", "label"],
|
col_set=["feature", "label"],
|
||||||
data_key=DataHandlerLP.DK_L,
|
data_key=DataHandlerLP.DK_L,
|
||||||
)
|
)
|
||||||
|
if df_train.empty or df_valid.empty:
|
||||||
|
raise ValueError("Empty data from dataset, please check your dataset config.")
|
||||||
x_train, y_train = df_train["feature"], df_train["label"]
|
x_train, y_train = df_train["feature"], df_train["label"]
|
||||||
x_valid, y_valid = df_valid["feature"], df_valid["label"]
|
x_valid, y_valid = df_valid["feature"], df_valid["label"]
|
||||||
|
|
||||||
|
|||||||
@@ -64,6 +64,8 @@ class DEnsembleModel(Model, FeatureInt):
|
|||||||
df_train, df_valid = dataset.prepare(
|
df_train, df_valid = dataset.prepare(
|
||||||
["train", "valid"], col_set=["feature", "label"], data_key=DataHandlerLP.DK_L
|
["train", "valid"], col_set=["feature", "label"], data_key=DataHandlerLP.DK_L
|
||||||
)
|
)
|
||||||
|
if df_train.empty or df_valid.empty:
|
||||||
|
raise ValueError("Empty data from dataset, please check your dataset config.")
|
||||||
x_train, y_train = df_train["feature"], df_train["label"]
|
x_train, y_train = df_train["feature"], df_train["label"]
|
||||||
# initialize the sample weights
|
# initialize the sample weights
|
||||||
N, F = x_train.shape
|
N, F = x_train.shape
|
||||||
|
|||||||
@@ -25,6 +25,8 @@ class LGBModel(ModelFT, LightGBMFInt):
|
|||||||
df_train, df_valid = dataset.prepare(
|
df_train, df_valid = dataset.prepare(
|
||||||
["train", "valid"], col_set=["feature", "label"], data_key=DataHandlerLP.DK_L
|
["train", "valid"], col_set=["feature", "label"], data_key=DataHandlerLP.DK_L
|
||||||
)
|
)
|
||||||
|
if df_train.empty or df_valid.empty:
|
||||||
|
raise ValueError("Empty data from dataset, please check your dataset config.")
|
||||||
x_train, y_train = df_train["feature"], df_train["label"]
|
x_train, y_train = df_train["feature"], df_train["label"]
|
||||||
x_valid, y_valid = df_valid["feature"], df_valid["label"]
|
x_valid, y_valid = df_valid["feature"], df_valid["label"]
|
||||||
|
|
||||||
@@ -83,6 +85,8 @@ class LGBModel(ModelFT, LightGBMFInt):
|
|||||||
"""
|
"""
|
||||||
# Based on existing model and finetune by train more rounds
|
# Based on existing model and finetune by train more rounds
|
||||||
dtrain, _ = self._prepare_data(dataset)
|
dtrain, _ = self._prepare_data(dataset)
|
||||||
|
if dtrain.empty:
|
||||||
|
raise ValueError("Empty data from dataset, please check your dataset config.")
|
||||||
self.model = lgb.train(
|
self.model = lgb.train(
|
||||||
self.params,
|
self.params,
|
||||||
dtrain,
|
dtrain,
|
||||||
|
|||||||
@@ -82,6 +82,8 @@ class HFLGBModel(ModelFT, LightGBMFInt):
|
|||||||
df_train, df_valid = dataset.prepare(
|
df_train, df_valid = dataset.prepare(
|
||||||
["train", "valid"], col_set=["feature", "label"], data_key=DataHandlerLP.DK_L
|
["train", "valid"], col_set=["feature", "label"], data_key=DataHandlerLP.DK_L
|
||||||
)
|
)
|
||||||
|
if df_train.empty or df_valid.empty:
|
||||||
|
raise ValueError("Empty data from dataset, please check your dataset config.")
|
||||||
|
|
||||||
x_train, y_train = df_train["feature"], df_train["label"]
|
x_train, y_train = df_train["feature"], df_train["label"]
|
||||||
x_valid, y_valid = df_train["feature"], df_valid["label"]
|
x_valid, y_valid = df_train["feature"], df_valid["label"]
|
||||||
|
|||||||
@@ -51,6 +51,8 @@ class LinearModel(Model):
|
|||||||
|
|
||||||
def fit(self, dataset: DatasetH):
|
def fit(self, dataset: DatasetH):
|
||||||
df_train = dataset.prepare("train", col_set=["feature", "label"], data_key=DataHandlerLP.DK_L)
|
df_train = dataset.prepare("train", col_set=["feature", "label"], data_key=DataHandlerLP.DK_L)
|
||||||
|
if df_train.empty:
|
||||||
|
raise ValueError("Empty data from dataset, please check your dataset config.")
|
||||||
X, y = df_train["feature"].values, np.squeeze(df_train["label"].values)
|
X, y = df_train["feature"].values, np.squeeze(df_train["label"].values)
|
||||||
|
|
||||||
if self.estimator in [self.OLS, self.RIDGE, self.LASSO]:
|
if self.estimator in [self.OLS, self.RIDGE, self.LASSO]:
|
||||||
|
|||||||
@@ -224,6 +224,8 @@ class ALSTM(Model):
|
|||||||
col_set=["feature", "label"],
|
col_set=["feature", "label"],
|
||||||
data_key=DataHandlerLP.DK_L,
|
data_key=DataHandlerLP.DK_L,
|
||||||
)
|
)
|
||||||
|
if df_train.empty or df_valid.empty:
|
||||||
|
raise ValueError("Empty data from dataset, please check your dataset config.")
|
||||||
|
|
||||||
x_train, y_train = df_train["feature"], df_train["label"]
|
x_train, y_train = df_train["feature"], df_train["label"]
|
||||||
x_valid, y_valid = df_valid["feature"], df_valid["label"]
|
x_valid, y_valid = df_valid["feature"], df_valid["label"]
|
||||||
|
|||||||
@@ -207,6 +207,8 @@ class ALSTM(Model):
|
|||||||
):
|
):
|
||||||
dl_train = dataset.prepare("train", col_set=["feature", "label"], data_key=DataHandlerLP.DK_L)
|
dl_train = dataset.prepare("train", col_set=["feature", "label"], data_key=DataHandlerLP.DK_L)
|
||||||
dl_valid = dataset.prepare("valid", col_set=["feature", "label"], data_key=DataHandlerLP.DK_L)
|
dl_valid = dataset.prepare("valid", col_set=["feature", "label"], data_key=DataHandlerLP.DK_L)
|
||||||
|
if dl_train.empty or dl_valid.empty:
|
||||||
|
raise ValueError("Empty data from dataset, please check your dataset config.")
|
||||||
|
|
||||||
dl_train.config(fillna_type="ffill+bfill") # process nan brought by dataloader
|
dl_train.config(fillna_type="ffill+bfill") # process nan brought by dataloader
|
||||||
dl_valid.config(fillna_type="ffill+bfill") # process nan brought by dataloader
|
dl_valid.config(fillna_type="ffill+bfill") # process nan brought by dataloader
|
||||||
|
|||||||
@@ -237,6 +237,8 @@ class GATs(Model):
|
|||||||
col_set=["feature", "label"],
|
col_set=["feature", "label"],
|
||||||
data_key=DataHandlerLP.DK_L,
|
data_key=DataHandlerLP.DK_L,
|
||||||
)
|
)
|
||||||
|
if df_train.empty or df_valid.empty:
|
||||||
|
raise ValueError("Empty data from dataset, please check your dataset config.")
|
||||||
|
|
||||||
x_train, y_train = df_train["feature"], df_train["label"]
|
x_train, y_train = df_train["feature"], df_train["label"]
|
||||||
x_valid, y_valid = df_valid["feature"], df_valid["label"]
|
x_valid, y_valid = df_valid["feature"], df_valid["label"]
|
||||||
|
|||||||
@@ -245,6 +245,8 @@ class GATs(Model):
|
|||||||
|
|
||||||
dl_train = dataset.prepare("train", col_set=["feature", "label"], data_key=DataHandlerLP.DK_L)
|
dl_train = dataset.prepare("train", col_set=["feature", "label"], data_key=DataHandlerLP.DK_L)
|
||||||
dl_valid = dataset.prepare("valid", col_set=["feature", "label"], data_key=DataHandlerLP.DK_L)
|
dl_valid = dataset.prepare("valid", col_set=["feature", "label"], data_key=DataHandlerLP.DK_L)
|
||||||
|
if dl_train.empty or dl_valid.empty:
|
||||||
|
raise ValueError("Empty data from dataset, please check your dataset config.")
|
||||||
|
|
||||||
dl_train.config(fillna_type="ffill+bfill") # process nan brought by dataloader
|
dl_train.config(fillna_type="ffill+bfill") # process nan brought by dataloader
|
||||||
dl_valid.config(fillna_type="ffill+bfill") # process nan brought by dataloader
|
dl_valid.config(fillna_type="ffill+bfill") # process nan brought by dataloader
|
||||||
|
|||||||
@@ -224,6 +224,8 @@ class GRU(Model):
|
|||||||
col_set=["feature", "label"],
|
col_set=["feature", "label"],
|
||||||
data_key=DataHandlerLP.DK_L,
|
data_key=DataHandlerLP.DK_L,
|
||||||
)
|
)
|
||||||
|
if df_train.empty or df_valid.empty:
|
||||||
|
raise ValueError("Empty data from dataset, please check your dataset config.")
|
||||||
|
|
||||||
x_train, y_train = df_train["feature"], df_train["label"]
|
x_train, y_train = df_train["feature"], df_train["label"]
|
||||||
x_valid, y_valid = df_valid["feature"], df_valid["label"]
|
x_valid, y_valid = df_valid["feature"], df_valid["label"]
|
||||||
|
|||||||
@@ -206,6 +206,8 @@ class GRU(Model):
|
|||||||
):
|
):
|
||||||
dl_train = dataset.prepare("train", col_set=["feature", "label"], data_key=DataHandlerLP.DK_L)
|
dl_train = dataset.prepare("train", col_set=["feature", "label"], data_key=DataHandlerLP.DK_L)
|
||||||
dl_valid = dataset.prepare("valid", col_set=["feature", "label"], data_key=DataHandlerLP.DK_L)
|
dl_valid = dataset.prepare("valid", col_set=["feature", "label"], data_key=DataHandlerLP.DK_L)
|
||||||
|
if dl_train.empty or dl_valid.empty:
|
||||||
|
raise ValueError("Empty data from dataset, please check your dataset config.")
|
||||||
|
|
||||||
dl_train.config(fillna_type="ffill+bfill") # process nan brought by dataloader
|
dl_train.config(fillna_type="ffill+bfill") # process nan brought by dataloader
|
||||||
dl_valid.config(fillna_type="ffill+bfill") # process nan brought by dataloader
|
dl_valid.config(fillna_type="ffill+bfill") # process nan brought by dataloader
|
||||||
|
|||||||
@@ -176,6 +176,8 @@ class LocalformerModel(Model):
|
|||||||
col_set=["feature", "label"],
|
col_set=["feature", "label"],
|
||||||
data_key=DataHandlerLP.DK_L,
|
data_key=DataHandlerLP.DK_L,
|
||||||
)
|
)
|
||||||
|
if df_train.empty or df_valid.empty:
|
||||||
|
raise ValueError("Empty data from dataset, please check your dataset config.")
|
||||||
|
|
||||||
x_train, y_train = df_train["feature"], df_train["label"]
|
x_train, y_train = df_train["feature"], df_train["label"]
|
||||||
x_valid, y_valid = df_valid["feature"], df_valid["label"]
|
x_valid, y_valid = df_valid["feature"], df_valid["label"]
|
||||||
|
|||||||
@@ -153,6 +153,8 @@ class LocalformerModel(Model):
|
|||||||
|
|
||||||
dl_train = dataset.prepare("train", col_set=["feature", "label"], data_key=DataHandlerLP.DK_L)
|
dl_train = dataset.prepare("train", col_set=["feature", "label"], data_key=DataHandlerLP.DK_L)
|
||||||
dl_valid = dataset.prepare("valid", col_set=["feature", "label"], data_key=DataHandlerLP.DK_L)
|
dl_valid = dataset.prepare("valid", col_set=["feature", "label"], data_key=DataHandlerLP.DK_L)
|
||||||
|
if dl_train.empty or dl_valid.empty:
|
||||||
|
raise ValueError("Empty data from dataset, please check your dataset config.")
|
||||||
|
|
||||||
dl_train.config(fillna_type="ffill+bfill") # process nan brought by dataloader
|
dl_train.config(fillna_type="ffill+bfill") # process nan brought by dataloader
|
||||||
dl_valid.config(fillna_type="ffill+bfill") # process nan brought by dataloader
|
dl_valid.config(fillna_type="ffill+bfill") # process nan brought by dataloader
|
||||||
|
|||||||
@@ -219,6 +219,8 @@ class LSTM(Model):
|
|||||||
col_set=["feature", "label"],
|
col_set=["feature", "label"],
|
||||||
data_key=DataHandlerLP.DK_L,
|
data_key=DataHandlerLP.DK_L,
|
||||||
)
|
)
|
||||||
|
if df_train.empty or df_valid.empty:
|
||||||
|
raise ValueError("Empty data from dataset, please check your dataset config.")
|
||||||
|
|
||||||
x_train, y_train = df_train["feature"], df_train["label"]
|
x_train, y_train = df_train["feature"], df_train["label"]
|
||||||
x_valid, y_valid = df_valid["feature"], df_valid["label"]
|
x_valid, y_valid = df_valid["feature"], df_valid["label"]
|
||||||
|
|||||||
@@ -201,6 +201,8 @@ class LSTM(Model):
|
|||||||
):
|
):
|
||||||
dl_train = dataset.prepare("train", col_set=["feature", "label"], data_key=DataHandlerLP.DK_L)
|
dl_train = dataset.prepare("train", col_set=["feature", "label"], data_key=DataHandlerLP.DK_L)
|
||||||
dl_valid = dataset.prepare("valid", col_set=["feature", "label"], data_key=DataHandlerLP.DK_L)
|
dl_valid = dataset.prepare("valid", col_set=["feature", "label"], data_key=DataHandlerLP.DK_L)
|
||||||
|
if dl_train.empty or dl_valid.empty:
|
||||||
|
raise ValueError("Empty data from dataset, please check your dataset config.")
|
||||||
|
|
||||||
dl_train.config(fillna_type="ffill+bfill") # process nan brought by dataloader
|
dl_train.config(fillna_type="ffill+bfill") # process nan brought by dataloader
|
||||||
dl_valid.config(fillna_type="ffill+bfill") # process nan brought by dataloader
|
dl_valid.config(fillna_type="ffill+bfill") # process nan brought by dataloader
|
||||||
|
|||||||
@@ -374,6 +374,8 @@ class SFM(Model):
|
|||||||
col_set=["feature", "label"],
|
col_set=["feature", "label"],
|
||||||
data_key=DataHandlerLP.DK_L,
|
data_key=DataHandlerLP.DK_L,
|
||||||
)
|
)
|
||||||
|
if df_train.empty or df_valid.empty:
|
||||||
|
raise ValueError("Empty data from dataset, please check your dataset config.")
|
||||||
x_train, y_train = df_train["feature"], df_train["label"]
|
x_train, y_train = df_train["feature"], df_train["label"]
|
||||||
x_valid, y_valid = df_valid["feature"], df_valid["label"]
|
x_valid, y_valid = df_valid["feature"], df_valid["label"]
|
||||||
|
|
||||||
|
|||||||
@@ -169,6 +169,8 @@ class TabnetModel(Model):
|
|||||||
col_set=["feature", "label"],
|
col_set=["feature", "label"],
|
||||||
data_key=DataHandlerLP.DK_L,
|
data_key=DataHandlerLP.DK_L,
|
||||||
)
|
)
|
||||||
|
if df_train.empty or df_valid.empty:
|
||||||
|
raise ValueError("Empty data from dataset, please check your dataset config.")
|
||||||
df_train.fillna(df_train.mean(), inplace=True)
|
df_train.fillna(df_train.mean(), inplace=True)
|
||||||
x_train, y_train = df_train["feature"], df_train["label"]
|
x_train, y_train = df_train["feature"], df_train["label"]
|
||||||
x_valid, y_valid = df_valid["feature"], df_valid["label"]
|
x_valid, y_valid = df_valid["feature"], df_valid["label"]
|
||||||
|
|||||||
@@ -255,6 +255,8 @@ class TCTS(Model):
|
|||||||
col_set=["feature", "label"],
|
col_set=["feature", "label"],
|
||||||
data_key=DataHandlerLP.DK_L,
|
data_key=DataHandlerLP.DK_L,
|
||||||
)
|
)
|
||||||
|
if df_train.empty or df_valid.empty:
|
||||||
|
raise ValueError("Empty data from dataset, please check your dataset config.")
|
||||||
|
|
||||||
x_train, y_train = df_train["feature"], df_train["label"]
|
x_train, y_train = df_train["feature"], df_train["label"]
|
||||||
x_valid, y_valid = df_valid["feature"], df_valid["label"]
|
x_valid, y_valid = df_valid["feature"], df_valid["label"]
|
||||||
|
|||||||
@@ -175,6 +175,8 @@ class TransformerModel(Model):
|
|||||||
col_set=["feature", "label"],
|
col_set=["feature", "label"],
|
||||||
data_key=DataHandlerLP.DK_L,
|
data_key=DataHandlerLP.DK_L,
|
||||||
)
|
)
|
||||||
|
if df_train.empty or df_valid.empty:
|
||||||
|
raise ValueError("Empty data from dataset, please check your dataset config.")
|
||||||
|
|
||||||
x_train, y_train = df_train["feature"], df_train["label"]
|
x_train, y_train = df_train["feature"], df_train["label"]
|
||||||
x_valid, y_valid = df_valid["feature"], df_valid["label"]
|
x_valid, y_valid = df_valid["feature"], df_valid["label"]
|
||||||
|
|||||||
@@ -151,6 +151,9 @@ class TransformerModel(Model):
|
|||||||
dl_train = dataset.prepare("train", col_set=["feature", "label"], data_key=DataHandlerLP.DK_L)
|
dl_train = dataset.prepare("train", col_set=["feature", "label"], data_key=DataHandlerLP.DK_L)
|
||||||
dl_valid = dataset.prepare("valid", col_set=["feature", "label"], data_key=DataHandlerLP.DK_L)
|
dl_valid = dataset.prepare("valid", col_set=["feature", "label"], data_key=DataHandlerLP.DK_L)
|
||||||
|
|
||||||
|
if dl_train.empty or dl_valid.empty:
|
||||||
|
raise ValueError("Empty data from dataset, please check your dataset config.")
|
||||||
|
|
||||||
dl_train.config(fillna_type="ffill+bfill") # process nan brought by dataloader
|
dl_train.config(fillna_type="ffill+bfill") # process nan brought by dataloader
|
||||||
dl_valid.config(fillna_type="ffill+bfill") # process nan brought by dataloader
|
dl_valid.config(fillna_type="ffill+bfill") # process nan brought by dataloader
|
||||||
|
|
||||||
|
|||||||
@@ -385,6 +385,10 @@ class TSDataSampler:
|
|||||||
idx_map[real_idx] = (i, j)
|
idx_map[real_idx] = (i, j)
|
||||||
return idx_df, idx_map
|
return idx_df, idx_map
|
||||||
|
|
||||||
|
@property
|
||||||
|
def empty(self):
|
||||||
|
return self.__len__() == 0
|
||||||
|
|
||||||
def _get_indices(self, row: int, col: int) -> np.array:
|
def _get_indices(self, row: int, col: int) -> np.array:
|
||||||
"""
|
"""
|
||||||
get series indices of self.data_arr from the row, col indices of self.idx_df
|
get series indices of self.data_arr from the row, col indices of self.idx_df
|
||||||
|
|||||||
Reference in New Issue
Block a user