
Python算法
文章平均质量分 53
还是那个同伟伟
百万代码中取bug首级
展开
-
Python协同过滤推荐算法(Collaborative Filtering)2.相似度的计算,相似度计算方法
1.数据分类实物值(物品或者其他的评分) 布尔值(是或者否的行为),1,0这种布尔值,表肯定或者否定的行为2.余弦相似度度量的是两个向量之间的夹角,用夹角的余弦值来度量相似的情况 两个向量的夹角为0时余弦值为1,当夹角为90°时余弦值为0,当夹角为180°时余弦值为-1 余弦相似度在度量文本相似度,用户相似度,物品相似度的时候较为常用 余弦相似度的特点,与向量长度无关,余弦相似度计算要对向量长度归一化,两个向量只要方向一致,无论程度强弱,都可以视为‘相似’如图:说明: ...原创 2022-03-12 21:43:48 · 958 阅读 · 0 评论 -
Python协同过滤推荐算法(Collaborative Filtering)1.概念和思想以及大致步骤
1.算法思想 物以类聚,人以群分2.基本的协同过滤算法基于一下的假设基于用户的协同过滤推荐(User-based CF):跟你喜好相似的人喜欢的东西你也很有可能喜欢 基于物品的协同过滤推荐(Item-based CF): 跟你喜欢的东西相似的东西你也有可能喜欢3.实现协同过滤推荐的步骤找出最相似的人或者物品:通过计算两两的相似度来进行排序,即可找出最相似的人或物品 根据相似的人或者物品产生推荐结果:找出最相似的人或者物品的前N名结果生成初始的推荐结果,然后过滤掉用户已经有过记录...原创 2022-03-03 18:07:18 · 1425 阅读 · 0 评论 -
Python中的AES解密和加密,爬虫时碰见AES加密怎么办?
# coding=utf-8from Crypto.Cipher import AESimport base64import timeimport jsonclass Decrypt: def __init__(self, key, iv): self.key = key.encode('utf-8') self.iv = iv.encode('utf-8') def pkcs7padding(self, text): "..原创 2022-02-25 17:45:36 · 1170 阅读 · 1 评论 -
Python求水仙花数
1.什么是水仙花数 所谓“水仙花数”,是指一个3位数,其各位数字的立方和等于该数本身。 例如: 153是一个“水仙花数”,因为153 =原创 2020-11-11 20:38:46 · 1119 阅读 · 2 评论 -
4.Python算法之试探算法思想(回溯法)
1.什么是试探算法? 试探算法也叫回溯法,试探算法的处事方式比较委婉,它暂时放弃关于问题规模大小的限制,并将问题的候选解按某种顺序逐一枚举和检验。当发现当前候选解不可能是正确的解时,就选择下一个候选解。如果当前候选解不满足问题规模要求外, 能够满足所有其他要求,则继续扩大当前候选解的规模,并继续试探。如果当前候选解满足包括问题规模在内的所有要求,该候选解就是问题的一个解。在试探算法中,放弃当前候选解,并继续寻找下一个候选解的过程称为回溯。扩大当前候选解的规模,并继续试探的过程称为向前试探。2...原创 2020-11-11 20:01:04 · 494 阅读 · 0 评论 -
3.Python算法之贪心算法思想
贪心算法1.什么是贪心算法2.贪心算法的特点和思路3.贪心算法的缺点4.贪心算法的基本思路5.贪心算法的基本过程6.贪心算法解决“找零”问题6.贪心算法解决“汽车加油”问题1.什么是贪心算法 贪心算法也称为贪婪算法,它在求解问题时,总想用当前看来最好的方法来实现。这种算法思想不从整体最优上考虑问题,而仅仅考虑某种意义上的局部最优来求解问题。虽然贪心算法并不能得到所有问题的整体最优解,但是当面对范围相当广泛的许多问题时,能产生整体最优解或整体最优解的近似值。由此...原创 2020-10-20 17:23:25 · 593 阅读 · 0 评论 -
2.Python算法之分治算法思想
1.什么是分治算法? 分治算法就是对一个问题采取各个击破的方法,将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。只要求出子问题的解,就可得到原问题的解。2.为什么需要分治算法? 在编程过程中,经常遇到处理数据相当多、求解过程比较复杂、直接求解比较耗时的问题。 在求解这类问题时,可以采用各个击破的方法。3.分治算法基础 具体做法是:先把这个问题分解成几个较小的子问题,找到求出这几个子问题的解法后,再找到合适的方法,把它们组......原创 2020-10-13 22:26:48 · 2711 阅读 · 1 评论 -
1.Python算法之枚举算法
1.什么是枚举算法? 枚举算法也叫穷举算法,最大特点是在面对任何情况时会尝试每一种解决方法。在进行归纳推力时,如果逐个考察了某类事件的所有可能情况,因而得出一般结论,那么这个结论是可靠的,这种归纳方法叫做枚举法2.枚举算法的基础 枚举算法的思想是:将问题的所有可能的答案一一列举,然后根据条件判断答案是否合适,保留合适的,丢弃不合适的。 python中一般用while循环或if语句实现。 使用枚举算法的基本思路: (1)确定枚举对象、枚举范围...原创 2020-09-29 16:04:01 · 8333 阅读 · 0 评论