分类
分类,指的是根据事物特征,推测类别的过程。
特征是我们观察到的现象,或者是已知的数据。
类别是我们根据特征,将事物做分类的结果。
分类结合人工智能技术,可以实现很多厉害的效果!比如,结合图像处理,可以在海量照片中找到风景类图片;结合语音识别,可以快速分辨说话的人是中国人还是外国人。。。。
决策树
决策树
决策树是一种解决分类问题的经典方法。
基本步骤
- 观察数据,选取特征
- 创建决策树
- 测试决策树
相关性
定义
相关性可以理解是选取的特征对分类结果的区分程度
相关性越高,说明选取的特征对结果分类的效果越好。
在创建决策树时,我们要优先选取相关性更高的特征。
计算相关性
corr( )函数
作用:
计算两列数据的相关性。corr是单词correlation的缩写,是相关、关联的意思。
找到相关性最高的特征
相关性的正负
当特征不止一个时,可以分别计算每个特征与结果的相关性,通过比较相关性的大小,找到合适的特征。
import pandas
一组数据.corr(另一组数据)
注:数据需要是pandas库的数据格式
corrl计算出的相关性在-1到1之间,它能告诉我们两个信息:
数字表示相关性的大小,前面的符号表示数据变化的方向。
当两组数据的相关性是正数时,我们也说这两组数据是正相关的;当两组数据的相关性是负数时,我们也说这两组数据是负相关的。
相关性的正负,反映的是两组数据变化的方向是不是一样,并不表示相关性的大小。即使相关性是一个负数,两组数据的相关性也可能非常高。
比较相关性时,不需要考虑正负,只比较后面数字的大小就可以了。
正解率
决策树在做分类的时候,结果不一定都是正确的。使用正确率可以用来衡量决策树的好
坏。正确率越低,证明决策树的分类效果越差。决策树的正确率很难达到100%。
在计算正确率的时候,后面会乘以一个100%,这是因为正确率的结果需要用百分数来表示。
在生活中,很多时候都用到了百分数,比较饮料中标注的果汁含量42%,就是用百分数表示的,如果写成分数就会很难懂。
调参提高正确率
找到正确率最高的分界值
预测是否偶遇风回老师时,根据温度和天气构造两层決策树,其中对于温度这个特征,选择不同的分界值,决策树的正确率不同,需要通过不断调整和尝试,找到使決策树正确率最高的分界值。
读取数据
import pandas
f = pandas.read_csv('EFE.csv')
hard = f['硬度']
print(hard)
readcsv()后面的小括号中填写的是csv文件的路径。
变量f中存储的是文件中的数据
使用f[‘硬度’]得到硬度这一系列的数据。
应对无数可能的决策树
根据降水量预测洪水,未来的降水量是不确定的,这意味着特征数据有无数种可能,所以创建的决策树需要能够应对所有情况。这种时候,要把数值划分到不同的范围中,根据数值范围进行分类。
数据排序
数据按某列排序
sort_values()可以对数据排序,括号中填写列名就会把数据按照这一列排序。
import pandas
数据.sort_values(列名)
两层决策树
两层决策树
零件数据中有硬度和密度两个特征,只使用硬度构造一层決策树,正确率较低,想要提高正确率,可以继续使用密度构造两层决策树。
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格式的数据转换成字典
- 观察数据
- 按照字典取值的方式取出想要的结果