自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(125)
  • 收藏
  • 关注

原创 图论基础知识

图论图的构成:节点和边贝叶斯网:有向图随机游走:无向图分类:有向图:无向图:一:节点X图里面的所有点 X = {x1,x2…}二:边E分类:有向边 G无向边 H三:子图完全子图: X中任意两个几点均有一条边连接,即所有点之间完全相通完全子图里面的所有点叫做团最大团:当加入新节点无法也形成完全子图的时候就是最大团四:路径无方向路径:只要点与点之间有连接,就是一条路径有方向路径:需要沿着方向的方向走,才是一条路径,只要存在任意一条逆方向的就不是路径

2021-09-19 10:50:43 332

原创 SVM算法推导过程

SVM算法SVM:支持向量机目的:解决感知机的问题感知机问题:1.泛化能力弱2.只关注错误点,不考虑各类别的分布,就会出现过拟合一:SVM介绍1.svm思想数据集中的点在分割之后离超平面越远越好分割:理解为函数 f超平面:理解为参数W , 决定函数的集合分割和超平面理解为: f(W)越远越好:越远则预留的空间越大,可以容纳更多新的数据点,解决泛化能力多个类别的时候要综合考虑类与类之间的距离二.SVM模型需要解决两个问题:1.距离计算 max[marg(Wi,Xi)]

2021-09-12 01:01:21 464

原创 决策树建模分析流程

决策树建模流程一:数据处理先划分数据集缺失值填充0/1转码虚拟变量处理相关关系对比,删除相关关系大的部分特征等等二:建模from sklearn.tree import DecisionTreeClassifierfrom sklearn.model_selection import cross_val_scoreclf = DecisionTreeClassifier(random_state=420,class_weight='balanced')cvs = cross_v

2021-09-06 22:03:58 515

原创 梯度下降原理

梯度下降原理1.梯度下降介绍背景:最优化,求极值MLE 和 MAP的 函数f(w)较复杂的时候,无法求导或者求导困难怎么办? -->梯度下降极值: 即 f(w)的导数=0 的时候的解导数代表下降速度,越陡说明速度越快,正方形上升速度,负方向代表下降速度沿着梯度的方向可以更快更好的达到极值最优解和初始值有关,要么取得的是局部最优要么就是全局最优局部最优:全局最优:关键点:步长=x2 - x1梯度=y2 - y1方向(初始值):决定是局部最优还是全局最优沿着

2021-09-02 23:36:28 138

原创 SVM算法原理介绍

SVM算法目的:解决感知机的问题感知机问题:1.泛化能力弱2.只关注错误点,不考虑各类别的分布,就会出现过拟合一:SVM介绍1.svm思想数据集中的点在分割之后离超平面越远越好分割:理解为函数 f超平面:理解为参数W , 决定函数的集合分割和超平面理解为: f(W)越远越好:越远则预留的空间越大,可以容纳更多新的数据点,解决泛化能力多个类别的时候要综合考虑类与类之间的距离二.SVM模型需要解决两个问题:1.距离计算 max[maxarg(Wi,Xi)]2.s.t 前提

2021-09-02 23:35:37 237

原创 线性分类介绍

线性分类频率派: 线性回归 / 线性分类贝叶斯派:概率图线性: 属性非线性 / 全局非线性 / 系数非线性线性分类模式: 硬分类 / 软分类硬分类:主观的给出直线划分,指定属于哪个类,(例如: 感知机,线性判别)软分类:概率判断:如逻辑回归 / 生成类:如朴素贝叶斯一:硬分类1.1感知机找到一条分界线,分割不同类别原理:错误驱动迭代公式:损失函数L(w)=∑i=1n(yiWxi<0)yiWxi<0代表分类错误当点刚好落在y直线的时候,yiWxi=0当点落在y直线上方的时候

2021-08-22 21:59:07 441

原创 无监督学习--K-Means

无监督学习–K-Means聚类分类核心将数据分成多组探索每个组的数据是否有联系从已经分组的数据中去学习把新的数据放到已经分好的组中去学习类型无监督,无标签训练有监督,需要标签进行训练典型算法K-Means,DBSCAN,层次聚类,光谱聚类决策树,贝叶斯,逻辑回归,KNN算法输出聚类结果是不确定的不一定总是能够反映数据的真实分类同样的聚类,根据不同的业务需求,可能是好的结果也可能是不好的结果分类结果是确定的分类的优劣是客观的不是根据业务或算法决定的

2021-08-21 16:17:04 330

原创 逻辑回归实现

有监督学习–逻辑回归一:算法原理区别于线性回归,逻辑回归输出的是分类变量作用:基于线性回归的原理,解决二分类问题或者多分类问题1.Sigmoid函数:例如:对数几率函数2.公式逻辑回归表达式:y=11+e−(WTx+b)进一步可得:lny1−y=WTx+b举例如下:二分类:1的概率P,则0的概率1−PlnP1−P=WTx+b所以lnP1−P又称为对数几率,反映了样本取正例1的相对可能性逻辑回归表达式:y = \frac{1}{1+e^{-(W^Tx+b)}}\\进一步可得:ln\frac

2021-08-19 23:15:23 103

原创 有监督学习--线性回归

有监督学习–线性回归一:算法原理多元线性回归:每个 x 代表一个特征模型:[y1y2...yp]=[1,x11,x12,...,x1p1,x21,x22,...,x2p...1,xn1,xn2,...,xnp]∗[w0w1...wp]=w0+XW\left[ \begin{matrix}y_1 \\y_2 \\... \\y_p\end{matrix}\right] =\left[ \begin{matrix}1,x_{11},x_{12},...,x_{1p} \\1,

2021-08-16 21:40:05 118

原创 有监督算法-决策树

有监督算法-决策树一:算法概述决策树:包括分类树/ 回归树,回归树较少用,所以这里主要介绍分类树算法流程:特征选择–>决策树生成–>决策树剪枝二:特征选择2.1 香浓熵(信息熵)熵代表信息混乱程度,越混乱熵就越高熵的计算公式:Entropy(m)=−∑i=1kpilog2piEntropy(m) = -\sum_{i=1}^{k}p^ilog_2p^iEntropy(m)=−i=1∑k​pilog2​pi当p=0,则熵=0,因为确定性100%,没有信息混乱#信息熵的计算

2021-08-11 17:42:35 420 1

原创 线性回归公式推导

线性回归一:最小二乘法用最小二乘法约束最小二乘法即损失函数,保证 (Xi-Xj)2+(Yi-Yj)2 的和 最小,即每个点到模型上的距离最小1.1 数据集:D={(x1,y1),(x2,y2),(x3,y3)…(xn,yn)}特征A特征B特征Cx1111x2111…………xn111xi=[xi1xi2...xip]=P∗1p代表特征数,每个x变量都有p个特征xi = \left[ \begin{matrix}x_i

2021-08-10 13:33:00 190

原创 有监督算法-KNN

有监督算法-KNN/K近邻一:原理1.计算o点到所有点的欧氏距离欧氏距离:d=(xa−xb)2+(ya−yb)2欧氏距离: d = \sqrt{(x_a-x_b)^2+(y_a-y_b)^2} 欧氏距离:d=(xa​−xb​)2+(ya​−yb​)2​2.假设 K = 4 ,则选择距离最小的 K 个点3.统计 K 个点属于哪些类4.找到 K 个点中所属类最多数量,则把O点分为该类二:算法优缺点极其变种2.1 优缺点算法参数 K 的取值影响模型效果,所以后面需要通过学习曲线去确定K值得

2021-08-09 11:53:20 282

原创 ABTest结果验证

ABTest结果验证一:函数介绍pdf:概率密度函数 ——注意和正态分布函数不一样ppf:分位点函数(CDF的逆)——即根据给定概率求临界点的值,注意这里的概率是从左侧开始算的。cdf:累计分布函数 ——即pdf曲线下方面积,也即概率,是从左侧开始计算的,所以可以看到x越大,cdf的值越大二:cdf(x,μ,σ) 参数介绍:2.1 cdf(x) 默认 服从 μ=0,σ=1 的正态分布,结果表示 x 在 正态分布N(0,1)中左侧检验的结果概率P值2.2 cdf(x , 2 , 3) 表示: x

2021-08-06 17:13:39 190

原创 ABTtest样本量计算

ABTtest样本量计算一:两个总体只差的样本量计算目的:测试组比对照组提升30%的活跃度(DAU均值)H0: μ0 - μ1<=30%H1:μ0 - μ1>30%计算公式:nA=knB and nB=(1+1k)(σz1−α/2   +z1−βμA−μB)2n_A = kn_B\ and\ n_B = (1 + \frac{1}{k})(\sigma\frac{z_{1- \alpha/2} \ \ \ + z_{1-\beta

2021-08-04 16:44:22 416

原创 python常用的检验方法

一:Z检验#数据: price_earnings_ratio 利率import pandas as pdimport numpy as npimport statsmodels.stats.weightstats as swz_mean = data['price_earnings_ratio'].fillna(0).mean() print('均值:',z_mean)z_std = data['price_earnings_ratio'].fillna(0).std()print('标准

2021-08-03 13:24:22 841

原创 决策树和熵

决策树和熵一:熵1.熵:用于衡量不确定性公式:H(x)=−∑(pi)∗log(pi)例如:x取值,x1=0.5,x2=0.5H(x)=−0.5log0.5−0.5log0.5=0.69H(x) = -\sum(pi)*log(pi)\\例如:x取值,x_1 = 0.5 , x_2 = 0.5\\H(x) = -0.5log0.5-0.5log0.5 = 0.69H(x)=−∑(pi)∗log(pi)例如:x取值,x1​=0.5,x2​=0.5H(x)=−0.5log0.5−0.5log

2021-07-31 23:09:12 129 1

原创 过拟合和欠拟合

拟合实际就是数学模型一:过拟合训练集表现好,但是测试集表现不佳,即泛化性能差(泛化误差)原因:1.样本单一2.正负样本比例不协调3.异常点太多4.模型越来越复杂解决方式:1.如果是样本单一,可以增加训练的数据集2.如果是正负样本不协调,可以通过配比权重解决如何防止过拟合:1.最根本的可以通过扩大数据量2.nlp拆解语句组成新的数据集3.控制模型复杂度​ 3.1 随机森林可以控制树的复杂度​ 3.2 正则化/集成学习​ 3.3 减少训练次数,早点结束训练二:欠拟合

2021-07-29 21:13:37 102

原创 假设检验方法选择

假设检验方法选择一:判断统计量应该选择什么分布判断流程:1.样本量是否大于30,小于30则为小样本2.能否通过正态检验3.是否可以增加样本二:单样本分布三:多总体

2021-07-22 22:48:14 514

原创 统计学基础

统计学一:基础统计1.1描述统计​ 统计学本质:通过抽样样本(使用统计方法)推断总体参数(均值/比例/方差/相关)是否成立的概率1.1.1测量尺度分类变量: 定类:分类(性别) 定序:分类+排序(对定类变量进行排序:比如电影类型排序)连续变量: 定距:分类+排序+加减(比如评分0-10 / 温度),没有绝对0点,即0也有意义 定比:分类+排序+加减+乘除(身高,体重,收入)​ 分类变量:只能用频次统计​ 连续变量:可以使用频次和均值标准差等1.1.2均值​ 算术均值:求

2021-07-09 22:03:00 2693

原创 Pandas索引

一:索引1.1 DataFrame索引行索引默认是数字类型,但是不能见名知意,所以如果可以使用唯一id会更好例如: data.index = data[‘id’]id(index) 可以显示索引的地址行索引和列索引都是Index类型1.2修改索引行索引不支持修改,是因为索引是Index类型,不可以直接修改索引的内容例如:index[1] = ‘001’这样会报错!1.3不可变对象 字符串字符串,a=‘abc’ / a=‘abcd’修改字符串只是修改了字符串的引用1.4可变对象 l

2021-07-04 11:11:02 125

原创 Pandas(loc,apply)

一.取数单列1.pd['列名']2.pd.loc[:,'列名']3.pd.iloc[:,3] 数字代表列索引4.pd.列名多列1.pd.loc[:,'列1':'列5'] 取列1到列5这个区间的数据2.pd.loc[:,['列1','列2']] 罗列需要取得列名称注意:建议使用loc的方式,因为可读性比较高二:布尔索引1.三元表达式java: x>10 ? x : 0 表示当x>10 的时候返回x,否则返回0python: x if(x>10) el

2021-06-26 12:51:21 440

原创 异常值判定

对于异常值判断一般有两种方式:一:z分数法前提:样本需要复合正态分布Z分数 = (原始取值-均值)/(标准差)表示的是每个取值距离均值多少个标准差单位结论:99.7%的数据都会落到均值3倍标准差之内的范围,所以正常值取值范围:均值 ± 3*标准差二:上下限法-箱线图上限 = Q3 + 1.5*(Q3 - Q1)下限 = Q1 - 1.5*(Q3 - Q1)Q1 表示四分之一分位数Q3 表示四分之三分位数...

2021-06-16 22:38:21 487

原创 Celery调度器的使用

Celery调度器的使用python开发调度去代码如下:执行代码1.启动任务发布端2.启动结果返回端错误提示:python开发调度去代码如下:from celery import Celeryfrom celery.schedules import crontabimport datetime#这个类放配置信息class Config(): broker_url = 'redis://127.0.0.1/1' #这个代表本地redis 的 1 数据库,做为celery的发布端

2021-06-05 22:57:14 115 1

原创 kettle创建时间维度

一:流程二:实现步骤1.小时1.1生成小时1.2增加小时序列1.3javaScript代码生成小时和AM/PM//生成12小时var hours12 = hours24.getInteger() % 12 ;//生成AM/pmvar am_pm = hours24.getInteger() > 12 ? "PM" : "AM";2.分钟2.1生成分钟2....

2020-02-16 21:57:39 488

原创 kettle创建日期维度表

一:流程二:实现步骤1.生成记录2.增加日期序列3.生成日期的属性(JavaScript代码)//localevar locale = new java.util.Locale(language.getString(),country.getString());//calendarvar calendar = new java.util.GregorianCalendar(...

2020-02-16 20:11:18 1401 2

原创 线程池的实现

一:线程容器使用集合存储线程:ArrayListHashSetHashMapLinkedList这里使用LinkedList 因为链表的增删快线程池避免频繁创建线程和销毁线程的资源浪费二:实现步骤2.1 当程序启动的时候就创建多个线程,并且把线程保存到链表中,就可以从链表中拿来用2.2 获取线程从集合中拿出2.3 归还线程把线程放进集合三:内置线程池JDK1.5 之...

2020-02-06 16:40:39 94

原创 解决多线程安全问题三种方式

解决多线程安全问题的三种方式:一:同步代码块同步代码块格式:synchronized (锁对象){被多线程执行的代码}锁对象:锁对象可以实任意对象3 1.声明线程//声明线程public class MyRunnable implements Runnable { //1.定义全局变量 private int i = 100; //2.创建对象,作为同步代码...

2020-02-06 15:48:06 323

原创 实现多线程的两种方式

一:继承Thread类1.创建类继承Thread类,重写run()public class MyThread extends Thread { @Override public void run() { //打印线程名称 System.out.println(Thread.currentThread().getName()); }}...

2020-02-06 15:04:42 78

原创 Error:java: Compilation failed: internal java compiler error

IDE报错:Error:java: Compilation failed: internal java compiler error原因:版本问题查看三处:1.项目JDK版本2.模块JDK版本3.编译JDK版本

2020-02-03 12:12:16 100

原创 IDE提示extends methods are not supported at language level '1.5'

报错原因:jdk1.8 接口添加默认方法时报错Extends methods are not supported at language level ‘1.5’解决:File -> Project Structure -> Project / Modules

2020-02-02 20:45:44 212

原创 图的最小生成树

一:最小生成树连接每个顶点最少的连线,最小生成树的数量总是比顶点的数量少1二:代码实现1.创建栈public class Stack { //栈的底层实现是数组 long[] arr ; //表示栈顶索引 int top; //构造方法 public Stack(){ arr = new long[10]; ...

2020-01-31 12:07:36 96

原创 图的搜索(广度优先)

一:广度优先规则1.访问下一个邻接的未访问过的顶点,这个顶点必须是当前顶点的邻接点,标记他,并把它插入到队列中2.如果无法执行规则1,那么就从队列头取出一个顶点,并使其作为当前顶点3.当队列为空不能执行规则2时,就是搜索完成时.二:代码实现1.创建队列public class Quene { //队列底层也是数组 long[] arr; //队列长度 ...

2020-01-31 01:21:46 76

原创 图的搜索(深度优先)

一:图的搜索是指从一个指定顶点可以到达哪些顶点二:搜索的分类1.深度优先 DFS2.广度优先 BFS三:深度优先搜索规则1.如果可能,访问一个邻接的未访问的顶点,标记它,并把它放进栈中2.当不能执行规则1的时候,如果栈不能为空,就从栈中弹出一个顶点3.当不能执行规则1和规则2的时候,就完成了整个搜索过程四:深度优先代码实现1.创建栈public class Stack ...

2020-01-31 00:28:37 91

原创 图的基本概念

一:什么是图图是一种和树相像的数据结构,通常有一种固定的形状,这是由物理或抽象的问题来决定的二:邻接如果两个顶点被同一条边连接,就称这两个顶点是邻接的1.邻接表顶点该顶点连接的其他顶点AB->C->DBA->CCA->BDA->EED2.邻接矩阵ABCDEA11...

2020-01-30 22:00:47 68

原创 哈希表之链地址法

作用: 1.解决压缩可选值的索引冲突问题 2.解决由于开放地址法的先插入数据占据后插入数据的索引位置问题一:什么是链地址法在哈希表每个单元中设置链表.某个数据项的关键字还是像通常一样映射到哈希表的单元中,而数据项本身插入到单元的链表中二:代码实现1.创建链表节点Nodepublic class Node { //数据域 Person data; //指针域...

2020-01-30 20:31:21 435

原创 哈希表之开放地址法

作用:解决因为幂连乘之后的压缩可选值二产生的索引冲突问题.一:什么是开放地址法当冲突发生的时候,通过查找数组的一个空位,并将数值填充进去,而不再是使用哈希函数得到的数组下标,就叫做开放地址法二:代码实现1.创建JavaBean类public class Person { private String key; private String name; pub...

2020-01-30 15:51:45 538 2

原创 哈希表

一:什么是哈希表哈希表是基于数组来实现的一种数据结构,提高了快速的插入和查找操作二:哈希化1.直接将关键字作为索引(关键字是数字类型)2.将单词转换成索引(关键字是string类型)2.1将字母转换成ASCII码,然后进行相加存在风险: 比如: key1=abc , ,key2=bbb ;key1和key2通过将字母转化成ascii码后相加的值相等2.2幂的连乘127^2 + 22...

2020-01-30 13:13:37 205

原创 红黑树简单概念

一:二叉树的问题普通的二叉树优势在于可以快速的插入 , 删除和查找 , 仅仅对于随机数来说.如果插入的是有序的,就会变得非常慢二:平衡树和非平衡树插入随机的数据–平衡树插入有序的数据–非平衡树三:红黑规则1.每个节点不是红色就是黑色2.根总是黑色的3.如果节点是红色的,那么它的子节点必须是黑色的4.从根节点到叶子节点的每条路径,必须包含相同数目的黑色节点四:纠正树的不和规则情...

2020-01-29 01:01:09 97

原创 删除二叉树节点

一:删除节点删除节点比较复杂步骤:1.找到需要被删除的节点2.判断该节点的类型2.1该节点是叶子节点,直接修改父节点的引用值为null即可2.2该节点有一个子节点,修改父节点得引用,将该节点的父节点的应用指向该节点的子节点(相当于隔开该节点)2.3该节点有两个子节点,需要是由该节点的中序后继来替代该节点节点的中序后继:指的是比该节点大的且是最接近该节点的节点二:代码实现1....

2020-01-28 23:39:36 104

原创 遍历二叉树(前序/中序/后序)

一:遍历树遍历树是根据一个特定的顺序访问数的每一个节点,根据顺序的不同又可以分为 前序 , 中序 , 后序二:前序遍历(可以实现排序)1.访问根节点2.前序遍历左子树3.前序遍历右子树三:中序遍历1.中序遍历左子树2.访问根节点3.中序遍历右子树四:后序遍历1.后序遍历左子树2.后序遍历右子树3.访问根节点五:代码实现1.创建节点Nodepublic clas...

2020-01-28 18:35:40 72

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除