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

《数据挖掘:理论与算法》学习笔记(三)—数据预处理(下)【图】

数据可视化(Data Visualization) 借助于图形化手段,清晰有效地传达与沟通信息。 一维数据比较简单,可以做成饼图、直方图、曲线等等…二维数据的可视化散点图,上图是汽车排量和加速度之间的关系图,我们可以对该二位数据做回归 Regression 看看它们之间有什么关系。 三维数据的可视化 但是当维度到四维或者更高的维度时,一般人很难想象这些高维的空间,也很难直接可视化出来,这时我们可以将高维数据做一个映射和转化Box plot...

《数据挖掘:理论与算法》学习笔记(一)走进数据科学【图】

什么是数据 大概的意思是一些定量或者定性的属性,比如一个人的身高体重,年龄,性别,婚姻状况等等。 数据预处理:主要包含以下主题 聚集:将两个或多个对象合并成单个对象 抽样:简单随机抽样(有放回和无放回),分层抽样,渐进抽样 维规约:通过创建新属性,将一些旧属性合并在一起降低数据集的维度。重要概念:维灾难和线性代数技术(PCA主成分分析和SVD奇异值分解) 特征子集选择:三种标准特征选择方法(嵌入,过滤,包装)...

尚硅谷 java数据结构与算法 学习笔记(一)【代码】【图】

这里写目录标题 线性结构和 非线性结构稀疏数组SparseArray需求介绍实例代码实现代码执行结果 队列介绍数组模拟队列思路代码实现问题数组模拟环形队列环形队列代码实现 链表单链表不考虑排名考虑排名修改删除代码实现 单链表面试题求单链表的有效节点的个数求单链表的倒数第K个节点 单链表的反转 (有点难度)从未到头打印单列表 双向链表单链表的问题代码实现单项环形链表约瑟夫问题单向环形链表介绍思路分析栈介绍数组模拟栈代码实...

算法图解学习笔记一【代码】

算法图解学习笔记一 第一章  算法简介 1.1 引言算法在能解决问题的基础上,讲究速度与效率。 用大O表示法讨论运行时间 1.2 二分查找1.输入: 有序的元素列表2.输出: if 要查找的元素包含在列表中,二分查找返回其位置 else 返回NULL3.思想: 使用二分查找,每次排除一半的数字4.对于包含n个数的列表,用二分查找最多log n 步,而简单查找需要n步5.具体算法: def binary_search(list, item):low=0high=len(list)-1while l...

《算法竞赛进阶指南》学习笔记【0X00基本算法】【代码】

断断续续看了2周,终于把第一章给结束了 接下来写写我自己的心得吧 感觉这本书还不错,因此打算长期学下去。 第一章的应用面很广,要好好打基础 接下来可能每干完一章都会写一下这样的学习笔记(flag) 不过每次学完都不是全懂,我只写下自己理解了的地方 等日后回头看可能有新的心得了再更新 接下来是正文—————————————————————————————————————————————————————— 1.位运算...

Python机器学习笔记:异常点检测算法——LOF(Local Outiler Factor)【图】

完整代码及其数据,请移步小编的GitHub传送门:请点击我如果点击有误:https://github.com/LeBron-Jian/MachineLearningNote在数据挖掘方面,经常需要在做特征工程和模型训练之前对数据进行清洗,剔除无效数据和异常数据。异常检测也是数据挖掘的一个方向,用于反作弊,伪基站,金融欺诈等领域。在之前已经学习了异常检测算法One Class SVM和 isolation Forest算法,博文如下: Python机器学习笔记:异常点检测算法——One Class ...

机器学习学习笔记之——监督学习之 k-NN 算法【代码】【图】

监督学习 监督学习是最常用也是最成功的机器学习类型之一。如果想要根据给定输入预测某个结果,并且还有输入 / 输出对的示例时,都应该使用监督学习。这些输入 / 输出对构成了机器学习模型。我们的目标是对从未见过的新数据做出准确预测。监督学习通常需要人为来构建训练集,但之后的任务本来非常费力甚至无法完成,现在却可以自动完成,通常速度很快。 1、分类与回归 监督学习问题主要有两种,分别叫做分类(classification)与回...

三郎数据结构算法学习笔记:希尔排序【代码】【图】

三郎数据结构算法学习笔记:希尔排序 排序介绍图示运行结果源代码排序介绍 希尔排序是希尔(Donald Shell)于 1959 年提出的一种排序算法。希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序 图示运行结果源代码 package com.atguigu.sort;import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Date;public class ShellSort {public static void main(Str...

机器学习十大经典算法-KNN(最近邻学习笔记)【代码】【图】

机器学习十大经典算法-KNN(最近邻) 最近在学习机器学习,查阅了很多人的博客,受益颇多,因此自己也试着将过学的内容做一个总结,一方面可以提高自己对学习过的算法的认识,再者也希望能帮助到初学者,共勉。。。 1 K-近邻算法原理 K最近邻(kNN,k-NearestNeighbor)分类算法,见名思意: 找到最近的k个邻居(样本),在前k个样本中选择频率最高的类别作为预测类别,什么?怎么那么拗口,没图说个球球,下面举个例子,图解一下大家...

《大话数据结构》学习笔记——第二章 算法【代码】【图】

第二章 算法 2.1 开场白 2.2 数据结构与算法关系 2.3 两种算法的比较 #include <iostream> using namespace std; int method1() {int i, sum = 0, n = 100;for (i = 1; i <= n; i++){sum = sum + i;}cout << sum; } int method2() {int i, sum = 0, n = 100;sum = (1 + n) * n / 2;cout << sum; }2.4 算法定义 算法:是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。 2.5 算法的特...

python数据结构与算法学习笔记(二)【代码】

排序与搜索 如何从一个数字序列中查找一个特定的目标, 是一个经典的问题. 对于无序序列, 通常只能从头遍历, 这样效率十分低下. 但是当这个序列是有序序列时, 我们可以用二分法来快速找到目标数. 二分查找 顾名思义,二分查找是从有序数列(从小到大)的中间开始,若小于目标数,则在二分的左半部继续查找,反之则在二分的右半部继续查找,直到找到目标数或者新的查找区间为空时停止。 很容易想到,可以用递归方法实现二分查找。 de...

其他字符串算法学习笔记(持续更新)【代码】

关于字符串Hash和后缀自动机SAM可以转至我之前的博客,这里不再阐述。 这里主要介绍一些不怎么常用(至少不如SAM和Hash)的算法。 1.SA 模拟退火后缀数组(Suffix Array)是一种很奇妙的算法。主要原因是它可以做到在 \(O(n\log n)\) 时间内完成排序。 关于如何完成这个比较基础,具体可见洛谷日报。 而后缀排序的重点在于“字典序排序”的一些奇妙性质。所以对于一般字符串的字典序排序,以下性质也适用。 首先可以发现的是 \(\op...

JVM学习笔记(七、GC2-垃圾回收算法)【图】

目录:标记清除算法 标记整理算法 复制算法 热点算法(分代收集算法)标记清除算法: 最基础的收集算法是“标记-清除”(Mark-Sweep)算法。该算法分为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象。该算法有两个主要不足:一个是效率问题,标记和清除的效率都不高; 另一个是空间问题,标记清除之后会产生大量不连续的内存碎片。标记整理算法:标记-整理(Mark-Compact)算法...

强化学习学习笔记:Q-learning无模型算法

强化学习按理解环境的程度可以划分为无模型和有模型,Q-Learning算法是典型的无模型强化学习算法,与有模型的强化学习算法的区别是它的后继状态\(\[S\]\)未知,只能通过与环境交互以试验和采样的方法得到一个后继状态\(\[S\]\)。所以Q-Learning算法仅由元组\(\[\left( {S,A,R,\gamma } \right)\]\)来描述。 强化学习是智能体从状态到动作的映射,通常使用Q表来表示状态-动作值函数,智能体通过不断与环境进行交互,以此来更新Q表,并通过...

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

众所周知,二分图匹配是二分图理论中的基础,而匈牙利算法是一种求解它的基本算法。事实上,匈牙利算法是一个十分简洁的算法,简介到让人感到惊诧。下面就让我们了解一下这个神奇的算法。 先看几个定义:匹配 匹配是一个边的集合,其中任意两条边都没有公共端点。 最大匹配 顾名思义,包含边数最多的匹配 交错路 匹配边和非匹配边依次出现的一条路 增广路 从非匹配边出发,以非匹配边结束的交错路(增广路长度一定是奇数)你可能已...