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

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

相关信息

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
目录
相关文章
|
2月前
|
机器学习/深度学习 数据采集 数据挖掘
【数学建模-某肿瘤疾病诊疗的经济学分析】第一问模型分析
探讨了使用诊断相关分组(DRGs)对肿瘤疾病的诊疗进行经济学分析的方法,并提出了通过决策树模型来预测不同诊断相关组(ADRG)费用水平的分类方案。
49 1
|
2月前
|
数据采集 机器学习/深度学习 数据挖掘
【数学建模-某肿瘤疾病诊疗的经济学分析】数据分析
本文提供了针对一个肿瘤疾病诊疗经济学分析的数学建模案例,其中包括了数据清洗、特征工程、模型分析等步骤,并提供了相关的代码和最终报告的下载链接。
40 0
|
5月前
|
机器学习/深度学习 安全 算法
Matlab基于SEIRD模型,NSIR预测模型,AHP层次分析法新冠肺炎预测与评估分析
Matlab基于SEIRD模型,NSIR预测模型,AHP层次分析法新冠肺炎预测与评估分析
|
存储 前端开发 安全
高通量基因测序在药物研发和靶向治疗中的应用(一)
高通量基因测序在药物研发和靶向治疗中的应用(一)
938 0
|
11月前
硕士毕业设计:基于医疗异构信息网络表征学习的病人相似性(聚类分析)
硕士毕业设计:基于医疗异构信息网络表征学习的病人相似性(聚类分析)
53 0
|
机器学习/深度学习 算法 数据挖掘
高血压疾病预测模型构建研究与应用
高血压疾病预测模型构建研究与应用。
178 0
|
人工智能 算法 前端开发
高通量基因测序在药物研发和靶向治疗中的应用(二)
高通量基因测序在药物研发和靶向治疗中的应用(二)
555 0
|
机器学习/深度学习 数据采集 算法
基于影像组学的膀胱癌治疗反应评估:深度学习的应用
本文旨在探讨基于影像组学的膀胱癌治疗反应评估方法,介绍影像组学技术的基本概念和特征提取方法,并探讨深度学习算法在癌症治疗反应评估中的应用。将参考和解析文献Bladder Cancer Treatment Response Assessment in CT using Radiomics with Deep-Learning的分析过程。
132 0
|
机器学习/深度学习 存储 算法
胃肠道癌症图像分割数据分析
胃肠道癌症图像分割数据分析
218 0
胃肠道癌症图像分割数据分析
|
机器学习/深度学习 算法 Python
实战案例|肿瘤预测模型~
大家好,我是志斌~ 今天来跟大家分享一下朴素贝叶斯模型的原理以及通过肿瘤预测模型来看如何用Python实现它。
1100 0
实战案例|肿瘤预测模型~