【数学建模-某肿瘤疾病诊疗的经济学分析】数据清洗和特征工程

简介: 文章介绍了在一个肿瘤疾病诊疗经济学分析的数学建模案例中进行数据清洗和特征工程的方法,包括处理缺失值、进行编码、计算年龄以及对并发症严重程度和费用进行编码等步骤。

相关信息

1【数学建模-某肿瘤疾病诊疗的经济学分析】数据分析
2 【数学建模-某肿瘤疾病诊疗的经济学分析】数据清洗和特征工程
3 【数学建模-某肿瘤疾病诊疗的经济学分析】第一问模型分析
4 【代码下载】
5【30页的论文下载】

1 分析

(1)数据清洗

  • 性别、出生日期有缺失值,需要剔除

(2)特征工程

  • 性别、是否手术需要0-1编码
  • ADRG需要编码,采用目标编码
  • 给每个ADRG组中数据分为三个类,分别是高费用、中费用、低费用,并进行编码,用3、2、1表示
  • 根据出生日期和住院日期计算年龄
  • 根据DRGS编码判断并发症严重程度。1、5、7分别表示严重、一般、无

2 实现

(1)数据清洗

def clear_data(data):
    c_data = data
    datalen = len(data)
    for i in range(0,datalen):
        born_year = c_data['born'][i]
        sex = c_data['sex'][i]
        if born_year=='0 AM' or sex=='未知':
            c_data.drop([i],inplace=True)
            print()
    c_data.to_csv('clear_data.csv')
    print()

(2)性别编码

def gender_code(data):
    datalen = len(data)
    gender =[]
    for i in range(0,datalen):
        sex = data['sex'][i]
        if sex=='未知':
            continue
        elif sex=='男':
            gender.append(1)
        else:
            gender.append(0)
    return gender

(3)是否手术编码

def surgery_code(data):
    datalen = len(data)
    sur =[]
    for i in range(0,datalen):
        s = data['surgery'][i]
        if pd.isnull(s):
            sur.append(0)
        else:
            sur.append(1)
    return sur

(4)计算年龄

# 年龄计算
def age_code(data):
    age_list =[]
    datalen = len(data)
    for i in range(0,datalen):
        born_year = data['born'][i]
        if born_year=='0 AM':
            continue
        else:
            intime = ''.join(data['intime'][i])
            in_year = intime.strip().split("/")
            age = int(in_year[2])-int(born_year)
            age_list.append(age)
    return age_list

(5)并发症复杂程度编码
根据DRGS编码规则,DRGS编码的最后一位,1表示严重、5表示一般,7表示无

def complicate_code(data):
    text_len =[]
    datalen = len(data)
    g_data = pd.DataFrame()
    for i in range(0,datalen):
        one_lines = data['drgsid'][i]
        text_len.append(one_lines[-1])
    return text_len

(6)给数据集打标签
每个ADRG组下划分为三个类别,按照比例2:4:4划分为高、中、低三类

def label_code(data):
    category={}
    cate_box = pd.DataFrame()
    datalen = len(data)
    for i in range(0,datalen):
        adrgid = data['adrgid'][i]
        data_fee = data['fee'][i]
        if adrgid in category.keys():
            templist = list(category[adrgid])
            templist.append(data_fee)
            category[adrgid] =list(set(templist))
        else:
            category[adrgid] = [data_fee]
    mdict ={}
    for  k in category.keys():
        maxn =max(category[k])
        minn =min(category[k])
        avg = maxn-minn
        low = avg*(4/10)
        mid = avg*(4/10)
        high =avg*(2/10)
        inteval_n = [minn,minn+low,minn+low+mid,minn+low+mid+high]
        mdict[k] = inteval_n
    labelfee = []
    for i in range(0,datalen):
        adrgid = data['adrgid'][i]
        dfee = float(data['fee'][i])
        minn = float(mdict[adrgid][0])
        lowd = float(mdict[adrgid][1])
        midd= float(mdict[adrgid][2])
        highd = float(mdict[adrgid][3])
        if dfee>=minn and lowd>=dfee:
            labelfee.append(1)
        elif dfee>lowd and midd>=dfee:
            labelfee.append(2)    
        else:
            labelfee.append(3) 
    # print(labelfee)
    return labelfee
目录
相关文章
|
7月前
|
数据库
R语言关联规则Apriori对抗肿瘤中药数据库知识发现研究(下)
R语言关联规则Apriori对抗肿瘤中药数据库知识发现研究(下)
|
4月前
|
机器学习/深度学习 数据采集 数据挖掘
【数学建模-某肿瘤疾病诊疗的经济学分析】第一问模型分析
探讨了使用诊断相关分组(DRGs)对肿瘤疾病的诊疗进行经济学分析的方法,并提出了通过决策树模型来预测不同诊断相关组(ADRG)费用水平的分类方案。
59 1
|
4月前
|
数据挖掘 调度 Python
【第十届“泰迪杯”数据挖掘挑战赛】B题:电力系统负荷预测分析 Baseline
第十届“泰迪杯”数据挖掘挑战赛B题的基线解决方案,涉及电力系统负荷预测分析,包括数据读取、特征处理、模型训练和评估,以及使用了LightGBM进行回归预测。
161 3
|
4月前
|
数据采集 机器学习/深度学习 数据挖掘
【数学建模-某肿瘤疾病诊疗的经济学分析】数据分析
本文提供了针对一个肿瘤疾病诊疗经济学分析的数学建模案例,其中包括了数据清洗、特征工程、模型分析等步骤,并提供了相关的代码和最终报告的下载链接。
49 0
|
4月前
|
机器学习/深度学习 数据挖掘 Python
【第十届“泰迪杯”数据挖掘挑战赛】B题:电力系统负荷预测分析 问题二 时间突变分析 Python实现
第十届“泰迪杯”数据挖掘挑战赛B题中对电力系统负荷预测分析进行时间突变分析的Python实现方法,包括定义绘图函数、应用阈值查找异常值、手动设置阈值、使用分位数和3Sigma原则(IQR)设定阈值,以及根据分位数找到时间突变的步骤,并提供了完整代码的下载链接。
102 0
|
7月前
|
数据可视化 数据挖掘
R语言中的生存分析Survival analysis晚期肺癌患者4例
R语言中的生存分析Survival analysis晚期肺癌患者4例
|
7月前
|
算法 数据可视化 数据库
R语言关联规则Apriori对抗肿瘤中药数据库知识发现研究(上)
R语言关联规则Apriori对抗肿瘤中药数据库知识发现研究
|
机器学习/深度学习 存储 算法
胃肠道癌症图像分割数据分析
胃肠道癌症图像分割数据分析
233 0
胃肠道癌症图像分割数据分析
|
机器学习/深度学习 算法 Python
实战案例|肿瘤预测模型~
大家好,我是志斌~ 今天来跟大家分享一下朴素贝叶斯模型的原理以及通过肿瘤预测模型来看如何用Python实现它。
1149 0
实战案例|肿瘤预测模型~
[数据科学] 通过基因表达监测进行肿瘤预测
[数据科学] 通过基因表达监测进行肿瘤预测
164 0
[数据科学] 通过基因表达监测进行肿瘤预测