1.决策树

任务:根据用户的学习动力能力提升意愿,兴趣度,空余时间,判断其是否适合学习本门课程。

  • 逻辑回归:
  • 决策树:

决策树是一种对实例进行分类的树形结构,通过多层判断区分目标所属类别。

本质:通过多层判断,从训练数据集中归纳出一组分类规则。

优点:计算量小,运算速度快;易于理解,可清晰查看各种属性的重要性。

缺点:忽略属性间的相关性;样本类别分布不均匀时,容易影响模型表现

求解:假设给定训练数据集,其中,为输入实例,m为特征个            数,为类标记,,N为样本容量。

目标:根据训练数据集构建一个决策树模型,使他能够对实例进行正确的分类。

问题核心:特征选择,每一个节点选哪一个特征。选择的特征不同,决策树也不同,那么选择哪一个特征的决策树呢?有三种方法:ID3,C4.5,CART(前两者用到了信息增益的概念)

  • ID3:利用信息熵原理选择信息增益最大的属性作为分类属性,递归地拓展决策树的分支,完成决策树的构造。
  • 信息熵:是度量随机变量不确定性的指标,熵越大,变量的不确定性越大。 假定当前样本集合D中的第k类样本所占比例为,则D的信息熵为:或0时,Ent(D)=0.
  • 信息增益:以属性a进行样本划分带来的信息增益为,V为根据属性a划分出的类别数,D为当前样本总数,为类别v的样本数,是划分前的信息熵,是划分后的信息熵。

2.异常检测

任务:根据设备上传感器1与2的数据,自动监测设备异常工作状态。

自动寻找图片中异常的目标。

定义:根据输入数据,对不符合预期模式的数据进行识别。

一维数据集:寻找低概率数据事件

基于高斯分布实现异常检测:

  • 计算数据均值,标准差
  • 计算对应的高斯分布概率函数:
  • 根据数据点概率,进行判断:如果,该点为异常点。

高维数据集:

  • 计算数据均值和标准差
  •                 
  • 计算概率密度函数

3.主成分分析

数据降维:指在某些限定条件下,降低随机变量个数,得到一组“不相关”主变量的过程。

作用:减少模型分析数据量,提升处理效率,降低计算难度;实现数据可视化。

数据降维的实现:主成分分析PCA

  • 目标:寻找k(k<n)维新数据,使他们反应事物的主要特征
  • 核心:在信息损失尽可能少的情况下,降低数据维度
  • 如何保留主要信息:投影后的不同特征数据尽可能分得开
  • 如何实现:使投影后数据的方差最大,因为方差越大数据也越分散
  • 计算过程:

1)原始数据预处理(标准化:

2)计算协方差矩阵特征向量,及数据在各特征向量投影后的方差

3)根据需求(任务指定或方差比例)确定降维维度k

4)选取k维特征向量,计算数据在其形成空间的投影

4.实战准备

Iris数据集:

  • 3类共150条记录,每类各50个数据。
  • 每条记录都有4项特征:花萼长度(Sepal Length),花萼宽度(Sepal Width),花瓣长度(Petal Length),花瓣宽度(Petal Width)
  • 通过4个特征预测花卉属于三类(iris-setosa,iris-versicolour,iris-virginica)中的哪一品种。

Iris数据集是机器学习经典数据集:简单而具有代表性;常用于监督式学习应用

决策树实现iris数据分类:

#模型训练
from sklearn import tree
dc_tree = tree.DecisionTreeClassifier(criterion = 'entropy',min_samples_leaf = 5)
dc_tree.fit(X,y)#可视化决策树
#filled = 'True':同一类别填充同一种颜色
tree.plot_tree(dc_tree,filled = 'True',feature_names = ['SepalLength','SepalWidth','PetalLength','PetalWidth'],class_names = ['setosa','versicolor','virginica'])

异常数据检测:

#数据分布统计
#x1:展示的数据    bins:横坐标划分了100个小格子
plt.hist(x1,bins = 100)#计算数据均值,标准差
x1_mean = x1.mean()
x1_sigma = x1.std()#计算对应的高斯分布数值
#linspacce(0,20,300):生成0~20的300个数据点
#pdf:概率密度函数点
from scipy.stats import norm
x1_range = np.linspacce(0,20,300)
normal1 = norm.pdf(x1_range,x1_mean,x1_sigma)#可视化高斯分布曲线
plt.plot(x1_range,normal1)#模型训练
from sklearn.covariance import EllipticEnvelope
clf = EllipticEnvelope()
clf.fit(data)#可视化异常数据
anamoly_points = plt.scatter(data.loc[:,'x1'][y_predict == -1],data.loc[:,'x2'][y_predict == -1],marker = 'o',facecolor = 'none',edgecolor = 'red'.s = '250')

PCA降维后分类:

#数据标准化预处理
from sklearn.preprocessing import StandardScaler
X_norm = StandardScaler().fit_transfrom(X)#模型训练获得PCA降维后数据
from sklearn.decomposition import PCA
pca = PCA(n_components = 4)
X_reduced = pca.fit_transform(X_norm)#计算各成分投影数据方差比例
var_ratio = pca.explained_variance_ratio_#可视化方差比例
#[1,2,3,4]:想画4个比例的
plt.bar([1,2,3,4],var_ratio)
plt.title('variance ratio of each component')
plt.xticks([1,2,3,4],['PC1','PC2','PC3','PC4'])
plt.ylabel('var_ratio')
plt.show()#可视化PCA后数据
setosa = plt.scatter(X_reduced[:,0][y==0],X_reduced[:,1][y==0])
versicolor = plt.scatter(X_reduced[:,0][y==1],X_reduced[:,1][y==1])
virginica = plt.scatter(X_reduced[:,0][y==2],X_reduced[:,1][y==2])

5.实战一:决策树实现iris数据分类

  • 基于iris_data.csv数据,建立决策树模型,评估模型表现
  • 可视化决策树结构
  • 修改min_samples_leaf参数,对比模型结果

6.实战二:异常数据检测

  • 基于anomaly_data.csv数据,可视化数据分布情况,及其对应高斯分布的概率密度函数
  • 建立模型,实现异常数据点检测
  • 可视化异常检测处理结果
  • 修改概率分布阈值EllipticEnvelope(contamination = 0.1)中的contamination ,查看阈值改变对结果的影响

7.实战三:PCA(iris数据降维后分类)

  • 基于iris_data.csv数据,建立KNN模型实现数据分类(n_neighbors = 3)
  • 对数据进行标准化处理,选取一个维度可视化处理后的效果
  • 进行与原数据等维度PCA,查看各主成分的方差比例
  • 保留合适的主成分,可视化降维后的数据
  • 基于降维后数据建立KNN模型,与原数据表现进行对比

机器学习其他常用技术相关推荐

  1. 独家 | 机器学习数据准备技术之旅(附链接)

    作者:Jason Brownlee 翻译:李嘉骐 校对:王晓颖 本文约4300字,建议阅读9分钟 本文介绍了机器学习中常用的数据准备技术. 标签:初学者 机器学习 数据准备 特征工程 机器学习项目中的 ...

  2. 机器学习百页书:机器学习中常用到的一些数学符号

    一本精简的机器学习入门手册.机器学习百页书<机器学习精讲>,人工智能的核心是机器学习,本书囊括机器学习的精髓,系统而精炼地讲解机器学习的基本原理.本书英文版一经推出,就长期位于亚马逊机器学 ...

  3. 机器学习 深度学习技术区别_体育技术机器学习金钱和灵感的圣杯

    机器学习 深度学习技术区别 I claim that anyone with a math background and a love of baseball has at one time give ...

  4. 数据挖掘技术的来源、历史、研究内容及常用技术

    数据挖掘技术的来源.历史.研究内容及常用技术 1 数据挖掘技术的由来 1.1网络之后的下一个技术热点 我们现在已经生活在一个网络化的时代,通信.计算机和网络技术正改变着整个人类和社会.如果用芯片集成度 ...

  5. Python_机器学习_常用科学计算库_第6章_ Seaborn+综合案例

    Python_机器学习_常用科学计算库_第6章_ Seaborn+综合案例 文章目录 Python_机器学习_常用科学计算库_第6章_ Seaborn+综合案例 Seaborn 学习目标 6.1 Se ...

  6. 四种检测异常值的常用技术简述

    四种检测异常值的常用技术简述 在训练机器学习算法或应用统计技术时,错误值或异常值可能是一个严重的问题,它们通常会造成测量误差或异常系统条件的结果,因此不具有描述底层系统的特征.实际上,最佳做法是在进行 ...

  7. 分布式系统开发实战:分布式计算,分布式计算常用技术

    分布式计算 分布式计算就是将一个大的计算任务分解成多个小任务,然后分配给多台计算机分别计算,再上传运算结果后统一合并得出数据结论.本章详细介绍分布式计算. 分布式计算概述 在过去的20年里,互联网产生 ...

  8. 新手学大数据、机器学习相关开发技术,蜡炬教育提醒会经历这几个阶段

    原标题:蜡炬教育:新手学大数据.机器学习相关开发技术,要经历这几个阶段 蜡炬教育任课老师说,学习一门新技术其实不难,但很多人越学越迷茫,归根结底是对要学的东西没有系统化的认识,学习起来没有规划. 作为 ...

  9. 机器学习算法常用指标总结

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 机器学习性能评价标准是模型优化的前提,在设计机器学习算法过程中,不 ...

最新文章

  1. linux命令:fsck
  2. 数据库多对多关系示例 - 使用sqlite演示
  3. Nvelocity 模板引擎 实例
  4. LeetCode 1362. 最接近的因数
  5. 清华提出LogME,无需微调就能衡量预训练模型的下游任务表现!
  6. 【Spring】Spring DataSourceTransactionManager
  7. Pivotal Cloud Foundry安全原理解析
  8. leetcode 贪心_「leetcode」135.分发糖果【贪心算法】详细图解
  9. 2015.3.12Arinc424 Tools中SiniArincCls.csParserFile(string sFile)函数正则表达式理解
  10. 估值40亿美元后,完美日记的逆袭与成长新烦恼
  11. accuary、micro 、macro、weighted F1-score
  12. 全国企业信用信息 网站
  13. 【精益生产】精益生产十大工具
  14. 罗技LogitechFlow技术--惊艳的多电脑切换体验
  15. 最新小储云商城程序源码最新PJ版 去授权后门
  16. win7 桌面图标显示不正常
  17. mysql打开注册表命令_怎么打开注册表文件?
  18. # tree bash: tree: 未找到命令...
  19. 猿创征文|当我在追光 我与光同航--我与Java的技术成长之路
  20. java disconnect_Java HttpResponse.disconnect方法代码示例

热门文章

  1. 控制工程笔记3|拉普拉斯变换应用
  2. Docker中安装python-pcl库
  3. hadoop组件概况
  4. 大学计算机基础ppt操作题都考什么,大学计算机基础操作题.ppt
  5. 51单片机智能语音温控摇头电风扇落地扇可红外遥控可PWM调速定时温度显示
  6. java地图完整项目-地图找房(基于百度地图-MongoDB)
  7. 外链代发切勿用群发器
  8. mysql 等距_Python气象绘图教程(十一)
  9. 乌班图系统解决zip解压乱码问题
  10. 室内地图在哪些方面提升了我们的生活便利性?