20、数据分析直观处理

​ 应用场景:

​ 个性化推荐:个性化指的是根据各种因素来改变用户体验和呈现给用户内容,这些因素可能包含用户的行为数据和外部因素;推荐常指系统向用户呈现-一个用户可能感兴趣的物品列表。
​ 精准营销:从用户群众中找出特定的要求的营销对象。
​ 客户细分:试图将用户群体分为不同的组,根据给定的用户特征进行客户分组。
​ 预测建模及分析:根据已有的数据进行建模,并使用得到的模型预测未来。

​ 如:朴素贝叶斯处理垃圾短信,K-means处理商店选址

机器学习开发流程:

​ 数据收集(成本最高)→数据清洗(包括数据分析和挖掘的过程,在后半段)→特征工程(独热编码、特征化····)→数据建模→模型反馈数据

​ 模型训练的过程需要不断修改模型,往后的数据带入也要进行修改,实际投入使用也是在这个环节不断进行维护,让模型越来越优

​ 数据太少容易欠拟合,模型成型效果差

​ 数据重复值过多容易过拟合

​ 实际处理过程耗时需要半年起步

数据收集:

​ 数据来源:

​ 用户访问行为数据
​ 业务数据
​ 外部第三方数据
​ 数据存储:
​ 需要存储的数据:原始数据、预处理后数据、模型结果
​ 存储设施: mysql、HDFS、 HBase、 Solr、 Elasticsearch(搜索平台)、 Kafka(大数据的消息队列)、 Redis等
​ 数据收集方式:
​ Flume & Kafka

数据预处理:

​ 实际生产环境中机器学习比较耗时的一部分

​ 大部分的机器学习模型所处理的都是特征,特征通常是输入变量所对应的可用于模型的数值表示
​ 大部分情况下,收集得到的数据需要经过预处理后才能够为算法所使用,预处理的操作主要包括以下几个部分:
​ 数据过滤
​ 处理数据缺失
​ 处理可能的异常、错误或者异常值
​ 合并多个数据源数据(无法单独表示的一些数据需要进行合并)
​ 数据汇总

1、特征缩放:

​ 直接求解缺点:

​ x (1)特征对应权重会比x (2) 对应的权重小很多,降低模型可解释性(未进行该处理的会出现多次不必要的迭代)
​ 梯度下降时,最终解被某个特征所主导,会影响模型精度与收敛速度
​ 正则化时会不平等看待特征的重要程度(尚未标准化就进行L1/L2正则化是错误的)
​ 特征缩放:
​ 规范化(归一化)(把特征数据用0到1之间的值来表示)或标准化(用标准正态分布的方式)

​ 标准化使用较多,因为归一化会出现0,影响最后的计算结果

​ 注意:

​ 1.当对新数据进行特征缩放时,应使用训练集的缩放规则(不能随意更改缩放规则)
​ 2.特征缩放只对带有权重和距离计算的算法有作用(KNN需要,但决策树不需要,决策树用if-else的逻辑判断来处理就可以,决策树也不用进行独热编码和特征拓展)(集成学习、随机森林都是不用进行特征缩放的,运算就会节省很多时间)

2、缺失值处理:

​ 方法一:

​ 直接删除有缺失的样本(缺失值只占万分之一的时候才好用)
​ 优点:简单
​ 缺点:浪费资源,无法处理有大量缺失值的任务
​ 方法二:
​ 用平均值、中值、分位数、众数、随机值等替代(缺失值只占少量的时候可以用)
​ 优点:简单
​ 缺点:人为增加了噪声
​ 方法三:
​ 用其他变量做预测模型来算出缺失变量。(通过其他数据推测出缺失值)
​ 看似更符合实际,但是如果其他变量和缺失变量无关,则预测的结果无意义
​ 方法四:
​ 最精确的做法,把变量映射到高维空间。(升维)
​ 比如性别,有男、女、缺失三种情况,则映射成3个变量:是否男、是否女、是否缺失。

3、类别不平衡处理:

​ (1)欠采样

​ 去除- -些反例(假设反例多),使得正、反例数目接近,然后再学习
​ 优点:速度快
​ 缺点:可能会丢失一-些重要信息
​ (2)过采样
​ 增加一些正例,使得正、反例数目接近,然后再学习
​ 优点:保持数据信息
​ 缺点:可能会过拟合(在这是重复度太高导致)
​ (3)代价敏感学习(平衡权重才是一种好的处理方式)
​ 给某类样本更高的权重,比如,正例是反例的一半,那么正例的权重就是反例的2倍,在sklearn中由class_ weight(类别权重)指定
​ 优点:速度快、降低过拟合风险
​ 缺点:需要算法支持带权学习(不支持这种带权学习的是用不了的)

4、TF-IDF:

​ 在一一个大的文本语料库中,-些单词将非常存在(例如英语中的"the"、 “a” 、"is”),因此对文档的实际内容几乎没有任何有意义的信息。如果我们把直接计数数据直接输入分类器,那么这些非常频繁的术语将掩盖更罕见但更有趣的术语的频率。

​ 为了将计数特性重新加权为适合分类器使用的浮点值,通常使用tf- idf转换。
​ tf是指术语频率, tf-idf是指术语频率乘以反向文档频率:
​ tf-idf(t,d) = tf(t,d) x idf(t)

​ nd表示有多少个样本,df(d,t)中t表示某字,d代表样本,df(d,t)就是出现t这个字的样本有多少个

​ 某个词在样本中出现的越少,idf(t)的权重就越大

​ nd代表样本的数量,df在计算出文档A中的各个单词在出现在样本中的频数df

模型测试评估:

​ 模型选择:对特定任务最优建模方法的选择或者对特定模型最佳参数的选择。

​ 回归(线性回归,多项式回归,决策树,随机森林(最常用),AdaBoost(最常用), GBDT(最常用), SVM, KNN)
​ 分类(逻辑回归,决策树,随机森林(最常用),AdaBoost(最常用), GBDT(最常用), SVM,朴素贝叶斯(最常用),KNN)
​ 聚类(K-means(最常用), GMM,DBSCAN)
​ 在训练数据集_上运行模型(算法)并在测试数据集中测试效果,迭代进行数据模型的修改,这种方式被称为交叉验证(将数据分为训练集和测试集,使用训练集构建模型,并使用测试集评估模型提供修改建议)
​ 留出法(hold-out) :一部分为训练集,一部分为测试集。

​ 应尽量保证数据分布的一致性。
​ 划分比例: 7:3左右
​ 交叉验证法(k-fold cross validation) (其中的网格搜索交叉验证法使用最多):划分为k个互斥子集,用k- 1作为训练集,剩下一个为测试集,最终每一个子集都会作为测试集, 其余子集作为训练集,共进行k次建模,最终得到测试结果的均值。
​ K取值一-般为10
​ 随机取k个互斥子集,进行p次,最后对p个k-fold cv进行取平均,叫作p次k折交叉验证
​ 模型的选择会尽可能多的选择算法进行执行,并比较执行结果
​ 模型的测试一般以下几个方面来进行比较,不同算法使用不同的评估方式
​ 回归(mse, rmse, mae, R2)
​ 分类(accuracy, precision, recall, roc, auc):比如混淆矩阵
​ 聚类(sse(手肘法的核心指标,分得越细,误差平方和就越小,下降的时候从急促到平缓的阶段出最佳值),轮廓系数等):单靠手肘法判断出来不明确,这时就可以再用轮廓系数(s(i)为1是最好的)

数据挖掘或分析中,二分类的模型比多分类的模型要多得多

模型布置整合:

​ 当模型构建好后,将训练好的模型存储到数据库中,方便其它使用模型的应用加载(构建好的模型一般为一个矩阵)

​ 模型构建:耗时半年或更长

​ 模型需要周期性
​ 布署时间:一个月、一周
​ 由于项目上线后会根据不同情况有所调整,需要进行对模型进行迭代更新,根据实际情况进行调整

常用机器学习算法:

回归(首选集成学习):

​ 线性回归

​ 最基础的算法,可以配合正则化,多项式进行处理
​ 决策树(Decision Tree)
​ 使用最大方差方式进行回归预测,操作不当可能出现过拟合或者欠拟合
​ KNN (K近邻)
​ 采用距离方式预测回归数值,在大数据中不好计算,不好确定K值选择
​ SVM (支持向量机)(在传统的模式识别使用最多,如人脸识别)
​ 可以用作回归,是单一学习器中效果最好的一-种
​ 集成学习(随机森林, GBDT, AdaBoost)(最优最强大的亮点是底层都是使用决策树的,可以避免使用独热处理、特征缩放、特征拓展等等,节省大量时间)
​ 采用多个弱学习器进行计算操作效果,相比于单一学习器能够达到更高精度,但是会牺牲计算时间

分类(在机器学习和深度学习中很多问题都是分类的问题,线性问题较少):

​ 逻辑回归(LR)(因速度最快所以应用最多,推荐算法首先要进行的就是逻辑回归,其sigmoid函数是深度学习最早使用来处理的)
​ 速度最快的算法,可以很快对分类进行运算, 是大多是组合模型中初步筛选模型, 使用范围广泛
​ 决策树(Decision Tree)
​ 使用多种算法进行分类处理,但是需要进行剪枝处理,避免过拟合
​ KNN (K近邻)
​ 采用距离方式预测分类结果,在大数据中不好计算,不好确定K值选择
​ 朴素贝叶斯(比如:先用TF-IDF预处理然后朴素贝叶斯进行词频统计得到情感预测)
​ 常用作文本分类,可以得到很好的处理效果
​ SVM
​ 最好的单体学习器,可以使用该算法得到更好的鲁棒性

​ 所有样本点都是可以用向量来表示的

​ 集成学习(随机森林, GBDT, AdaBoost)
​ 采用多个弱学习器进行计算操作效果,相比于单一学习器能够达到更高精度, 但是会牺牲计算时间

聚类(K-means是最常用的):

​ K-means

​ 最简单好理解的聚类算法,需要设定K值进行计算,不能处理非凸数据集
​ DBSCAN
​ 通过密度进行处理,可以找到高密度区域,有查找噪音的能力
​ GMM
​ 能够对符合高斯分布的样本进行聚类处理,效果明显

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

T o r

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值