【数据挖掘】练习6:上机题目

练习6:上机题目

一:实验目的与要求

1:了解R语言中各种图形元素的添加方法,并能够灵活应用这些元素。

2:了解R语言中的各种图形函数,掌握常见图形的绘制方法。

二:实验内容

1:某银行在降低贷款拖欠率的数据 bankloan 的示例数据。

2:比较违约与不违约情形不同特征的人群分布。

3:探索不同特征的人群收入与负债的分布情况。口 探索不同特征的人群收入与负债的关系。

三:实验方法与步骤

1)数据预处理,调整数据类型,按照年龄、工龄分组。

2)绘制违约与不违约客户的年龄、教育和工龄的条形图、Cleveland 点图。

3)绘制不同年龄、教育和工龄的客户收入与负债的直方图、核密度图、箱线图、小揭琴图。

4)绘制不同年龄、教育和工龄下客户的收入与负债的散点图。

第1步:读入数据

|---------------------------------------------------------------|
| bankloan <- read.csv(file="bankloan.csv", header=T) bankloan |

第2步:按照年龄分组

|--------------------------------------------------------|
| (agesort <- cut(bankloan$age,c(0,10,20,30,40,50,60))) |

第3步:按照工龄分组

|-------------------------------------------------------------------------------|
| (worksort <- cut(bankloan$seniority,c(0,5,10,20,30,40), include.lowest = T)) |

第4步:绘制违约与不违约客户的年龄条形图

|-----------------------------------------------------------------------------------------------------|
| library(ggplot2) ggplot(data=bankloan,aes(x=agesort,fill=agesort))+geom_bar()+facet_wrap(~default) |

第5步:绘制违约与不违约客户的教育条形图

|----------------------------------------------------------------------------------------|
| ggplot(data=bankloan,aes(x=education,fill=education))+geom_bar()+facet_wrap(~default) |

第6步:绘制违约与不违约客户的工龄条形图

|--------------------------------------------------------------------------------------|
| ggplot(data=bankloan,aes(x=worksort,fill=worksort))+geom_bar()+facet_wrap(~default) |

第7步:绘制违约与不违约客户的年龄Cleveland点图

|---------------------------------------------------------------------------|
| ggplot(data=bankloan,aes(x=age,y=age))+geom_point()+facet_wrap(~default) |

第8步:绘制违约与不违约客户的教育Cleveland点图

|---------------------------------------------------------------------------------------|
| ggplot(data=bankloan,aes(x=education,y=education))+geom_point()+facet_wrap(~default) |

第9步:绘制违约与不违约客户的工龄Cleveland点图

|---------------------------------------------------------------------------------------|
| ggplot(data=bankloan,aes(x=seniority,y=seniority))+geom_point()+facet_wrap(~default) |

第10步:绘制不同年龄的客户收入与负债的直方图

|------------------------------------------------------------------------|
| ggplot(data=bankloan,aes(x=age,group=factor(income)))+geom_histogram() |

第11步:绘制不同教育的客户收入与负债的直方图

|------------------------------------------------------------------------------|
| ggplot(data=bankloan,aes(x=education,group=factor(income)))+geom_histogram() |

第12步:绘制不同工龄的客户收入与负债的直方图

|------------------------------------------------------------------------------|
| ggplot(data=bankloan,aes(x=seniority,group=factor(income)))+geom_histogram() |

第13步:绘制不同年龄的客户收入与负债的核密度图

|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ggplot(data=bankloan,aes(x=income,group=factor(age),colour=factor(age)))+geom_density() ggplot(data=bankloan,aes(x=debt_rate,group=factor(age),colour=factor(age)))+geom_density() |

第14步:绘制不同教育的客户收入与负债的核密度图

|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ggplot(data=bankloan,aes(x=income,group=factor(education),colour=factor(education)))+geom_density() ggplot(data=bankloan,aes(x=debt_rate,group=factor(education),colour=factor(education)))+geom_density() |

第15步:绘制不同工龄的客户收入与负债的核密度图

|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ggplot(data=bankloan,aes(x=income,group=factor(seniority),colour=factor(seniority)))+geom_density() ggplot(data=bankloan,aes(x=debt_rate,group=factor(seniority),colour=factor(seniority)))+geom_density() |

第16步:绘制不同年龄的客户收入与负债的箱线图

|------------------------------------------------------------------------------------------------------------|
| ggplot(bankloan,aes(x=age,y=income))+geom_boxplot() ggplot(bankloan,aes(x=age,y=debt_rate))+geom_boxplot() |

第17步:绘制不同教育的客户收入与负债的箱线图

|------------------------------------------------------------------------------------------------------------------------|
| ggplot(bankloan,aes(x=education,y=income))+geom_boxplot() ggplot(bankloan,aes(x=education,y=debt_rate))+geom_boxplot() |

第18步:绘制不同工龄的客户收入与负债的箱线图

|------------------------------------------------------------------------------------------------------------------------|
| ggplot(bankloan,aes(x=seniority,y=income))+geom_boxplot() ggplot(bankloan,aes(x=seniority,y=debt_rate))+geom_boxplot() |

第19步:绘制不同年龄的客户收入与负债的小揭琴图

|------------------------------------------------------------------------------------------------------------------|
| ggplot(bankloan,aes(factor(age),income))+geom_violin() ggplot(bankloan,aes(factor(age),debt_rate))+geom_violin() |

第20步:绘制不同教育的客户收入与负债的小揭琴图

|--------------------------------------------------------------|
| ggplot(bankloan,aes(factor(education),income))+geom_violin() |

第21步:绘制不同工龄的客户收入与负债的小揭琴图

|------------------------------------------------------------------------------------------------------------------------------|
| ggplot(bankloan,aes(factor(seniority),income))+geom_violin() ggplot(bankloan,aes(factor(seniority),debt_rate))+geom_violin() |

第22步:绘制不同年龄下客户的收入与负债的散点图。

|----------------------------------------------------------------------------|
| ggplot(bankloan,aes(income,debt_rate))+geom_point(aes(colour=factor(age))) |

第23步:绘制不同教育下客户的收入与负债的散点图。

|----------------------------------------------------------------------------------|
| ggplot(bankloan,aes(income,debt_rate))+geom_point(aes(colour=factor(education))) |

第24步:绘制不同工龄下客户的收入与负债的散点图。

|----------------------------------------------------------------------------------|
| ggplot(bankloan,aes(income,debt_rate))+geom_point(aes(colour=factor(seniority))) |

四:思考与实验总结

1)如何选择绘制的图形类型?

选择绘制的图形类型通常取决于数据的类型和分析的目的。

柱状图(Bar Plot):用于显示不同类别之间的频数或数量关系。适用于比较类别变量之间的差异。

折线图(Line Plot):用于显示连续变量随时间或其他有序变量的变化。适用于显示趋势和变化的方向。

散点图(Scatter Plot):用于显示两个连续变量之间的关系。适用于发现变量之间的相关性和观察异常值。

箱线图(Box Plot):用于显示连续变量的分布情况,包括中位数、四分位数和异常值。适用于比较多个组的分布,并识别异常值。

直方图(Histogram):用于显示连续变量的分布情况。适用于了解数据的分布形状和集中程度。

密度图(Density Plot):用于显示连续变量的分布密度估计。适用于比较两个或多个分布,并观察它们之间的重叠程度。

小提琴图(Violin Plot):结合了箱线图和密度图的特点,展示了数据的分布形状和中位数。适用于比较多个组的分布,并观察它们之间的差异。

Cleveland 点图(Cleveland Dot Plot):用于显示类别变量和连续变量之间的关系。适用于显示组内变量的分布情况和组间的差异。

2)如何向原始图形添加合适的图形元素,使图形简单明了且更能表达数据含义?

添加合适的图形元素可以帮助图形更加清晰地传达数据的含义。常见的图形元素如下:

标题(Title):描述图形内容和目的,使读者可以快速理解图形。

坐标轴标签(Axis Labels):标明 x 轴和 y 轴的含义,提供数据的单位或范围。

图例(Legend):用于解释图形中的颜色或图案代表的含义,特别适用于多组数据的比较。

参考线(Reference Lines):在图形中添加水平线或垂直线,表示特定数值或阈值,有助于对比数据和发现模式。

数据标签(Data Labels):在图形中添加数据点的数值标签,使得读者可以直观地了解数据。

注释(Annotations):添加文字说明或箭头指向特定数据点或趋势,提供更多背景信息或关键观察。

图形形状(Geometric Shapes):在图形中添加几何形状,如矩形、圆形等,以突出或强调特定区域或数据。

背景色(Background Color):调整图形背景色,使得图形更具对比度或吸引力。

相关推荐
今年下半年几秒前
AI智能体项目实战记录(05):RAG项目实战之向量知识库milvus部署
人工智能·llm·milvus·rag
haluhalu.1 分钟前
深入理解 AI Agent(1.2):Harness 工程——模型之外的竞争力
前端·数据结构·人工智能·python·langchain·个人开发
fpcc6 分钟前
AI和大模型—矩阵相似
人工智能·线性代数·矩阵
data analyse 4568 分钟前
服务端统计时区切换的日期归并
大数据·前端·数据库·人工智能·数据分析
DongQiShanRen9 分钟前
六根硬件映射(下):物理闭环五步法,抽一条已实装的看
大数据·jvm·人工智能·算法·rust·哈希算法·集成学习
鸿翼Macrowing14 分钟前
鸿翼入选 2026 年上海市 “AI + 制造” 服务商能力图谱
人工智能·制造·opencontent ai·ai+制造
墨子夕15 分钟前
创新的潮汐——从科学发现到资本周期的百年规律(第三卷)
人工智能·其他·周期
尘一不染15 分钟前
多模型 API 接入实战(一):从一次 HTTP 请求到可维护的适配层
网络·人工智能·网络协议·http
szxinmai主板定制专家26 分钟前
ZYNQ PL+PS 架构拆解|工业自动化与电力物联网高速数据采集、预处理与协议上云
arm开发·人工智能·物联网·fpga开发·数据采集卡·rk3576
禁默27 分钟前
从“动作社区“到“技能商店“:机器人应用生态走到哪一步了
人工智能·机器人