prec = precision_score(y_test, (y_prob> threshold)) f1_sc = f1_score(y_test, (y_prob> threshold)) # Permutation feature importance feature_importance_scores = [] for feature in X_train_required.columns: X_permuted = X_test_required.copy() X_permuted[feature] = np.random.permutation(X_permuted[feature]) permuted_preds = cb_model.predict(X_permuted) permuted_prec = precision_score(y_test, permuted_preds) feature_importance = prec - permuted_prec feature_importance_scores.append((feature, feature_importance)) # feature_importance_scores.sort(key=lambda x: x[1], reverse=True) feat=[] imp=[] for feature, importance in feature_importance_scores: feat.append(feature) imp.append(importance) # print(f"Feature: {feature}, Importance: {importance}") feature_imp = pd.DataFrame(columns=['Feature', 'Importance']) feature_imp['Feature']=feat feature_imp['Importance']=imp feature_imp.sort_values(by='Importance', ascending=False, inplace=True) feature_imp.to_csv('OMI-trans-perm.csv')
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter