交叉分析方法与实现

简介: import pandas as pdimport numpy as npimport scipy.stats as ssimport matplotlib.
import pandas as pd
import numpy as np
import scipy.stats as ss
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.read_csv("./data/HR.csv")
#获得以department分组后的索引值的数组dict
dp_indices = df.groupby("department").indices 
sales_values = df["left"].iloc[dp_indices["sales"]].values
technical_values = df["left"].iloc[dp_indices["technical"]].values
print(ss.ttest_ind(sales_values,technical_values)[1])

dp_keys = list(dp_indices.keys())
dp_t_mat = np.zeros([len(dp_keys),len(dp_keys)])
for i in range(len(dp_keys)):
    for j in range(len(dp_keys)):
        p_value = ss.ttest_ind(df["left"].iloc[dp_indices[dp_keys[i]]].values,
                              df["left"].iloc[dp_indices[dp_keys[j]]].values)[1]
        dp_t_mat[i][j] = p_value
sns.heatmap(dp_t_mat,xticklabels=dp_keys,yticklabels=dp_keys)
plt.show()
AI 代码解读
img_46b64192502fc4005c397749948cf270.png
颜色越深的地方t值越接近于0,也就代表颜色越深的地方,二者的离职率是有显著差异的,而颜色淡的地方代表离职率没有显著差异


piv_tb = pd.pivot_table(df,values="left",index=["promotion_last_5years","salary"],
                       columns=["Work_accident"],aggfunc=np.mean)
print(piv_tb)
AI 代码解读
img_4016b545f48de7108200a0174cd24156.png
sns.heatmap(piv_tb,vmin=0,vmax=1)
plt.show()
AI 代码解读
img_4b684e9b2a237b4cc569fb41cce59666.png
相关文章
|
10月前
R语言分布滞后线性和非线性模型DLM和DLNM建模应用| 系列文章
R语言分布滞后线性和非线性模型DLM和DLNM建模应用| 系列文章
|
3月前
实现时间序列的小波相干性分析,并画出图谱
实现时间序列的小波相干性分析,并画出图谱
68 17
【时间序列分析】——时序分解定理详解
【时间序列分析】——时序分解定理详解
R语言主成分回归(PCR)、 多元线性回归特征降维分析光谱数据和汽车油耗、性能数据
R语言主成分回归(PCR)、 多元线性回归特征降维分析光谱数据和汽车油耗、性能数据
状态空间模型:卡尔曼滤波器KFAS建模时间序列
状态空间模型:卡尔曼滤波器KFAS建模时间序列
R语言用LOESS(局部加权回归)季节趋势分解(STL)进行时间序列异常检测
R语言用LOESS(局部加权回归)季节趋势分解(STL)进行时间序列异常检测
乳腺癌预测:特征交叉+随机森林=成功公式?
乳腺癌预测:特征交叉+随机森林=成功公式?
132 0
乳腺癌预测:特征交叉+随机森林=成功公式?
主成分分析PCA谱分解、奇异值分解SVD预测分析运动员表现数据和降维可视化
主成分分析PCA谱分解、奇异值分解SVD预测分析运动员表现数据和降维可视化
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等