Skip to content

Instantly share code, notes, and snippets.

@erap129
Created September 27, 2021 12:08
Show Gist options
  • Select an option

  • Save erap129/c0d1a65fc2dfde7824e773f6128c3357 to your computer and use it in GitHub Desktop.

Select an option

Save erap129/c0d1a65fc2dfde7824e773f6128c3357 to your computer and use it in GitHub Desktop.
NASA RUL project - automatic feature generation
all_rollings_df_X = all_rollings_df.drop(columns=['RUL'])
extracted_features = extract_features(all_rollings_df_X,
column_id="instance_id", column_sort="time",
n_jobs=4, default_fc_parameters=tsfresh.feature_extraction.settings.MinimalFCParameters())
impute(extracted_features)
features_filtered = select_features(extracted_features, y_train_rolling, n_jobs=4)
def get_last_window_from_unit(group_df):
res_df = group_df[[x for x in test_df.columns if 'sensor_' in x]].iloc[-10:]
res_df['time'] = np.arange(1, len(res_df) + 1)
return res_df
test_df_X = test_df.sort_values(['unit_number', 'time']).groupby('unit_number').\
apply(get_last_window_from_unit).reset_index().drop(columns=['level_1'])
extracted_features_test = extract_features(test_df_X, column_id="unit_number", column_sort="time",
n_jobs=4, default_fc_parameters=tsfresh.feature_extraction.settings.MinimalFCParameters())
extracted_features_test_min = extracted_features_test[features_filtered.columns]
xgbr_features_automatic = XGBRegressor()
xgbr_features_automatic.fit(features_filtered.values, y_train_rolling)
print_train_test_results(features_filtered.values,
extracted_features_test_min.values,
y_train_rolling, y_test, xgbr_features_automatic)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment