Useful plot of python
Correlation Matrix
Feature Importances
import matplotlib.pyplot as plt
import seaborn as sns
def plot_corr_heatmap(target_df, removed_columns = []):
corr_df = target_df.drop(removed_columns, axis = 1).corr()
# 그림 사이즈 지정
fig, ax = plt.subplots(figsize = (25, 25))
# 삼각형 마스크 생성 (위 쪽 삼각형 True, 아래 삼각형 False)
mask = np.zeros_like(corr_df, dtype = np.bool)
mask[np.triu_indices_from(mask)] = True
# 한국어 깨짐 방지
plt.rcParams['font.family'] = 'NanumBarunGothic'
plt.rcParams['font.size'] = 12
# 히트맵 생성
sns.heatmap(corr_df,
cmap = 'RdYlBu_r',
annot = True, # 실제값 표시
mask = mask, # 표시하지 않을 마스크 부분 지정
linewidths = 0.5, # 경계면 실선 구분
cbar_kws = {"shrink": .5}, # 컬러바 크기 절반 축소
vmin = -1, vmax = 1 # 컬러바 범위 -1 ~ 1
)
plt.show()
plot_corr_heatmap(data_df, removed_columns = ['account_id'])
Feature Importances
from sklearn.ensemble import RandomForestClassifier
import seaborn as sns
import matplotlib.pyplot as plt
data_df = data_df.sample(n=500)
X, y = data_df.iloc[:, 1:].values, data_df.iloc[:, :-1].values
scaler = StandardScaler()
scaled_X = scaler.fit_transform(X)
# RandomForest
clf = RandomForestClassifier(random_state=42)
clf.fit(scaled_X, y.astype('int'))
feature_importance = clf.feature_importances_
# plot
import_df = pd.DataFrame({'columns':data_df.drop(['account_id'], axis = 1).columns, 'importances':feature_importance})
import_df = import_df[import_df['importances'] > 0] # importance가 0이상인 것만
import_df = import_df.sort_values(by=['importances'], ascending=False)
fig = plt.figure(figsize=(15,7))
# 한국어 깨짐 방지
plt.rcParams['font.family'] = 'NanumBarunGothic'
plt.rcParams['font.size'] = 10
ax = sns.barplot(import_df['columns'], import_df['importances'])
ax.set_xticklabels(import_df['columns'], rotation=80, fontsize=13)
plt.tight_layout()
plt.show()
Reference
この問題について(Useful plot of python), 我々は、より多くの情報をここで見つけました https://velog.io/@jypark/Useful-plot-functions-of-pythonテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol