【数据挖掘】练习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):调整图形背景色,使得图形更具对比度或吸引力。

相关推荐
科技小花1 小时前
全球化深水区,数据治理成为企业出海 “核心竞争力”
大数据·数据库·人工智能·数据治理·数据中台·全球化
zhuiyisuifeng2 小时前
2026前瞻:GPTimage2镜像官网或将颠覆视觉创作
人工智能·gpt
徐健峰2 小时前
GPT-image-2 热门玩法实战(一):AI 看手相 — 一张手掌照片生成专业手相分析图
人工智能·gpt
weixin_370976352 小时前
AI的终极赛跑:进入AGI,还是泡沫破灭?
大数据·人工智能·agi
Slow菜鸟2 小时前
AI学习篇(五) | awesome-design-md 使用说明
人工智能·学习
冬奇Lab3 小时前
RAG 系列(五):Embedding 模型——语义理解的核心
人工智能·llm·aigc
深小乐3 小时前
AI 周刊【2026.04.27-05.03】:Anthropic 9000亿美元估值、英伟达死磕智能体、中央重磅定调AI
人工智能
码点滴3 小时前
什么时候用 DeepSeek V4,而不是 GPT-5/Claude/Gemini?
人工智能·gpt·架构·大模型·deepseek
狐狐生风3 小时前
LangChain 向量存储:Chroma、FAISS
人工智能·python·学习·langchain·faiss·agentai
波动几何3 小时前
CDA架构代码工坊技能cda-code-lab
人工智能