决策树和相关性

分类

分类,指的是根据事物特征,推测类别的过程。
特征是我们观察到的现象,或者是已知的数据。
类别是我们根据特征,将事物做分类的结果。

分类结合人工智能技术,可以实现很多厉害的效果!比如,结合图像处理,可以在海量照片中找到风景类图片;结合语音识别,可以快速分辨说话的人是中国人还是外国人。。。。

决策树

决策树

决策树是一种解决分类问题的经典方法。

基本步骤

  • 观察数据,选取特征
  • 创建决策树
  • 测试决策树

相关性

定义

相关性可以理解是选取的特征对分类结果的区分程度
相关性越高,说明选取的特征对结果分类的效果越好。
在创建决策树时,我们要优先选取相关性更高的特征。

计算相关性

corr( )函数
作用:
计算两列数据的相关性。corr是单词correlation的缩写,是相关、关联的意思。
找到相关性最高的特征

相关性的正负

当特征不止一个时,可以分别计算每个特征与结果的相关性,通过比较相关性的大小,找到合适的特征。

import pandas
一组数据.corr(另一组数据)

注:数据需要是pandas库的数据格式
corrl计算出的相关性在-1到1之间,它能告诉我们两个信息:
数字表示相关性的大小,前面的符号表示数据变化的方向。

当两组数据的相关性是正数时,我们也说这两组数据是正相关的;当两组数据的相关性是负数时,我们也说这两组数据是负相关的。
相关性的正负,反映的是两组数据变化的方向是不是一样,并不表示相关性的大小。即使相关性是一个负数,两组数据的相关性也可能非常高。

比较相关性时,不需要考虑正负,只比较后面数字的大小就可以了。

正解率

决策树在做分类的时候,结果不一定都是正确的。使用正确率可以用来衡量决策树的好
坏。正确率越低,证明决策树的分类效果越差。决策树的正确率很难达到100%。

在计算正确率的时候,后面会乘以一个100%,这是因为正确率的结果需要用百分数来表示。
在生活中,很多时候都用到了百分数,比较饮料中标注的果汁含量42%,就是用百分数表示的,如果写成分数就会很难懂。

调参提高正确率

找到正确率最高的分界值
预测是否偶遇风回老师时,根据温度和天气构造两层決策树,其中对于温度这个特征,选择不同的分界值,决策树的正确率不同,需要通过不断调整和尝试,找到使決策树正确率最高的分界值。

读取数据

py

import pandas
f = pandas.read_csv('EFE.csv')
hard = f['硬度']
print(hard)

readcsv()后面的小括号中填写的是csv文件的路径。
变量f中存储的是文件中的数据
使用f[‘硬度’]得到硬度这一系列的数据。

应对无数可能的决策树

根据降水量预测洪水,未来的降水量是不确定的,这意味着特征数据有无数种可能,所以创建的决策树需要能够应对所有情况。这种时候,要把数值划分到不同的范围中,根据数值范围进行分类。
决策树

数据排序

数据按某列排序

sort_values()可以对数据排序,括号中填写列名就会把数据按照这一列排序。

import pandas
数据.sort_values(列名)

两层决策树

两层决策树

零件数据中有硬度和密度两个特征,只使用硬度构造一层決策树,正确率较低,想要提高正确率,可以继续使用密度构造两层决策树。

py

def tree(hard, density):
    if hard  == 10:
        if density == 5:
            return 1
        else:
            return 0
    else:
        if density == 8:
            return 1
        else:
            return 0

两层决策树

如何构造两层决策树

两层决策树

提取满足条件的数据

变量data中存储了文件中的数据

data[data[‘硬度’]]==10]

取出所有硬度为10的数据。

训练数据

训练数据既要有特征,又要有分类结果。
只有给人工智能包含特征和分类结果的数据,它才能找到数据中的规律,创建出决策树。

训练数据既要有特征又要有分类结果,如果把分类结果从训练数据中取出来,只留下包含各种特征的数据,它就可以用来测试人工智能创建的决策树的正确率。于是我们给它取了一个新名字,叫做测试数据。

人工智能建立决策树

人工智能建立决策树和人建立决策树对比
人工智能建立决策树与人建立决策树对比

使用人工智能建立决策树并调用服务。
使用人工智能建立决策树进行信号灯颜色识别的过程
使用人工智能建立决策树进行信号灯颜色识别的过程

json格式与解析

json格式

服务返回的结果通常是json格式的,json格式看起来很像字典,都是以键值对的形式存储数据。但它不是字典,如果要解析json格式的数据,需要先将它转换成字典。

  • 将json格式的数据转换成字典
  • 观察数据
  • 按照字典取值的方式取出想要的结果
那年 • 今日
写于2023年5月1日
没有伞的孩子,必须学会努力奔跑。

赞助 点赞 0

暂无评论,抢沙发?

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注