(八)Python数据分析与挖掘实战(实战篇)——中医证型关联规则挖掘

该博客记录了使用Python进行中医证型与乳腺癌TNM分期关联规则挖掘的过程。首先介绍背景和目标,通过问卷收集数据,接着进行数据预处理,包括离散化处理。然后应用Apriori算法,设定最小支持度6%和最小置信度75%,以发现潜在的证素关系。最后,结合业务对结果进行分析和应用。
摘要由CSDN通过智能技术生成

这个专栏用来记录我在学习和实践《Python数据分析与挖掘实战》一书时的一些知识点总结和代码实现。

背景和目标

借助三阴乳腺癌患者的病理信息,挖掘患者的症状与中医证型之间的关联关系
对截断治疗提供依据,挖掘潜性证素

数据

原始属性表

属性名称 属性描述
实际年龄
发病年龄
初潮年龄
既往月经是否规律
是否痛经
是否绝经
肝气郁结症得分
热毒蕴结证得分
冲任失调症得分
气血两虚证得分
脾胃虚弱证得分
肝肾阴虚证得分
TNM分期
确诊后几年发现转移
转移部位
病程阶段

脚本

discretization.py

#-*- coding: utf-8 -*-
'''
聚类离散化,最后的result的格式为:
      1           2           3           4
A     0    0.178698    0.257724    0.351843
An  240  356.000000  281.000000   53.000000
即(0, 0.178698]有240个,(0.178698, 0.257724]有356个,依此类推。
'''
from __future__ import print_function
import pandas as pd
from sklearn.cluster import KMeans  # 导入K均值聚类算法

datafile = '../data/data.xls'  # 待聚类的数据文件
processedfile = '../tmp/data_processed.xls'  # 数据处理后文件
typelabel = {
   u'肝气郁结证型系数': 'A', u'热毒蕴结证型系数': 'B', u'冲任失调证型系数': 'C',
             u'气血两虚证型系数': 'D', u'脾胃虚弱证型系数': 'E', u'肝肾阴虚证型系数': 'F'}
k = 4  # 需要进行的聚类类别数

# 读取数据并进行聚类分析
data = pd.read_excel(datafile)  # 读取数据
keys = list(typelabel.keys())
result = pd.DataFrame()

if __name__ == '__main__':  # 判断是否主窗口运行,如果是将代码保存为.py后运行,则需要这句,如果直接复制到命令窗口运行,则不需要这句。
    for i in range(len(keys)):
        # 调用k-means算法,进行聚类离散化
        print(u'正在进行“%s”的聚类...' % keys[i])
        kmodel = KMeans(n_clusters=k, n_jobs=4)  # n_jobs是并行数,一般等于CPU数较好
        kmodel.fit(data[[keys[i]]].as_matrix())  # 训练模型

        r1 = pd.DataFrame(kmodel.cluster_centers_, columns=[
                          typelabel[keys[i]]])  # 聚类中心
        r2 = pd.Series(kmodel.labels_).value_counts(
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值