python怎么求因子_Python——因子分析

这篇博客介绍了如何使用Python进行因子分析,以解决应聘者评分问题。首先计算皮尔森相关系数并绘制热力图,接着进行KMO测度和巴特利特球形检验,确定因子分析适用性。接着求解特征值和特征向量,选取5个公共因子,并进行因子旋转和因子得分计算。最后,根据因子得分加权得出应聘者的综合得分,并选出前6名优秀应聘者。
摘要由CSDN通过智能技术生成

python-----因子分析

因子分析用Python做的一个典型例子

一、实验目的

采用合适的数据分析方法对下面的题进行解答

533c43b501dd

二、实验要求

采用因子分析方法,根据48位应聘者的15项指标得分,选出6名最优秀的应聘者。

三、代码

importpandasaspd

importnumpyasnp

importmathasmath

importnumpyasnp

fromnumpyimport*

fromscipy.statsimportbartlett

fromfactor_analyzerimport*

importnumpy.linalgasnlg

fromsklearn.clusterimportKMeans

frommatplotlibimportcm

importmatplotlib.pyplotasplt

defmain():

df=pd.read_csv("./data/applicant.csv")

# print(df)df2=df.copy()

print("\n原始数据:\n",df2)

deldf2['ID']

# print(df2)#皮尔森相关系数df2_corr=df2.corr()

print("\n相关系数:\n",df2_corr)

#热力图cmap = cm.Blues

# cmap = cm.hot_rfig=plt.figure()

ax=fig.add_subplot(111)

map = ax.imshow(df2_corr, interpolation='nearest', cmap=cmap, vmin=0, vmax=1)

plt.title('correlation coefficient--headmap')

ax.set_yticks(range(len(df2_corr.columns)))

ax.set_yticklabels(df2_corr.columns)

ax.set_xticks(range(len(df2_corr)))

ax.set_xticklabels(df2_corr.columns)

plt.colorbar(map)

plt.show()

# KMO测度defkmo(dataset_corr):

corr_inv = np.linalg.inv(dataset_corr)

nrow_inv_corr, ncol_inv_corr = dataset_corr.shape

A = np.ones((nrow_inv_corr, ncol_inv_corr))

foriinrange(0, nrow_inv_corr, 1):

forjinrange(i, ncol_inv_corr, 1):

A[i, j] = -(corr_inv[i, j])

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值