def get_sensor(n): """ Get the sensor 8 features, Batch ID, GAS and concentration, by index """ df = load_data() df_features = get_sensor_features(df, n) df_gas = df[['Batch ID', 'GAS', 'CONCENTRATION']] return pd.concat([df_features, df_gas], axis=1)
def get_sensor_by_col_name(n): """ Get the sensor 8 features, Batch ID, GAS and concentration, by column names """ df = load_data() filter_col = [col for col in df if col.startswith(f'S{n}')] df_sensor = df[filter_col] df_gas = df[['Batch ID', 'GAS', 'CONCENTRATION']] return pd.concat([df_sensor, df_gas], axis=1)
def get_sensors_list(list_of_n): """ Get the N sensor features (N*8), Batch ID, GAS and concentration, by index :arg list of integers :return pandas dataframe """ df = load_data() sensors_columns = [] for n in list_of_n: ix = list(sensor_features_column(n)) sensors_columns.extend(ix) #sensors_columns = np.r_[1:10, 15, 17, 50:100] df_features_n = df.iloc[:, sensors_columns] df_gas = df[['Batch ID', 'GAS', 'CONCENTRATION']] return pd.concat([df_features_n, df_gas], axis=1)
model = seq.load_model(model_name) ev = Evolution_drift(df_gas, n_batch_training, batch) _, X_test, _, y_test = ev.split_data() loss, acc = seq.model_evaluate(X_test, y_test) model_dict[batch] = {'acc': acc, 'loss': loss} #Plot results df_results = pd.DataFrame.from_dict(model_dict).T fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(12, 8)) fig.suptitle(f'Training with first {n_batch_training} batches') ax1 = df_results.plot(kind='bar', y='acc', ax=ax1) ax1.set_ylim([0, 1]) ax2 = df_results.plot(kind='bar', y='loss', ax=ax2) save_figure(fig, f'Step1_NBATCH_{n_batch_training}_acc_loss') if __name__ == '__main__': # Check drift relevance with different training sets. df_gas = load_data() for col in ['GAS', 'Batch ID']: df_gas[col] = df_gas[col].astype('category') for n in range(1, 10 + 1): evo_train(df_gas, n_batch_training=n) for n in range(1, 10 + 1): evolution_drift_with_seq(df_gas, n_batch_training=n)
import pandas as pd import numpy as np import matplotlib.pyplot as plt from sklearn.preprocessing import StandardScaler from sklearn.cluster import KMeans from sklearn.decomposition import PCA from python.LoadUciData import load_data from python.StandardFigure import save_figure from python.Step0_1_DataExploration import get_sensors_array if __name__ == '__main__': # Cargo datos df = load_data() arr_sensor = get_sensors_array(df, 1, 0) pca = PCA(n_components=2) pca.fit(arr_sensor) arr_transf = pca.transform(arr_sensor) number_of_clusters = 4 km = KMeans(n_clusters=number_of_clusters) # Normally people fit the matrix y_pred = km.fit_predict(arr_transf) plt.scatter(arr_transf[:, 0], arr_transf[:, 1], c=y_pred) plt.title("Cluster of sensors") plt.show()