【郑捷《机器学习算法原理与编程实践》学习笔记(第四章 推荐系统原理)(二)kmeans】教程文章相关的互联网学习教程文章

数据结构与算法学习笔记——栈ADT C++实现【代码】【图】

数据结构与算法学习笔记——栈ADT C++实现 1 特点2 包含的操作3 实现方式3.1 基于数组实现(应用较多)3.2 基于单链表实现1 特点 栈的数据结构为线性结构 栈只能在同一位置进行插入和删除,这个位置叫做栈顶。后进先出(LIFO),生活中的例子有坐电梯、去西红门绞肉机坐地铁 2 包含的操作 入栈(压栈)出栈(弹出)读栈顶元素 3 实现方式 3.1 基于数组实现(应用较多) 基于数组实现(非vector)的空间是静态的,空间不能再扩展,因...

(学习笔记)K-Means算法原理及其python实现【代码】

1.基本K-Means算法 K-Means算法是较为常用的聚类算法,其目标是将数据点划分为K个类簇。K-Means主要思想是选取K个中心点,对最靠近它的对象进行归类,通过迭代的方式不断更新聚类结果,直到满足使用者的要求。 2.K-Means算法主要实现步骤 (1)确定K值,将数据集划分为K组,确定K值没有最好的方法,一般情况下根据具体问题由人工进行选择。 (2)从数据集中选择K个点作为数据中心(可随机选择,可由距离选择)。 (3)分别计算每个点到每个质心之间...

scikit-learn机器学习笔记——k近邻算法【代码】【图】

scikit-learn机器学习笔记——k近邻算法 k近邻算法sklearn k-近邻算法APIk近邻算法实例-预测入住位置实例流程:数据的处理k近邻算法 ??定义:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近) 的样本中的大多数属于某一个类别,则该样本也属于这个类别。 ??来源:KNN算法最早是由Cover和Hart提出的一种分类算法。 ??计算距离公式:两个样本的距离可以通过如下公式计算,又叫欧式距离。 ??比如说,a(a1,a2,a3),b(b1,b2,b3)...

CV学习笔记(二十六):NMS非极大值抑制算法【代码】

作者:云时之间来源:知乎链接:https://zhuanlan.zhihu.com/p/152319787编辑:王萌 非极大值抑制算法(Non-maximum suppression, NMS)是有anchor系列目标检测的标配,NMS主要用于消除多余的检测框,那么消除的标准是什么,我们使用IOU作为标准来进行演示,IOU的原称为Intersection over Union,也就是两个box区域的交集比上并集。 大致流程:选取这类box中scores最大的那一个,记为current_box,并保留它(为什么保留它,因为它预...

[学习笔记]匈牙利算法【代码】

壹、模板测试链接 传送门 贰、说明 完美匹配一定是最大匹配,而最大匹配不一定是完美匹配. 交错路径:给定图G的一个匹配M,如果一条路径的边交替出现在M中和不出现在M中,我们称之为一条M-交错路径. 而如果一条M-交错路径,它的两个端点都不与M中的边关联,我们称这条路径叫做M-增广路径. 当图中再没有增广路径了,就意味着我们找到了该图的最大匹配了 二部图:给定两组顶点,但是组内的任意两个顶点间没有边相连,只有两个集合之间...

算法学习笔记:Trie 树(字典树)【代码】【图】

算法学习笔记:Trie 树(字典树) 1. 概述2. 详解2.1 Trie 树的概念2.2 Trie 树的操作2.2.1 Trie 树的存储2.2.2 Trie 树的插入-Insert2.2.3 Trie 树的查询-Find 2.3 Trie 树的适用范围 3. 总结 1. 概述 Trie 树,中文名为字典树,是一种字符串的高效处理算法。 Trie 树实现的功能就是快速的查找一堆字符串里面有没有某个串是另一个串的前缀,后缀等等。 2. 详解 2.1 Trie 树的概念 Trie 树首先是一棵树,比如下面这棵树就是一棵 Tr...

美赛常用算法学习笔记(1)【代码】

美赛常用算法学习笔记(1) 美赛快开始了,抱佛脚 网课https://www.bilibili.com/video/BV13i4y1u7MN的笔记 常用算法汇总 数据处理 插值拟合:主要用于对数据的补全和基本趋势分析 小波分析,聚类分析(高斯混合聚类,K-均值聚类等):主要用于诊断数据异常值并进行剔除 主成分分析、线性判别分析、局部保留投影等:主要用于多维数据的降维处理,减少数据冗余关联与因果: 灰色关联分析方法(样本点的个数较少) Superman或kendall...

【转】算法导论学习笔记 一 分治算法【代码】

分治策略是一种常见的算法。在分治策略中,我们递归的求解一个问题,在每层递归中应用如下三个步骤: 1. 分解,将问题分解成规模更小但解决方案相同的子问题 2. 解决,递归的求解子问题,如果子问题足够小则停止递归,直接求解 3. 合并,将子问题的解组合成原问题的解 最大字数组问题 给你一段股市的波动图,找到在什么时候买入,什么时候卖出能获得最大的收益。 暴力破解法 我们很容易的想到一个包里破解法,就是把所有买入,卖...

Morris遍历算法学习笔记(空间复杂度为1的二叉树遍历方式)【代码】

引言 期末考试结束在家的时候有外校的同学问了我一道数据结构考试题,要求不用栈和递归,实现树的遍历。当然,我想到了用迭代算法来做,但是没想出来怎么做。最近几天刷题连续刷到要求用迭代实现遍历二叉树的题,打算记录一下morris算法的学习过程。 原理 morris算法巧妙地将每个叶子节点都连接到了记录完它自己后,需要记录的下一个节点,形成一个回路,这样就可以通过迭代完成遍历,而不需要递归。这种方法不仅时间复杂度是n,而...

算法与数据结构学习笔记(一)数组与字符串【图】

学习视频:https://www.bilibili.com/video/BV15C4y1b7j6/?p=2 数组与字符串 优点: 构建一个数组非常简单 能让我们在O(1)的时间里根据数组的下标(index)查询某个元素 缺点: 构建是必须分配一段连续的空间 查询某个元素是否存在是需要遍历整个数组,耗费O(n)的时间 删除和添加某个元素时,同样需要耗费O(n)的时间 解决办法 弄一个26个字母的数组,s数组进入时数组数加一,t数组进入时数组减一, 最后判断是否为零,此时...

《算法竞赛进阶指南》0x10学习笔记

学习概况 Time: 2020-12-27 ~ 2020-12-29 发现自己基础弱得一批。连忙补上这些以前被遗漏的东西。 初步翻目录感觉栈和二叉堆的内容比较多。 目前计划在寒假前学完0x20。寒假学0x30和0x40。 希望期末考能考好一点。

数组-数据结构和算法之美学习笔记【图】

数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据 第一是线性表(Linear List)。顾名思义,线性表就是数据排成像一条线一样的结构。每个线性表上的数据最多只有前和后两个方向。其实除了数组,链表、队列、栈等也是线性表结构非线性表,比如二叉树、堆、图等。之所以叫非线性,是因为,在非线性表中,数据之间并不是简单的前后关系。连续的内存空间和相同类型的数据 正是因为这两个限制...

算法学习笔记--OJ入门【代码】

从零开始 书籍:算法笔记 入门 OJ:online judgement,在线评测系统 单点测试与多点测试 单点测试 pat为单点测试 “一次性的写法”,执行一遍程序return 0即可 多点测试 codeup为多点测试 EOF 判断输入是否结束 while(scanf("%d",&a) != EOF){}while break 当输入数据满足某个条件时停止 为上一种情况延伸 简洁写法 while(scanf("%d%d"),&a,&b),a||b){}while T- - 利用while T - -进行T 次循环 数据规模 int 与 long long 数据绝对...

《数据挖掘:理论与算法》学习笔记(十)—推荐算法【图】

推荐系统 包括两种方式—基于内容的过滤和协同过滤 隐含语义分析 Tf-idfTF—出现频率IDF—在其他文档中出现的频率,(在其他文档也经常出现,则IDF值会比较低) 向量空间模型相似度—余弦距离存在的问题LSA—隐含语义分析 PageRankL(pj)是指向其他人个数,d是参数,通常设为0.85协同过滤

《数据挖掘:理论与算法》学习笔记(七)—支持向量机【图】

支持向量机使用训练集的一个子集来表示决策边界,该子集称作支持向量。 线性分类器参考文献:清华大学-数据挖掘:理论与算法(国家级精品课)