推荐系统与机器学习
文章平均质量分 67
推荐系统与机器学习
浊酒南街
纵使疾风起,人生不言弃。
展开
-
python中的正则表达式
正则表达式是指专门用于描述或刻画字符串内在规律的表达式。原创 2024-04-10 11:13:28 · 428 阅读 · 0 评论 -
机器学习:Matplotlib之其他函数
在plt.plot()里添加label属性后,可调用plt.legend(),产生legend。dpi:指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80。clear:是否清除原来的画布,默认False自动创建新画布。figsize=(长,宽):画布尺寸,常用,单位为英寸。num:画布序号,一般默认是从1递增。facecolor:背景色,默认白色。edgecolor:边缘色,默认白色。figure函数:创建画布。legend函数:创建图例。字符串中不可以包含中文。字符串中不可以包含中文。原创 2023-05-18 10:12:54 · 85 阅读 · 0 评论 -
推荐系统:推荐算法详解五(CF)
它们所不同的是如何计算用户的相似度:基于人口统计学的机制只考虑用户本身的特征,而基于用户的协同过滤机制是在用户的历史偏好的数据上计算用户的相似度,它的基本假设是,喜欢类似物品的用户可能有相同或者相似的口味和偏好;基于物品的协同过滤推荐的基本原理与基于用户的类似,只是使用所有用户对物品的偏好,发现物品和物品之间的相似度,然后根据用户的历史偏好信息,将类似的物品推荐给用户;基于用户的协同过滤推荐的基本原理是:根据所有用户对物品的偏好,发现与当前用户口味和偏好相似的邻居用户群,并推荐近邻所偏好的物品;原创 2023-05-24 10:16:05 · 249 阅读 · 0 评论 -
推荐系统:推荐算法详解五(LFM)
基于模型的协同过滤推荐,就是基于样本的用户偏好信息,训练一个推荐模型原创 2023-05-29 16:47:00 · 215 阅读 · 0 评论 -
推荐系统:推荐算法详解三
对于以上让座问题中的年龄特征,对于一些模型,假设模型为y=θ x,输入的x(年龄)对于最后的贡献是正/负相关的,即x越大越应该让座,但很明显让座问题中,年龄和是否让座不是严格的正相关或者负相关,这样只能兼顾年龄大的人,无法将年龄大的人和年龄小的人;例如房屋的价格和住房面积的幅度是不同的,房屋价格可能在3000000-15000000之间,而住房面积在40-300平方米之间,那么明明是平等的两个特征,输入到相同的模型后由于本身的幅值不同导致产生的效果不同,这是不合理的,需做归一化处理;原创 2023-05-23 15:50:43 · 173 阅读 · 0 评论 -
机器学习:无监督学习
所谓无监督学习,是指利用无标签的数据学习数据的分布或者数据之间的关系;下面通过跟监督学习的对比来理解无监督学习:监督学习是一种目的明确的训练方式,你知道得到的是什么;而无监督学习则是没有明确目的的训练方式,你无法提前知道结果是什么。监督学习需要给数据打标签;而无监督学习不需要给数据打标签。监督学习由于目标明确,所以可以衡量效果;而无监督学习几乎无法量化效果如何。原创 2023-05-15 20:03:54 · 793 阅读 · 0 评论 -
Python list函数
list()函数是Python的内置函数。它可以将任何可迭代数据转换为列表类型,并返回转换后的列表。当参数为空时,list函数可以创建一个空列表。list(object) #object 待转换为列表的数据类型 可省略的参数#示例##将字符串转换为列表 arr1 = list("abc") print(arr1) ##将元组转换为列表 tuple =('a' , 'b' , 'c') test = list(tuple) print(test) ##将字典转换为列表 dict = {原创 2023-05-30 15:22:03 · 374 阅读 · 0 评论 -
机器学习:Matplotlib之sublplot函数
Matplotlib 是Python中类似 MATLAB 的绘图工具,熟悉 MATLAB 也可以很快的上手 Matplotlib;原创 2023-05-17 17:31:33 · 331 阅读 · 0 评论 -
机器学习:LFM梯度下降代码实现
【代码】机器学习:LFM梯度下降代码实现。原创 2023-05-29 20:36:02 · 52 阅读 · 0 评论 -
机器学习:sklearn中的make_blobs的用法
sklearn中的make_blobs函数主要是为了生成数据集的;原创 2023-05-17 10:27:43 · 218 阅读 · 0 评论 -
推荐系统:推荐算法详解一
基于人口统计学的推荐机制(Demographic-based Recommendation)是一种最易于实现的推荐算法,它只是简单的根据系统用户的基本信息发现用户的相关程度,然后将相似用户喜欢的其他物品推荐给当前用户;作为大数据的根基,它完美地抽象出一个用户的信息全貌,为进一步精准、快速地分析用户行为习惯、消费习惯等重要信息,提供了足够的数据基础;常用的推荐算法包括基于人口统计学的推荐,基于内容的推荐,基于协同过滤的推荐,这里单讲基于人口统计学的推荐;原创 2023-05-23 10:46:46 · 117 阅读 · 0 评论 -
Python中集合的union()方法
描述:union() 取并集,效果等同于 | ,重复元素只会出现一次,但是括号里可以是 list,tuple,其他 , 甚至是 dict。原创 2023-05-24 19:54:55 · 165 阅读 · 0 评论 -
机器学习:Sklearn的train_test_split用法
Code意义train_data待划分的样本特征集合x_train划分出的训练数据集数据y_train划分出的训练数据集的标签x_test划分出的测试数据集数据y_test划分出的测试数据集的标签test_size若在0~1之间,为测试集样本数目与原始样本数目之比;若为整数,则是测试集样本的数目随机数种子,不同的随机数种子划分的结果不同stratify。原创 2023-05-11 11:33:38 · 642 阅读 · 0 评论 -
机器学习:plt.scatter()函数
调用方法:plt.scatter(x, y, s, c, marker, cmap, norm, alpha, linewidths, edgecolorsl)cmap: 指定特定颜色图,该参数一般不用,有默认值。‘pentagram’ 或 ‘p’ 五角星(五角形)‘hexagram’ 或 ‘h’ 六角星(六角形)edgecolors: 设置散点边框的颜色。linewidths: 散点边框的宽度。‘diamond’ 或 ‘d’ 菱形。‘square’ 或 ‘s’ 方形。alpha: 散点的透明度。原创 2023-05-22 20:36:15 · 1205 阅读 · 0 评论 -
python中dict里的fromkeys用法
用法:创建并返回一个新的字典。两个参数:第一个是字典的键,第二个(可选)是传入键的值,默认为None。value – 可选参数, 设置键序列(seq)对应的值,默认为 None。发现不能把123分别赋值给one,two,three。fromkeys() 方法语法。seq – 字典键值列表。原创 2023-05-24 19:36:30 · 1335 阅读 · 0 评论 -
机器学习:np.random相关函数
其返回结果中的每一个元素是服从0~1均匀分布的随机样本值原创 2023-05-22 22:44:25 · 313 阅读 · 2 评论 -
numpy常用方法总结
机器学习中会经常使用numpy下的函数,需要明确方法的功能及使用的注意事项,多练习,才能熟能生巧;原创 2023-11-10 17:11:07 · 119 阅读 · 0 评论 -
机器学习模型:决策树
决策树(decision tree)是一种简单高效并且具有强解释性的模型,广泛应用在数据分析领域。其本质是一颗自上而下的由多个判断节点组成的数;原创 2023-05-11 20:40:13 · 227 阅读 · 0 评论 -
机器学习:逻辑斯蒂回归
原理:逻辑斯谛回归(logistic regression)是经典的分类方法,它属于对数线性模型,原理是根据现有的数据对分类边界线建立回归公式,以此进行分类。定义:在线性回归模型的基础上,使用Sigmoid函数,将线性模型的结果压缩到[0,1]之间,使其拥有概率意义,它可以将任意输入映射到[0,1]区间,实现值到概率转换。原创 2023-05-11 16:14:58 · 479 阅读 · 0 评论 -
推荐系统:推荐算法详解二
Content-based Recommendations(CB)根据物品或内容的元数据,发现物品的相关性,再基于用户过去的喜好记录,为用户推荐相似的物品。将用户(user)个人信息的特征(基于喜好记录或是预设兴趣标签),和物品(item)的特征相匹配,就能得到用户对物品感兴趣的程度;在一些电影、音乐、图书的社交网络有很成功的应用,有些网站还请专业的人员对物品进行基因编码/打标签(PGC)专家标签(PGC),用户自定义标签(UGC),降维分析数据,提取隐语义标签(LFM)对物品的特征提取:打标签(tag)原创 2023-05-23 14:36:30 · 74 阅读 · 0 评论 -
机器学习:pandas-DataFrame的基本操作
pandas中经常会使用到的是表结构的数据结构:DataFrame(pandas读取csv文件返回的就是DataFrame数据类型),下面是关于DataFrame的一些基本操作。原创 2023-05-30 15:00:35 · 146 阅读 · 0 评论 -
机器学习:iris数据集
iris数据集的中文名是安德森鸢尾花卉数据集,英文全称是Anderson`s Iris data set。iris包含150个样本,对应数据集的每行数据。每行数据包含每个样本的四个特征,所以iris数据集是一个150行4列的二维表。原创 2023-05-10 20:36:38 · 2070 阅读 · 0 评论 -
numpy函数浅析
最近机器学习中用到numpy,发现里面的很多函数,都不太了解,所以总结一下,以加深理解;原创 2023-05-10 20:13:02 · 53 阅读 · 0 评论 -
机器学习:TF-IDF代码实现
1.定义数据和预处理 docA = "The cat sat on my bed The man i hate it" docB = "The dog sat on my knees The girl i like it" bowA = docA . split(" ") bowB = docB . split(" ") print(bowA) print(bowB) # 构建词库 wordSet = set(bowA) . union(set(bowB)) print(wordSet)原创 2023-05-24 15:53:13 · 259 阅读 · 0 评论 -
python中for循环的用法
在python 中,for 循环的基本使用方法如下expression其中sequence 为可迭代的对象,item 为序列中的每个对象可以分为以下两类:一类是列表list,元组tuple,字典dict,set集合,str字符串等的集合数据类型一类是generator,包括生成器和带yield的generator function。原创 2023-05-30 11:11:22 · 688 阅读 · 0 评论 -
机器学习模型:KNN算法代码实现
KNN(K-Nearest Neighbor,KNN)是监督学习中一种基本的分类方法,通过测量不同特征值之间的距离进行分类。它的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别;原创 2023-05-10 19:22:18 · 221 阅读 · 0 评论 -
机器学习:kMeans 聚类
聚类,简单来说,就是将一个庞杂数据集中具有相似特征的数据自动归类到一起,称为一个簇,簇内的对象越相似,聚类的效果越好。2.当任意一个点的簇分配结果发生改变时(不改变时算法结束),对数据集中的每个数据点,对每个质心,计算质心与数据点之间的距离,将数据点分配到距其最近的簇;2.重复:对每个样本点,计算得到距其最近的质心,将其类别标记为该质心所对应的cluster,重复计算k个cluster对应的质心;3.对每一个簇, 计算簇中所有点的均值并将均值作为质心,不断迭代,直至质心位置不发生改变(误差范围内);原创 2023-05-16 15:51:49 · 86 阅读 · 0 评论 -
机器学习:kmeans代码实现
核心思想:由用户指定K个初始质心(initial centroids),以作为聚类的类别(cluster),重复迭代直至算法收敛;2.重复:对每个样本点,计算得到距其最近的质心,将其类别标记为该质心所对应的cluster,重复计算k个cluster对应的质心;k均值(k-means)是聚类算法中最为简单、高效的,属于无监督学习算法;1.选取k个初始质心(作为初始cluster)3.直到质心不在发生改变或迭代达到上线;原创 2023-05-22 19:00:19 · 141 阅读 · 0 评论 -
机器学习:Matplotlib之plot函数
Matplotlib是一个Python 2D绘图库,它以多种硬拷贝格式和跨平台的交互式环境生成出版物质量的图形。Matplotlib可用于Python脚本,Python和IPython Shell、Jupyter笔记本,Web应用程序服务器和四个图形用户界面工具包。中文文档官方网站:https://www.matplotlib.org.cn/intro/下面介绍Matplotlib库中常用的几个函数;首先调用Matplotlib库。原创 2023-05-17 15:37:23 · 1362 阅读 · 0 评论 -
推荐系统:模型的求解算法ALS
现在,矩阵因子分解的问题已经转化成了一个标准的优化问题,需要求解P、Q,使目标损失函数取最小值最小化过程的求解,一般采用随机梯度下降算法或者交替最小二乘法来实现交替最小二乘法(Alternating Least Squares ,ALS)ALS的思想是:由于两个矩阵P和Q都未知,且通过矩阵乘法耦合在一起,为了使它们解耦,可以先固定Q,把P当做变量,通过损失函数最小化求出P,这是一个经典的最小二乘问题;再反过来固定P,把Q当作变量,求解出Q:如此交替执行,直到误差满足阈值条件,护着到达迭代上线;原创 2023-05-29 17:25:43 · 144 阅读 · 0 评论 -
推荐系统:推荐算法详解四(TF-IDF)
借鉴TF-IDF的思想,以一个物品的所有标签作为‘文档’,标签作为‘词语’,从而计算标签的‘词频’(在物品所有标签中的频率)和‘逆文档频率’(在其他物品标签中出现的频率)一个用户标签行为的数据集一般由三元素(用户,物品,标签)的集合表示,其中一条记录(u,i,b)表示用户u给物品i打上了标签b;用户用标签来描述对物品的看法,所以用户生成标签(UGC)是联系用户和物品的纽带,也是反应用户兴趣的重要来源。对于一个用户,首先找到他常用的标签,然后找到具有这些标签的最热门的物品,推荐给他。原创 2023-05-23 19:20:29 · 251 阅读 · 0 评论 -
numpy函数浅析2
对于np.argmin(a, axis= 0)返回的结果是沿着a x i s = 0 取最小,因为a . s h a p e = ( 2 , 3 , 2 ) ,所以此处是a x i s = 0 上2个数比较得到一个s h a p e = ( 3 , 2 )的矩阵。同理 axis = 1时,得到一个s h a p e = ( 2 , 2 )的矩阵,axis = 2时,得到一个s h a p e = ( 2 , 3 )的矩阵;为什么示例2,axis =0,1,2时,索引最小值矩阵是这样的?原创 2023-05-17 11:27:52 · 39 阅读 · 0 评论 -
机器学习模型:KNN最邻近分类算法
KNN(K-Nearest Neighbor)最邻近分类算法是数据挖掘分类(classification)技术中最简单的算法之一,其指导思想是”近朱者赤,近墨者黑“,即由你的邻居来推断出你的类别;KNN(K-Nearest Neighbor,KNN)是监督学习中一种基本的分类方法,通过测量不同特征值之间的距离进行分类。它的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别,其中k通常是不大于20的整数;原创 2023-05-10 11:24:25 · 206 阅读 · 0 评论 -
Python中数组切片的用法详解1
1.list和numpy.ndarray是两种数据类型,区别可以看[]里面是否有逗号,有则是list,否则是numpy.ndarray。使用方法[start: end : step ],也就是[ 起始下标 : 终止下标 : 间隔距离 ]4.x[1:]表示取下标为1以及之后的全部,x[:3]表示取下标为3之前的但不包括3的所有;3.x[::2]和x[::-2],2表示step ,间隔距离,区别一个是正取,一个是倒取;2.::代表所有,取所有元素,::-1,表示倒序取所有;只适用numpy的科学数据结构。原创 2023-05-09 20:56:13 · 1779 阅读 · 0 评论 -
机器学习模型:线性回归调sklearn库实现
Sklearn (全称 Scikit-Learn) 是基于 Python 语言的机器学习工具。它建立在 NumPy, SciPy, Pandas 和 Matplotlib 之上,里面的 API 的设计非常好,所有对象的接口简单,很适合新手上路。在 Sklearn 里面有六大任务模块:分别是分类、回归、聚类、降维、模型选择和预处理,如下图从其官网的截屏。原创 2023-05-09 17:24:05 · 187 阅读 · 0 评论 -
机器学习模型:线性回归梯度下降法
5:测试:运行梯度下降算法计算最优的w和b。1:导入数据,data.csv。4:定义核心梯度下降算法函数。退化到一元线性回归,就有。3:定义模型的超参数。原创 2023-05-09 16:55:00 · 86 阅读 · 0 评论 -
机器学习模型:监督学习之回归模型
给定有d个属性(特征)描述的示例x=(x1;基于均方误差最小化进行模型求解的方法称为"最小二乘法"(least square method),它的主要思想就是选择未知参数,使得理论值与观测值之差的平方和达到最小。本质和目标相同,两种方法都是经典的学习算法,在给定已知数据的前提下利用求导算出一个模型(函数),使得损失函数最小,然后对给定的新数据进行估算预测;效果:最小二乘法如果有解,找到的一定是全局最小,梯度下降法一般找到的是局部最小,只有目标函数是凸函数时才是全局最小,梯度下降对初始值的选择极为敏感。原创 2023-05-09 11:09:43 · 70 阅读 · 0 评论 -
机器学习基础:监督学习深入介绍二
通俗地讲,分类问题就是预测数据属于哪一种类型,比如上面的房屋出售预测,提供房屋的一些特征,预测房屋能不能出售出去,回归问题就是预测一个数值,比如给出房屋的一些特征,预测房价;分类问题解决方法:K近邻,决策树,感知机,逻辑斯蒂回归(Logistic回归)、支持向量机,朴素贝叶斯,神经网络等;损失函数是系数的函数,如果系数沿着损失函数的负梯度方向变化,此时损失函数减少最快,能够以最快速度下降到极小值。回归问题的学习等价于函数拟合:选择一条函数曲线,使其很好地拟合已知数据,并且能够很好地预测未知数据;原创 2023-05-08 20:03:31 · 71 阅读 · 0 评论 -
机器学习模型:线性回归最小二乘法
基于均方误差最小化进行模型求解的方法称为“最小二乘法”(least square method)它的主要思想就是选择未知参数,使得理论值与观测值之差的平方和达到最小;1.导入数据,data.csv。3.定义算法拟合函数。原创 2023-05-08 17:50:25 · 129 阅读 · 0 评论 -
机器学习基础:监督学习深入介绍
过拟合:把训练数据学习的太彻底,以至于把噪声数据的特征也学习到了,特征集过大,这样就会导致在后期测试的时候不能够很好地识别数据,即不能正确的分类,模型泛华能力太差,称之为过拟合(over-fitting);欠拟合:模型没有很好的捕捉到数据特征,特征集过小,导致模型不能很好地拟合数据,称之为欠拟合(under-fitting)它的思想是:在所有坑选择的模型中,我们应该选择能够很好地解释一致数据并且十分简单的模型;我们将用来训练模型的数据称为训练集,将用来预测模型好坏的集合称为测试集;原创 2023-05-08 19:13:40 · 587 阅读 · 0 评论