KNN算法一、KNN算法介绍KNN算法全称是K Nearest Neighbors ,KNN原理就是当预测一个值属于什么分类,根据它最近的K个分类是什么进行预测它属于什么类别。重点有两个: K 的确定和距离的计算距离的计算:欧式距离K值的计算:通过交叉验证(将样本数据按照一定的比例拆分成训练用的数据和验证用的数据),从中选取一个较小的K值开始,不断增加K的值,然后计算验证集合方差,最终找到一个比较适合的K值二、KNN的优缺点优点:简单易用,...
1、说在前面Alias采样是时间复杂度为o(1)的离散采样方式
论文地址:http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.675.8158&rep=rep1&type=pdf2、详细介绍
问题比如一个随机事件包含四种情况,每种情况发生的概率分别为: 1/2,1/3,1/12,1/12问怎么用产生符合这个概率的采样方法。
最容易想到的方法我之前有在【数学】均匀分布生成其他分布的方法中写过均匀分布生成其他分布的方法,这种方法就是产生0~1之间的一个随机...
K-means是一种最流行的聚类算法 属于无监督学习 可以在数据集分为相似的组(簇),使得组内数据的相似度较高,组间之间的相似度较低 步骤: # 1 从样本中选择k个点作为初始簇中心 # 2 计算每个样本到各个簇中心的距离,将样本换分到距离最近的簇中心所对应的簇中 # 3 根据每个簇中所有样本,重新计算簇中心,并更新 # 4 重复步骤2 3 直到簇中心的位置变化小于指定的阈值或者达到最大迭代次数为
数据读取import numpy as np
import ...
目录分而治之计算数字数组的和快速排序python实现快速排序时间复杂度
分而治之
D&C(divide and conquer )是一种著名的递归式问题解决方法。
D&C的工作原理找出简单的基线条件;确定如何缩小问题的规模,使其符合基线条件。计算数字数组的和
实现方法1
pirint(sum([1, 2, 3]))
# 或者
def sumd(array):if len(array) = 0:return Nonetotal = 0for i in array:total += ireturn total
pirint(sumd([1, 2, 3]))实现方法2
示意图def ...
文章目录1.认识哈希函数和哈希表1.1什么是 Hash1.2为什么要有 Hash1.3举个栗子:1.使用数组存储,需要新建个数组 new int[]{2,5,9,13},然后需要写个循环遍历查找:2.而假如存储时先使用哈希函数进行计算,这里我随便用个函数:1.4哈希函数1.5 哈希函数的特点:1.6 哈希表常用的功能演示2.设计RandomPool结构3.认识布隆过滤器(搜索面试中必考题目)3.1布隆过滤器含义:3.2 为什么要用布隆过滤器?3.3 哈希函数3.4基于缓存业务分析...
入门基础51.猫狗队列2.转圈打印矩阵3.旋转正方形矩阵4.反转单向和双向链表5.“之”字形打印矩阵5.在行列都排好序的矩阵中找数6.打印两个有序链表的公共部分7.判断一个链表是否为回文结构8.将单向链表按某值划分成左边小、中间相等、右边大的形式9.复制含有随机指针节点的链表10.两个单链表相交的一系列问题【难】
1.猫狗队列
【题目】 宠物、狗和猫的类如下:
public class Pet { private String type; public Pet(String type) {t...
数组挑了自己不太熟悉的详细写一下
3.1 三角形数组
在一些场景下,三角型数组可以用来代替矩形数组,以达到节省空间的目的,即对角线某一侧的数据可以用默认值来代替
矩形数组较小的情况下,节省空间的效果不是很明显,但在10000*10000的数组中,三角型矩阵可以节约大约5000万个条目!
如何建立一个三角形数组:
把数组的值打包成一个一维数组
跳过不用包括的条目
规律:
N行数组需要的元素数是N-1行所需要的元素+N →若建立一个N行...
上一篇介绍了机器学习的一些基本概念,其中有感知机与线性回归算法的介绍。在介绍中,应该令人最不可思议的就是,为啥这样的一堆y = x1*w1+x2*w2+x3*w3.....+xn*wn,通过机器学习,最终可以拟合出正确的模型呢?其实机器学习,搭建了人工神经网络,结合线性回归方程与梯度下降算法,通过不停的输入训练数据,回顾计算结果,调整计算参数,最终才能达到目标。我们先从基本概念讲起:1、瞎猜方程解假设现在有y = ax,我们知道x=10的时...