python 分析几段常用的代码
##分组统计,求平均值 turnover_summary=df.groupby('turnover') turnover_summary.mean() #相关性矩阵 corr=df.corr() sns.heatmap(corr,xticklabels=corr.columns.values,ytickslabels=corr.columns.values) ##T test import scipy.stats as stats stats.ttest_1samp( a = df[df['turnover']==1]['satisfacation'], ###离职员工满意度的样本 popmean=emp_population ## 未离职员工的满意度均值 ) #比较两类样本之间差异的显著性,Pvalue 很小 则说明 存在显著差异 degree_freedom=len(df[df['turnover']==1]) ###临界值 LQ=stats.t.ppf(0.025,degree_freedom) ###95%置信区间的左边界 RQ=stats.t.ppf(0.975,degree_freedom) ###95%置信区间的右边界 ###概率密度函数 fig=plt.figure (figsize=(15,4)) ax=sns.kdeplot(df.loc[(df['turnover']==0),'evaluation'],color='b',shade=True,label='no turnover') ax=sns.kdeplot(df.loc[(df['turnover']==1),'evaluation'],color='r',shade=True,label='turover') as.set(axlabel='工作评价',ylabel='频率') plt.title('工作评价的概率密度函数')
## 柱形图
plt.figure(figsize=(15,4))
plt.title('Feature importance by decesion tree')
plt.bar(range(len(indices)), importances[indices],color='lightblue',align='center')
plt.step(range(len(indices)),np.cumsum(importancesp[indices]),where='mid',label='Cumulative')
##ROC曲线绘制
from sklearn.metrics import roc_curve
## 计算ROC 曲线
rf_fpr,rf_tpr,rf_thresholds=roc_curve(y_test, rf.predict_proba(x_test)[:,1])
dt_fpr,dt_tpr,dt_threshold=roc_curve(y_test,dtree.predict_proba(x_test)[:,1])
plt.figure()
###随机森林ROC曲线
plt.plot(rf_fpr,rf_tpr,label='Random forest (area=%0.2f)' % rf_roc_auc)
###决策树ROC 曲线
plt.plot(dt_fpr,dt_tpr,label='Decision Tree (Area=%0.2f)'% dt_aoc_auc)
##绘图
plt.xlim([0.0,1.0])
plt.ylim([0.0,1.05])