大数据实训项目

作业导出:

1、用命令

在,命令框输入一下命令,html 后面是要生成html 的ipynb 文件及路径

jupyter nbconvert --to html --no-input "你的jupyter作业文件.ipynb"

2、点击jupter 页面 file->Download as ->HTML

============================

需要压缩打包的文件有:

1、数据集文件:heart.csv

2、 jupyter代码源文件

3、作业生成的html文件

4、分析过程中生成的 profile.html

============================

二维PDP图:特征之间交互关系分析

下方代码如果报错 TypeError: ContourLabeler.clabel() got an unexpected keyword argument 'contour_label_fontsize' 


莫慌 只需修改 C:\ProgramData\anaconda3\Lib\site-packages\pdpbox\pdp_plot_utils.py 文件的第251行

修改前 inter_ax.clabel(c2, contour_label_fontsize=fontsize, inline=1)

修改后 inter_ax.clabel(c2, fontsize=fontsize, inline=1)

重启kernel,重新运行之前的代码

参考博客: https://forums.fast.ai/t/pbpbox-error-on-pdp-interact-plot/28468



2023.12.21 心脏病二分类数据集挖掘分析 https://www.bilibili.com/video/BV1Wf4y1U7EL/?p=1

heart.7z


研究基础

心脏病是一类比较常见的循环系统疾病。循环系统由心脏、血管和调节血液循环的神经体液组织构成,循环系统疾病也称为心血管病,包括上述所有组织器官的疾病,在内科疾病中属于常见病,其中以心脏病最为多见,能显著地影响患者的劳动力。典型症状:蹲踞体征、杵状指()、肺动脉高压、年长儿可有生长发育迟缓。患儿面色苍白,憋气,呼吸困难和心动过速,在鼻尖、口唇、指()甲床明显紫绀。患儿往往发育不正常,表现为瘦弱、营养不良、发育迟缓等。部分有胸痛、晕厥。部分排汗量异常。

基本分类

心脏病是一种统称,其实心脏病是分了很多的的种类的,可以根据发病部位分类也可以根据发病原因分类。在临床上一般将心脏病分为4种。不同种类的心脏疾病会出现不同的症状,平时掌握不同心脏病的征兆,可以及时的预防,心脏病发作时才能尽快的急救。

现在我们国家有很多的风湿患者,而长期的风湿又会导致慢性风湿性心脏病,这是心脏病中很常见的一种。当风湿疾病患者体内的热症蔓延到心脏的时候就容易引发心脏病的发生。

第二种常见的心脏病类型是先天性心脏,这一类人是生下来的时候就有心脏病,主要是在胚胎发育的时候染色体发生异常。

第三种心脏病类型是冠心病,这也是心脏病患者中最多的一种类型。冠心病患者常常都有抽烟的习惯,吸烟又及其容易引发心脏疾病。另外糖尿病、高血压等疾病会使我们血流受阻,易使心肌缺氧而受损,也容易导致心脏病。现在很多年轻人有冠心病,主要是因为劳累过度还有长期处于精神紧张。

第四种类型就是高血压心脏病,高血压患者的血压太高会导致心室肥大,心室长期处于超负荷状态,心肌就会坏死造成心脏病。有的高血压患者冠状动脉血管发生病变,最终导致心律紊乱,甚至出现心绞痛、心肌梗死,严重的威胁着患者的生命。

研究现状

近日,中国医学科学院阜外医院高润霖院士、王增武教授等发表研究称,我国瓣膜性心脏病加权患病率为3.8%,估计我国有2500万瓣膜病患者。研究发现,风湿性心脏病仍是瓣膜病的主要原因,但退行性瓣膜病的患病率明显增加。研究者表示,由于人口老龄化,瓣膜病负担巨大,风湿性心脏病和退行性瓣膜病目前是中国老年人健康的主要威胁。

伯明翰大学的计算机和心血管专家与英国,荷兰和澳大利亚的同行合作开发了ElectroMap--一种用于处理,分析和绘制复杂心脏数据的新型开源软件。相关结果发表在最近的《Scientific Reports》杂志上。伯明翰大学计算机科学高级讲师兼项目总监Kashif Rajpoot博士评论说:“这是一个经过有效验证的开源灵活工具,用于处理和使用我们开发的新型数据分析策略,该软件将提供对心脏病的更深入了解,特别是支持潜在致命性心律失常的机制”。

研究意义

心脏疾病是一类比较常见的循环系统疾病,可导致心悸、心绞痛、心力衰竭、心律失常等临床症状,是引起死亡的主要原因。尽管溶栓等药物治疗、支架的植入和心脏移植等方面取得了很大的进展,但前两种方法并不能有效治疗所有心脏疾病或改善预后,而心脏移植还会有排斥反应的风险。尽管现代医学的发展和医疗设备的开发能有效延缓疾病的进展,但是心脏疾病的患病率仍然呈逐年增加的趋势。目前,研究发现能够对心脏病数据进行分析,建立联防预警机制,在心脏病前期筛查和预警方面前景广阔。

相关技术

1.线性回归

线性回归模型属于经典的统计学模型,该模型的应用场景是根据已知的变量(即自变量)来预测某个连续的数值变量(即因变量)。例如餐厅根据媒体的营业数据(包括菜谱价格、就餐人数、预订人数、特价菜折扣等)预测就餐规模或营业额;网站根据访问的历史数据(包括新用户的注册量、老用户的活跃度、网站内容的更新频率等)预测用户的支付转化率;医院根据患者的病历数据(如体检指标、药物复用情况、平时的饮食习惯等)预测某种疾病发生的概率。

2.随机森林

 作为高度灵活的一种机器学习算法,随机森林(Random Forest,简称RF)拥有广泛的应用前景,从市场营销到医疗保健保险,既可以用来做市场营销模拟的建模,统计客户来源,保留和流失,也可用来预测疾病的风险和病患者的易感性。最近几年的国内外大赛,包括2013年百度校园电影推荐系统大赛、2014年阿里巴巴天池大数据竞赛以及Kaggle数据科学竞赛,参赛者对随机森林的使用占有相当高的比例。所以可以看出,Random Forest在准确率方面还是相当有优势的。

如果接触过决策树(Decision Tree)的话,那么会很容易理解什么是随机森林。随机森林就是通过集成学习的思想将多棵树集成的一种算法,它的基本单元是决策树,而它的本质属于机器学习的一大分支——集成学习(Ensemble Learning)方法。随机森林的名称中有两个关键词,一个是“随机”,一个就是“森林”。“森林”我们很好理解,一棵叫做树,那么成百上千棵就可以叫做森林了,这样的比喻还是很贴切的,其实这也是随机森林的主要思想--集成思想的体现。

其实从直观角度来解释,每棵决策树都是一个分类器(假设现在针对的是分类问题),那么对于一个输入样本,N棵树会有N个分类结果。而随机森林集成了所有的分类投票结果,将投票次数最多的类别指定为最终的输出,这就是一种最简单的 Bagging 思想。

3.数据热力图

热力图,是一种通过对色块着色来显示数据的统计图表。绘图时,需指定颜色映射的规则。例如,较大的值由较深的颜色表示,较小的值由较浅的颜色表示;较大的值由偏暖的颜色表示,较小的值由较冷的颜色表示等。从数据结构来划分,热力图一般分为两种。

第一,表格型热力图,也称色块图。它需要2个分类字段+1个数值字段,分类字段确定xy轴,将图表划分为规整的矩形块。数值字段决定了矩形块的颜色。

第二,非表格型热力图,或平滑的热力图,它需要3个数值字段,可绘制在平行坐标系中(2个数值字段分别确定xy轴,1个数值字段确定着色)。

热力图适合用于查看总体的情况、发现异常值、显示多个变量之间的差异,以及检测它们之间是否存在任何相关性。值得注意的是,绘制热力图时,建议选择恰当的调色板,既在视觉上便于区分,也符合所要传达的主旨。

适用场景

1.热力图的优势在于“空间利用率高”,可以容纳较为庞大的数据。热力图不仅有助于发现数据间的关系、找出极值,也常用于刻画数据的整体样貌,方便在数据集之间进行比较(例如将每个运动员的历年成绩都浓缩成一张热力图,再进行比较)。

2.如果将某行或某列设置为时间变量,热力图也可用于展示数据随时间的变化。例如,用热力图来反映一个城市一年中的温度变化,气候的冷暖走向,一目了然。

 

数据属性说明

age: 年龄

sex: 性别 (1 = 男性,0 = 女性)

cp: 经历过的胸痛类型(值1:典型心绞痛,值2:非典型性心绞痛,值3:非心绞痛,值4:无症状)

trestbps: 静息血压(入院时的毫米汞柱)

chol: 该朋友的胆固醇测量值,单位 mg/dl

fbs: 人的空腹血糖(> 120 mg/dl1=真;0=假)

restecg: 静息心电图测量(0=正常,1=患有ST-T波异常,2=根据Estes的标准显示可能或确定的左心室肥大)

thalach: 最大心率

exang: 运动引起的心绞痛(1=有过;0=没有)

oldpeak: ST抑制,由运动引起的相对于休息引起的(“ ST”ECG图上的位置有关。)

slope: 最高运动ST段的斜率(值1:上坡,值2:平坦,值3:下坡)

ca: 萤光显色的主要血管数目(0-4

thal: 一种称为地中海贫血的血液疾病(3=正常;6=固定缺陷;7=可逆缺陷)

target: 心脏病(0=否,1=是)


 

数据分析


===========================================================

2023.12.19   超市零售数据挖掘分析 : https://blog.csdn.net/weixin_46366524/article/details/127420481


global_superstore.7z



# 创建英文到中文的映射关系
mapping = {
    'East': '东部',
    'Oceania': '大洋洲',
    'Central': '中部',
    'Africa': '非洲',
    'West': '西部',
    'South': '南部',
    'Central Asia': '中亚',
    'EMEA': '欧洲、中东和非洲',
    'North Asia': '北亚',
    'North': '北部',
    'Caribbean': '加勒比地区',
    'Southeast Asia': '东南亚',
    'Furniture': '家具',
    'Canada': '加拿大'
}
translation_map = {
    'Row ID': '行ID',
    'Order ID': '订单ID',
    'Order Date': '订购日期',
    'Ship Date': '装运日期',
    'Ship Mode': '装运方式',
    'Customer ID': '客户ID',
    'Customer Name': '客户名称',
    'Segment': '细分市场',
    'City': '城市',
    'State': '省市',
    'Country': '国家',
    'Postal Code': '邮政编码',
    'Market': '市场',
'Region': '地区',
    'Product ID': '产品ID',
    'Category': '类别',
    'Sub-Category': '子类别',
    'ProductName': '产品名称',
    'Sales': '销售额',
    'Quantity': '数量',
    'Discount': '折扣',
    'Profit': '利润',
    'Shipping Cost': '装运成本',
    'Order Priority': '订单优先级'
}
# 使用replace方法进行替换
data['Region'] = data['Region'].replace(mapping)
# 使用rename()函数将英文字段重命名为中文字段
data = data.rename(columns=translation_map)


打赏

本篇文章链接 地址:https://wmzos.com/?id=102

相关阅读

添加新评论