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

相关推荐
sp_fyf_202430 分钟前
[大语言模型-论文精读] 更大且更可指导的语言模型变得不那么可靠
人工智能·深度学习·神经网络·搜索引擎·语言模型·自然语言处理
肖遥Janic1 小时前
Stable Diffusion绘画 | 插件-Deforum:商业LOGO广告视频
人工智能·ai·ai作画·stable diffusion
我就是全世界2 小时前
一起了解AI的发展历程和AGI的未来展望
人工智能·agi
colorknight2 小时前
1.2.3 HuggingFists安装说明-MacOS安装
人工智能·低代码·macos·huggingface·数据科学·ai agent
kuan_li_lyg3 小时前
MATLAB - 机械臂手眼标定(眼在手内) - 估计安装在机器人上的移动相机的姿态
开发语言·人工智能·matlab·机器人·ros·机械臂·手眼标定
山川而川-R3 小时前
Windows安装ollama和AnythingLLM
人工智能·python·语言模型·自然语言处理
Kuekua-seu3 小时前
diffusion vs GAN
人工智能·神经网络·生成对抗网络
电子科技圈3 小时前
IAR全面支持国科环宇AS32X系列RISC-V车规MCU
人工智能·嵌入式硬件·mcu·编辑器
大地之灯3 小时前
深度学习每周学习总结J1(ResNet-50算法实战与解析 - 鸟类识别)
人工智能·python·深度学习·学习·算法
OCR_wintone4213 小时前
翔云 OCR:发票识别与验真
人工智能·深度学习·ocr