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])



 

posted @ 2022-12-18 18:09  oceaning  阅读(48)  评论(0编辑  收藏  举报