机器学习
文章平均质量分 84
飞锡2024
算法工程师,paddle/cv girl
展开
-
找出异常点 python
zscore原理:Z-score 基于正态分布理论,它量化了数据点距离数据集平均值的相对标准偏差。通常,如果 Z-score 的绝对值超过某个阈值(如3或更大),该数据点就被认为是异常值。这是因为正态分布下,大约99.7%的数据点应当落在平均值 ± 3标准差的范围内。分位数IQRIQR 方法不依赖于数据的正态分布特性,而是基于数据的四分位数进行异常值检测。它关注的是数据内在的局部变异度,尤其适合处理非正态分布的数据。原创 2024-02-28 16:22:38 · 1226 阅读 · 0 评论 -
《推荐系统实践》 第四章 利用用户标签数据 读书笔记
推荐系统的目的是联系用户的兴趣和物品,这种联系需要依赖不同的媒介。GroupLens在一篇文章(文章名是“Tagsplanations : Explaining Recommendations using Tags”)中表示目前流行的推荐系统基本上通过3种方式联系用户兴趣和物品。如图4-1所示,第一种方式是利用用户喜欢过的物品,给用户推荐与他喜欢过的物品相似的物品,这就是前面提到的基于物品的算法。第二种方式是利用和用户兴趣相似的其他用户,给用户推荐那些和他们兴趣爱好相似的其他用户喜欢的物品,这是前面提到的基原创 2021-10-24 16:43:49 · 832 阅读 · 0 评论 -
《推荐系统实践》 第五章 利用上下文信息 读书笔记
本章之前提到的推荐系统算法主要集中研究了如何联系用户兴趣和物品,将最符合用户兴趣的物品推荐给用户,但这些算法都忽略了一点,就是用户所处的上下文( context)。这些上下文包括用户访问推荐系统的时间、地点、心情等,对于提高推荐系统的推荐系统是非常重要的。比如,一个卖衣服的推荐系统在冬天和夏天应该给用户推荐不同种类的服装。推荐系统不能因为用户在夏天喜欢过某件T恤,就在冬天也给该用户推荐类似的T恤。再举个例子,当用户在中关村打开一个美食推荐系统时,如果这个推荐系统推荐的餐馆都是中关村附近的,显然推荐结果更加能原创 2021-10-17 13:44:49 · 703 阅读 · 0 评论 -
《推荐系统实践》 第二章 利用用户行为数据 读书笔记
用户的行为不是随机的,而是蕴含着很多模式。用户行为数据简介日志:汇总原始日志生成描述用户行为的会话日志。用户行为在个性化推荐系统一般分两种-显性反馈和隐性反馈行为。显性反馈行为包括用户明确表示对物品喜好的行为。隐性反馈行为指的是哪些不能明确反应用户喜好的行为。最具代表性的隐性反馈就是页面浏览行为。互联网用户行为有很多种,比如浏览网页,购买商品,评论,评分等。下图给出一种表示方式,将一个用户行为表示为6部分,即产生行为的用户和行为的对象、行为的种类、产生行为的上下文、行为的内容和权重。比较有代原创 2021-10-11 09:18:55 · 593 阅读 · 1 评论 -
《推荐系统实践》 第七章 推荐系统实例 读书笔记
从上面的结构可以看到,推荐系统要发挥强大的作用,除了推荐系统本身,主要还依赖于两个条件界 面展示和用户行为数据。关于如何设计推荐系统的界面,笔者没有太多的发言权。不过,如果我们看看目前流行的推荐系统界面,可以看到这些界面都有一些共性。通过一定方式展示物品,主要包括物品的标题、缩略图和介绍等。很多推荐界面都提供了推荐理由,理由可以增加用户对推荐结果的信任度。推荐界面还需要提供- - 些按钮让用户对推荐结果进行反馈,这样才能让推荐算法不断改善用户的个性化推荐体验。数据收集和存储需要实时存取的数据原创 2021-10-14 23:06:55 · 222 阅读 · 0 评论 -
《推荐系统实践》 第三章 推荐系统冷启动问题 读书笔记
如何在没有大量用户数据的情况设计个性化推荐系统并且让用户对推荐结果满意从而愿意使用推荐系统,就是冷启动问题冷启动问题简介用户冷启动 用户冷启动主要解决如何给新用户做个性化推荐的问题。当新用户到来时,我们没有他的行为数据,所以也无法根据他的历史行为预测其兴趣,从而无法借此给他做个性化推荐。物品冷启动 物品冷启动主要解决如何将新的物品推荐给可能对它感兴趣的用户这一问题。系统冷启动系统冷启动主要解决如何在-个新开发的网站上(还没有用户,也没有用户行为,只有一些物品的信息)设计个性化推荐系统,从而在网站原创 2021-10-14 23:14:51 · 406 阅读 · 0 评论 -
《推荐系统实践》 第八章 评分预测问题 读书笔记
评分预测问题最基本的数据集就是用户评分数据集。该数据集由用户评分记录组成,每一条评分记录是一个三元组(u,i, r),表示用户u给物品i赋予了评分r,本章用r表示用户u对物品i的评分。因为用户不可能对所有物品都评分,因此评分预测问题就是如何通过已知的用户历史评分记录预测未知的用户评分记录。离线实验方法评分预测问题基本都通过离线实验进行研究。在给定用户评分数据集后,研究人员会将数据集按照一定的方式分成训练集和测试集,然后根据测试集建立用户兴趣模型来预测测试集中的用预测的目的就是找到最好的模型最小化测试原创 2021-10-16 10:28:27 · 764 阅读 · 0 评论 -
《推荐系统实践》 第一章 好的推荐系统 读书笔记
推荐系统的方法按照数据分:协同过滤、内容过滤、社会化过滤按照算法分: 基于邻域、基于图、基于矩阵分解、概率模型好的推荐系统什么是推荐系统?推荐系统的主要任务是什么?推荐系统的主要任务、推荐系统和分类目录以及搜索引擎的区别等...原创 2021-10-10 10:41:13 · 563 阅读 · 0 评论 -
xgboost介绍与实践
数据处理处理缺失值NULL将其看与稀疏矩阵的处理看作一样。在寻找split point的时候,不会对该特征为missing的样本进行遍历统计,只对该列特征值为non-missing的样本上对应的特征值进行遍历,通过这个技巧来减少了为稀疏离散特征寻找split point的时间开销。在逻辑实现上,为了保证完备性,会分别处理将missing该特征值的样本分配到左叶子结点和右叶子结点的两种情形,计算增益后选择增益大的方向进行分裂即可。可以为缺失值或者指定的值指定分支的默认方向,这能大大提升算法的效率。如果在原创 2021-11-17 13:02:59 · 1185 阅读 · 0 评论 -
李宏毅 机器学习回归、分类、聚类、异常检测视频笔记
线性回归1.ModelA set of function一组函数2.Goodness of Function评价函数损失函数 L:输入:函数,输出:衡量模型how bad is3.Bset Funcion挑选最好的函数梯度下降:可微分,找到合适的loss函数衡量error关注测试集误差过拟合隐藏因素独热编码其他隐藏因素正则化b上下平滑,不影响结论where does the error come fromEstimator评原创 2021-11-06 20:29:20 · 377 阅读 · 0 评论 -
RFM、PSM、波士顿矩阵模型简介
RFM模型RFM模型是通过一个客户的近期购买行为、购买的总体频率以及花了多少钱3个维度来描述该客户价值状况的客户分类模型,这3个维度分别表示为:最近一次消费距离现在的时间 (Recency):某段时间内消费频率次数 (Frequency):某段时间内消费金额 (Monetary)计算用户的R,F,M值并且与平均用户的R,F,M值作比较可以对用户进行分类优点:可解释性强缺点:只有消费过的用户才能被统计分类R值、F值、M值的阈值设置会影响到用户的划分,需要多次调整、适用场景:适用快原创 2021-10-18 16:11:44 · 851 阅读 · 0 评论 -
分类、回归算法简单介绍
logistic 回归算法logistic 回归算法使用的是特征的线性组合,最终得到的分隔超平面属于线性模型,只能处理线性可分的二分类问题。优化Logistic Regression算法的优化有两种:对特征进行处理,如核方法,将线性可分的问题转换为近似线性可分的问题进行扩展,如因子分解机因子分解机因子分解机可以处理三类:回归问题二分类问题排序交叉项系数:基本线性回归模型基础上引入交叉项,稀疏数据时,观察样本中未出现交互的特征分量时,不能对参数进行估计。支持向量机分类预测的原创 2022-08-11 10:56:07 · 862 阅读 · 0 评论 -
KNN模型与度量学习
k近邻KNN模型懒惰学习著名代表,此类学习技术在训练阶段仅仅是把样本保存起来,训练时间开销为零,待收到测试样本后再进行处理工作机制:给定测试样本,基于某种距离度量找出训练集中与其最靠近的K个训练样本,然后基于这 个"邻居 “的信息来进行预测 ,在分类任务中可使用"投票法” 即选择这 个样本中出现最多的类别标记作为预测结果;在回归任务中时使用"平均法" ,即将 个样本的实值输出标记平均值作为预测结果;还可基于距离远近进行加权平均或加权投票,距离越近的样本权重越大.示意图:低维嵌入分类、聚类都需要计原创 2022-08-11 09:57:26 · 305 阅读 · 0 评论 -
特征提取介绍和方法
特征变量相关性1.计算相关系数2.画出相关性热力图3.根据相关系数筛选特征变量(适用于判别线性相关)寻找K个与target变量最相关的特征变量(K)然后找出与target变量的相关系数大于0.5的特征变量4.使用树模型的特征重要性选择4.Box-Cox变换由于线性回归是基于正态分布的,因此在进行统计分析时,需要将数据转换使其符合正态分布BoxˉCox变换是统计建模中常用的_种数据转换方法°在连续的响应变量不满足正态分布时,可以使用BoxˉCox变换’这一变换可以使线性回归模型在满足线原创 2022-03-06 08:58:44 · 6091 阅读 · 0 评论 -
聚类sklearn实践
电商销量预测有两个大致的方向:一个是因果推断,从机理出发,基于电商消费行为对销量的刻画,重在对市场营销进行指导,多采用基于概率的方法,虽然精度较差,但是可解释性强;另一个是数据驱动法,也即从数据角度,利用机器学习、深度学习等,主要是与销量,从海量的历史数据和相关数据中发掘信息,随着数据采集、存储难度下降,大规模计算变得越来越容易,通过模型来解决上述问题变得越来越多样,本文将聚焦于当前研究和应用算法,利用R/python来实现。...原创 2021-12-05 11:19:35 · 573 阅读 · 0 评论 -
sklearn的knn模型学习
参考:Scikit Learn - KNN Learning1.6最近邻算法https://scikit-learn.org/stable/user_guide.htmlk-NN 最近邻算法特点非参数化:没有数据分布的假设,模型架构由数据集决定惰性/基于实例机制:不会去构造一个泛化的内部模型,而是简单地存储训练数据的实例。计算步骤1.计算并存储训练集中每个样本的 k 个最近邻域。2.对于未标记的样本,它会从数据集中检索 k 个最近的相邻要素。然后在这些k-最近的邻居中,它通过投票来预测类原创 2021-11-24 15:24:09 · 2406 阅读 · 0 评论 -
推荐算法理论和实践
参考:https://zhuanlan.zhihu.com/p/80069480推荐算法协同过滤算法是基于邻域的算法(也称为基于内存的协同过滤算法),该算法不需要模型训练,基于非常朴素的思想就可以为用户生成推荐结果。还有一类基于隐因子(模型)的协同过滤算法也非常重要,这类算法中最重要的代表就是矩阵分解算法。矩阵分解通过机器学习的手段将用户行为矩阵中缺失的数据(用户没有评分的元素)填补完整,最终达到可以为用户做推荐的目标。...原创 2021-10-09 11:01:23 · 815 阅读 · 0 评论 -
k_mean聚类结果做推荐组合实践
聚类算法参考:https://zhuanlan.zhihu.com/p/143092725对商品 销售周期做聚类数据:字段:‘spid’:商品id‘进货间隔天数中位数’:商品进货周期 data = data.reset_index().drop(['index'],axis=1)#更新索引 def accuracy(real, predict): return sum(real == predict) / float(real.shape[0]) msc =原创 2021-07-28 10:44:17 · 377 阅读 · 0 评论 -
FP-Growth算法实践
关联规则挖掘就是从大量的数据中挖掘出有价值描述数据项之间相互联系的有关知识。关联规则挖掘挖掘关联规则(知识)就是从给定的数据集中搜索数据项(items )之间所存在的有价值联系。基本概念:项集itemset:一个数据项的集合K−项集:一个包含 K 个数据项的项集就称为K−项集支持度:一个项集的出现频度就是整个交易数据集 中包含该项集的交易记录数置信度:繁项集:若一个项集的出现频度大于最小支持度阈值乘以交易记录集 中记录数,那么就称该项集满足最小支持度阈值;而满足最小支持度阈值原创 2021-07-28 10:43:08 · 1213 阅读 · 0 评论 -
商品销量预测
销量预测模型:数据格式如下:说明:并非每个月都有记录,商品可能超过一月进货销售数量可能为负数,代表退货选取进一年的数据,但是商品可能被进货不足一年(商店刚上架不久),或者商品在数据截止日期前就不再存在进货记录(已经停止在该商店销售)思路:1.对商店分类,通过RFM模型,选取购买频率高,金额多的商店来分析2.对商店的商品进行分类,选择模型。(可以根据变异系数划分,商品有新品,热销稳定,长尾不稳定,周期性强的商品)3.根据数据特征选择模型,如果只有商店的销量数据,比起机器学习的方法,如线性原创 2021-07-22 11:32:54 · 3654 阅读 · 0 评论 -
科室推荐实践(随机森林模型)
数据:性别 年龄 症状(实体抽取模型抽取对主诉抽取出症状) 科室1.训练词向量(对症状去重,生成字典,使用pkuseg.pktest()分词并指定词典)2.将对应症状转换为词向量,加上性别,年龄 做随机森林的输入(性别,年龄至关重要,将验证集精准度从42%提高到84%)3.将科室编码4.拟合模型,测试集accuracy 为84%实践中问题和解决办法:Q:如何训练模型?年龄和性别转化为数值,但是症状如何处理?A:首先想到编码,通过把每个症状用一个数值表示,训练后效果太差,因为一个症状和另一个症状原创 2021-06-28 15:51:10 · 235 阅读 · 0 评论 -
pyspark ML包介绍和实践
spark主要的机器学习API是基于DataFrame的一组模型,它们包含在spark.ml包中。包的概述在顶层,该软件包公开了3个主要的抽象类:转换器、评估器、管道。转换器通常通过一个新列附加到DataFrame来转换数据。常用转换器:Banarizer:根据指定的阈值将连续变量转换对应的二进制值Bucketizer:与Banarizer类似,该方法根据阈值列表,将连续变量转换为多项值HashingTF:一个哈希转换器,输入为标记文本的列表,返回一个带有计数器有预定长度的向量IDF:该方原创 2021-05-13 14:18:50 · 1372 阅读 · 2 评论 -
pyspark RDD和PairRDD介绍和实践
pyspark数据预处理实践数据预处理目的数据可能由重复数据,异常数据,未观测数据,等问题,就算数据集可以视为干净的,未了清理数据集进行建模,还需要检查数据特征的分布并且确认它们符合定义的标准PySpark使用简介python中初始化sparkContext先创建一个SparkConf()对象配置应用,然后基于这个SparkConf()创建一个SparkContext对象conf = SparkConf().setMaster('local').setAppName('jieshoutiaozh原创 2021-05-12 17:10:27 · 661 阅读 · 5 评论 -
spark MLlib简单使用
一、基于MLlib的机器学习MLlib是Spark中提供机器学习函数的库,该库专为集群上并行运行的情况而设计MLlib设计理念:把数据以RDD形式表示,然后在分布式数据集上调用各种算法。归根结底,MLlib就是RDD上一系列可调用的函数的集合。注意:MLlib只包含能够在集群上运行良好的并行算法,包括分布式随机森林算法,K-means,交替最小二乘法等,如果用小规模数据集,单节点用scikit_learn,Weka更合适。在spark中,可以通过把参数列表传给parallelize(),来在不同节原创 2021-05-07 15:06:25 · 2738 阅读 · 7 评论 -
机器学习 复习五 关联
项集与规则频繁集frequent itemsets关联规则 association rules序列模式 sequential patterns实例:商品拜访支持度与向量度support(X)=#X/n条件概率最小支持度 最小置信度步骤:找到所有频繁项生成频繁项所有非空子集,校验误区关联规则小于先验概率 tape dvd两个商品概率相差过大 电池,面包相关不等于因果 冰淇淋和犯罪概率Apriori算法重点:任何一个频繁项子集都频繁一个项不频繁,超项不频繁步骤:原创 2020-09-06 11:56:58 · 154 阅读 · 0 评论 -
机器学习 复习四 聚类
无监督学习衡量:处理不规则形状,噪音点K-Means步骤:随机选K个聚集点每个数据被赋值最近聚集点类别使用每个聚集中心点更新重复直到聚点不再移动返回K个中心点坐标优点:简单,对于规则性图形聚类很好,收敛性号 O(t k n)缺点:定K值,可能收敛到局部最优,噪音点影响大Sequential Leader Clustering特点:不需要K 不需要迭代一个点一个点扫描,计算新的数据和每个类重心,如果最小距离小于选择边界,则重新为一个类期望最大法用模型预计高斯混合模型EM算法原创 2020-09-06 10:53:32 · 206 阅读 · 0 评论 -
数据挖掘导论 复习一(介绍+数据预处理方法+定性归纳)
数据挖掘过程和步骤问题定义数据采集数据预处理(数据清洗:数据缺失点补充、离群点异常点检测、重复数据监测等)集成:变换:数据类型变换(离散、连续)、标准化(z_score)、映射(0-1),规约:独热编码、ordinal)建立模型评估和解释知识应用关联算法Apriori算法回归算法线性回归逻辑回归分类算法逻辑回归二分类softmax多分类SVM算法:寻找支持向量,由此构造出的分类器可以最大化类与类的间隔基于决策树:ID3 算法、C4.5 算法(信息增益率)、C5.0算法原创 2021-01-24 17:14:59 · 7420 阅读 · 0 评论 -
决策树、贝叶斯统计、集成学习Bagging、Boosting、Stacking介绍
决策树关键:如何选择最优划分属性信息增益度量样本集合纯度最常用的一种指标信息增益准则对可取值数目较多的属性有所偏好,为减少这种偏好可能带来的不利影响,使用"增益率" (gain ratio) 来选择最优划分属性信息增益率:(C4.5算法)增益率准则对可取值数目较少的属性有所偏好,因此 , C4.5算法并不是直接选择增益率最大的候选划分属性,而是使用了一个启发式:先从候选划分属性中找出信息增益高于平均水平的属性,再从中选择增益率最高的基尼系数(CART):数据集 D 中随机抽取两个样本原创 2020-08-08 09:10:37 · 1014 阅读 · 0 评论 -
机器学习 复习二(支持向量机介绍)
激活函数:反向传播算法BP:基于梯度下降策略:由于负梯度方向是函数值下降最快的方向,因此梯度下降法就是沿着负梯度方向搜索最优解。学习速率:控制着算法每一轮迭代中的更新步长, 太大则容易震荡,太小则收敛速度又会过慢常设置为 η=0. 1.全局最小与局部最小:跳出局部极小方法随机梯度下降:在计算梯度时加入了随机因素.于是即便陷入局部极小点?,它计算出的梯度仍可能不为零3 这样就有机会跳出局部极小继续搜索模拟退火:模拟退火在每一步都 以一定的概率接受 比当前解更差的结果,从而有助于 "跳出"局部原创 2020-08-07 16:18:02 · 241 阅读 · 0 评论