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