From a3a4bd92385314b0d9de79b26c0fa9b085901c0e Mon Sep 17 00:00:00 2001 From: Israel Figueroa Date: Sun, 16 Mar 2025 04:32:15 -0300 Subject: [PATCH] another --- LoaderClass.py | 53 +++++++++++++++++++++++++------------------------- 1 file changed, 27 insertions(+), 26 deletions(-) diff --git a/LoaderClass.py b/LoaderClass.py index 823190b..996bce4 100644 --- a/LoaderClass.py +++ b/LoaderClass.py @@ -306,6 +306,33 @@ class GasSensorDataLoader: return self.dataset[ws] + + def create_conv1d_dataset(self, measurament, r, l, window): + + X_data = self.scaled_data[measurament]['data'].iloc[r:l] + Y_value = np.array([[self.scaled_data[measurament]['label'][key] for key in self.target_list]]) + G_value = self.scaled_data[measurament]['sampleId'] + + total_samples = X_data.shape[0] - window + 1 + sample_size = self.min_sample - window + 1 + + if sample_size > total_samples: + self.logger.warn(f"sample_size ({sample_size}) exceeds available samples ({total_samples}). Using available samples.") + sample_size = total_samples + + random_indices = np.random.choice(total_samples, size=sample_size, replace=False) + g_sample = np.zeros((sample_size, 1)) + y_sample = np.zeros((sample_size, self.target_len)) + x_samples = np.zeros((sample_size, window, self.data_channels)) + + + for i, index in enumerate(random_indices): + x_samples[i] = X_data.iloc[index:index + window].values + y_sample[i] = Y_value + g_sample[i] = G_value + + return x_samples, y_sample, g_sample + def load_dataset_xboost(self): self.logger.info(f"Requested sample with threshold {self.threshold} for xboost") @@ -381,32 +408,6 @@ class GasSensorDataLoader: return x_samples, y_sample, g_sample - def create_conv1d_dataset(self, measurament, r, l, window): - - X_data = self.scaled_data[measurament]['data'].iloc[r:l] - Y_value = np.array([[self.scaled_data[measurament]['label'][key] for key in self.target_list]]) - G_value = self.scaled_data[measurament]['sampleId'] - - total_samples = X_data.shape[0] - window + 1 - sample_size = self.min_sample - window + 1 - - if sample_size > total_samples: - self.logger.warn(f"sample_size ({sample_size}) exceeds available samples ({total_samples}). Using available samples.") - sample_size = total_samples - - random_indices = np.random.choice(total_samples, size=sample_size, replace=False) - g_sample = np.zeros((sample_size, 1)) - y_sample = np.zeros((sample_size, self.target_len)) - x_samples = np.zeros((sample_size, window, self.data_channels)) - - - for i, index in enumerate(random_indices): - x_samples[i] = X_data.iloc[index:index + window].values - y_sample[i] = Y_value - g_sample[i] = G_value - - - return x_samples, y_sample, g_sample def stats(self): channel_columns = {}