python预测疾病_用机器学习方法从症状预测疾病

本文介绍了如何使用Python进行疾病预测,涉及数据清洗、数据处理和模型训练。通过清洗Scraped-Data/dataset_uncleaned.csv文件,将疾病和症状转换为可处理的格式,然后利用朴素贝叶斯和决策树算法训练模型。最终,模型在测试集上取得了约90%的准确率,但也存在部分疾病预测不准确的情况。
摘要由CSDN通过智能技术生成

一、编程环境

Win10

Python3.6

Jupyter Notebook

Graphviz (简介和安装请参考https://www.jianshu.com/p/b559dc689b7f)

二、数据源

三、清洗数据

1 将疾病和对应的多个症状放到字典里,key为疾病,value为多个症状。

注意,有些疾病和症状包含了特殊符号’^’,需要先处理成’_’再切割。import csvfrom collections import defaultdict

disease_list = []def return_list(disease):

disease_list = []

match = disease.replace('^','_').split('_')

ctr = 1

for group in match:        if ctr%2==0:

disease_list.append(group)

ctr = ctr + 1

return disease_listwith open("Scraped-Data/dataset_uncleaned.csv") as csvfile:

reader = csv.reader(csvfile)

disease=""

weight = 0

disease_list = []

dict_wt = {}

dict_=defaultdict(list)    for row in reader:        if row[0]!="\xc2\xa0" and row[0]!="":

disease = row[0]

disease_list = return_list(disease)

weight = row[1]        if row[2]!="\xc2\xa0" and row[2]!="":

symptom_list = return_list(row[2])            for d in disease_list:                for s in symptom_list:

dict_[d].append(s)

dict_wt[d] = weight    print (dict_)

2 将疾病-症状-样本数写到d

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值