Un résumé de divers outils de visualisation pour améliorer l'efficacité des compétitions d'analyse. Augmente graduellement!
Affichage de la carte thermique de la corrélation de chaque colonne de la trame de données pandas. Il est utilisé pour corréler chaque quantité d'entités et le résultat de la prédiction pour l'ensemble du modèle.
-
fig ,ax = plt.subplots(1,1,figsize=(12,12))
sns.heatmap(df.corr(), annot=True, fmt='.7f', ax=ax)
df.corr()
-
import numpy as np
import pandas as pd
from scipy import signal
from sklearn.metrics import confusion_matrix, f1_score, plot_confusion_matrix
# Thanks to https://www.kaggle.com/marcovasquez/basic-nlp-with-tensorflow-and-wordcloud
def plot_cm(y_true, y_pred, title="", figsize=(14,14):
y_pred = y_pred.astype(int)
cm = confusion_matrix(y_true, y_pred, labels=np.unique(y_true))
cm_sum = np.sum(cm, axis=1, keepdims=True)
cm_perc = cm / cm_sum.astype(float) * 100
annot = np.empty_like(cm).astype(str)
nrows, ncols = cm.shape
for i in range(nrows):
for j in range(ncols):
c = cm[i, j]
p = cm_perc[i, j]
if i == j:
s = cm_sum[i]
annot[i, j] = '%.1f%%\n%d/%d' % (p, c, s)
elif c == 0:
annot[i, j] = ''
else:
annot[i, j] = '%.1f%%\n%d' % (p, c)
cm = pd.DataFrame(cm, index=np.unique(y_true), columns=np.unique(y_true))
cm.index.name = 'Actual'
cm.columns.name = 'Predicted'
fig, ax = plt.subplots(figsize=figsize)
plt.title(title)
sns.heatmap(cm, cmap='viridis', annot=annot, fmt='', ax=ax)
Visualisation de l'importance des fonctionnalités des résultats d'apprentissage de LightGBM
def display_feature_importance(models):
fi = pd.DataFrame(columns=['importance','feature'])
for i, m in enumerate(models):
df_t = pd.DataFrame(columns=['importance','feature'])
df_t['importance'] = m.feature_importance(importance_type='gain')
df_t['feature'] = m.feature_name()
fi = pd.concat([fi, df_t], axis=0)
fi = fi.groupby('feature').sum()
best_features = fi.sort_values(by='importance', ascending=False).reset_index()
plt.figure(figsize=(16, 16));
sns.barplot(x="importance", y="feature", data=best_features);
plt.title('LGB Features (avg over folds)');
print('worst:\n',best_features['feature'][-20:].values)
Recommended Posts