山东大学2019级机器学习实验一思路分析

编程入门 行业动态 更新时间:2024-10-11 23:16:25

<a href=https://www.elefans.com/category/jswz/34/1765798.html style=山东大学2019级机器学习实验一思路分析"/>

山东大学2019级机器学习实验一思路分析

山东大学2019级机器学习实验一思路分析

实验说明

中间的字段说明就不再写上了

实验分析

前提说明,默认大家已经掌握了贝叶斯模型是什么,怎么使用贝叶斯模型,不知道的可以点击链接查看添加链接描述。然后实验步骤依次如下:

  1. 数据预处理
  2. 训练模型,得到不同属性的概率
  3. 测试模型,运用概率去估测测试集并与结果比对得出精度

数据预处理

这里的数据预处理总共有四种,分别是补充缺失值、文字转成数值、日期格式、无关属性删除

补充缺失值

这次实验的缺失值比较特殊,一个是年份的位置(work_year)有缺失值,剩下有缺失值的位置位于f0-f4以及pub_dero_bankrup。补充可以采取pandas内置函数。inplace=true可以直接改变df中的值

# 缺失值补充
df['work_year'].fillna(0, inplace=True)
df['f0'].fillna(0, inplace=True)
df['f1'].fillna(0, inplace=True)
df['f2'].fillna(0, inplace=True)
df['f3'].fillna(0, inplace=True)
df['f4'].fillna(0, inplace=True)
df['pub_dero_bankrup'].fillna(0, inplace=True)

文字转成数值

这个没用到

日期格式

这个我把日期直接当成无关属性了,如果加上精度可能会更高。我可以提供思路,自己懒得写了,对于Series,可以使用describe函数获取日期的起始日期,算一个日期差,然后离散化处理即可。

无关属性删除

这个也是之前把我误导到一个误区的地方,误以为这个应该在训练中不断调整,也就是说,一开始确定一些属性为有关属性,然后依次增加属性,看精度的变化,如果精度有提升,就加入该属性,如果下降,就不加入该属性。后来,当我和王一讨论的时候才发现,无关属性删除在预处理中操作的,也就是说选什么属性有我们自己来定,这个选择看个人了。

训练模型

大家其实一开始都很懵,模型都不知道是什么,怎么训练,输入输出是什么。这时候,我们要回归贝叶斯模型的定义,贝叶斯模型的输入是一个x,x具有很多属性,输出是它属于哪个类别,判断依据是不同属性的概率,所以说关键就在于概率。通过训练集,得到每个属性的不同取值的概率,就完成我们的任务了。但是这里会有两个问题,也就是说明中提到的。一个是连续数据离散化,另一个就是零概率平滑处理。

连续数据离散化

我认为的连续数据就是那个取值相对较多的数据(王一指导),然后离散化的方法可以使用上学期Python课上学到的pandas.cut

就可以进行离散化了,这里做一些修改,因为我们需要划分的区间,所以做一些修改得到区间

# 离散化数据
for _attribute in _Attributes:temp = pd.cut(self.ds[_attribute], 4, labels=Labels, retbins=True)self.ds[_attribute] = temp[0]# 保存离散区间Intervals[_attribute] = list(temp[1])

零概率平滑处理

所谓零概率事件,就是测试集属性的取值在训练集中没有,这里处理的方式是询问商志达和王一得到的——拉普拉斯修正(百度了解一下),在训练集得到概率的时候,计算ELSE概率作为没有出现的属性取值的概率。具体代码如下

num = len(temp) + len(categories) + 1  # 做平滑处理
for category in categories:Probability[attribute][1][category] = (counts[category] + 1) / num
Probability[attribute][1]['ELSE'] = 1 / num

测试模型

这个应该就不用在多说了,就是每次取出一行,通过之前得到的区间对连续值进行离散化处理,然后计算1和0的概率作比较,就可以了

个人结果

我这边用了一些我认为有用的数据,得到了92.1的精度,个人感觉还可以。

更多推荐

山东大学2019级机器学习实验一思路分析

本文发布于:2024-03-08 10:25:41,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1720614.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:山东大学   思路   机器

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!