自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 问答 (3)
  • 收藏
  • 关注

原创 Mac上安装mysql并使用Navicat Premium连接

一、Mysql和Navicat安装mysql在官网安装commuity版本,网址为MySQL官网安装,Navicat则是找的破解版。按照正常顺序按照,但是在偏好设置里启动MySQL发生问题:启动数秒后自动关闭。有两种方式可以找到错误原因:在偏好设置里找到错误日志的地址打开对应位置的错误日志,观察内容在shell中启动mysql,观察返回的错误信息cd /usr/local/mysql/support-files #进入到对应目录sudo ./mysql.server start #启动m

2020-11-24 18:42:09 458

原创 LeetCode刷题笔记2

一、双指针80.删除排序数组中的重复项2本题重点在理解。首先原地删除肯定是用双指针,其次要理解每个指针的实际含义。cur指针相对固定,可以理解为展示当前数组的“布”,cur后面都是我们看不到的地方,i指针用于遍历,判断后面的地方有没有数能够加入当前数组,如果能加入,就把cur指针向后移动一位,并且把i指向的内容复制到cur上。题解:...

2020-10-09 18:50:59 641

原创 Python中的对象变动(Mutation)

今天在刷LeetCode第78题子集时,遇到了一个很奇怪的现象,现在记录如下。先把题目原题贴出来:这是一道回溯算法题,按照解题思路本来写成:result = []def backtrack(nums, path, start): result.append(path) print('now the result is :{}\n'.format(result)) for i in range(start, len(nums)): path.append(nums[i]) prin

2020-10-01 22:54:08 498

原创 Python类的实现和操作以及面向对象编程

这里提出Python类是为了实现抽象数据类型(abstract data type)。抽象数据类型的基本思想是把数据定义为抽象的对象集合,只为其定义可用的合法操作,而不暴露内部实现的具体细节。在Python中实现ADT最常用的技术就是利用class定义。下面尝试定义一个有理数类及其相关操作:注意图中的几个标注:标注①,在建立有理数时常需要进行约分,得到最简有理数,从而可以节约储存空间。经过分析可知这个求分子分母最大公约数的函数不依赖任何有理数类的对象,另一方面这个函数是为有理数类的实现需要的辅助功

2020-08-29 11:31:38 397

原创 机器学习实战(8):回归树

上一章提到的线性回归应该是使用最广泛的一种方法,但是这个方法时常会出现一些问题:比如我们需要对线性回归模型的随机干扰项施加一些假设,但现实中这些假设常常不能满足,此外当数据拥有众多特征且特征之间关系比较复杂时,用线性回归难以构建一个全局模型,最重要的,现实中满足线性关系的特征只占一小部分,大部分情况下特征之间满足的是非线性关系。这时一种可行的方法就是将数据集切分成多份容易建模的数据,在切分的子集上建立回归模型,这里要用的结构就是回归树。之前在决策树一章我们使用了ID3ID3ID3算法构建决策树,这种算

2020-08-26 18:00:23 318

原创 机器学习实战(7):线性回归

一、普通线性回归用最小二乘法求线性回归的系数估计已经是老生常谈了,这里直接看看怎么使用Numpy库中的矩阵方法来实现:二、局部加权线性回归使用普通最小二乘法可能会导致欠拟合,即模型过于照顾方差较大的点,而忽略了对方差较小点的拟合效果,这里可以使用局部加权线性回归:w^=(X′WX)−1X′Wy\hat{w} = (X'WX)^{-1}X'Wyw^=(X′WX)−1X′Wy其中WWW是对角矩阵。局部加权线性回归使用核,使得在估计自变量某个取值对因变量影响时,该自变量取值附近的数据的权重更高。常用的核为

2020-08-25 18:43:44 675

原创 机器学习实战(6):AdaBoost提升方法

在概率近似正确学习框架中,强可学习(指存在一个多项式学习算法能够学习一个概念且正确率很高)和弱可学习(指存在一个多项式学习算法能够学习一个概念且正确率仅比随机猜测略好)是等价的。因此AdaBoost提升方法就是从弱学习算法出发,反复学习,得到一系列弱分类器,然后组合这些弱分类器,得到一个强分类器。接下来我们分别讨论不同分类器的集成方法、boosting方法以及具有代表性的adaboost提升方法。1.基于数据集多重抽样的分类器1.1 baggingbagging方法,也称为bootstrap ag

2020-08-20 22:07:14 347

原创 pandas创建虚拟变量的一个例子

对于一条观测属于多个类别的情况,考虑如何创建虚拟变量矩阵。

2020-08-19 12:38:53 1268

原创 机器学习实战(5):支持向量机

用于求解SVM对偶问题的常用算法为SMO算法。SMO算法是一种启发式算法,每次选择两个变量,固定其他变量,由这两个变量构建二次规划问题。选择变量的方式是首先选择违反KKT条件最严重的变量,然后选择能够使得第二个变量变化最大的变量。1.简化版SMO算法处理小规模数据集对于变量集αi,i=1,2,⋯ ,N\alpha_i,i = 1,2,\cdots,Nαi​,i=1,2,⋯,N,总有约束∑iαiyi=0\sum_i \alp

2020-08-16 23:23:59 260

原创 机器学习实战(4):Logistic回归

首先加载数据:接下来写一下logistic模型的梯度上升算法:假设P(yi=1∣xi)=π(xi)P(y_i = 1|x_i) = \pi(x_i)P(yi​=1∣xi​)=π(xi​),那么对于样本观测值集合,其极大似然函数为L(w)=∏i=1m[π(xi)]yi[1−π(xi)]1−yiL(w) = \prod_{i=1}^m[\pi(x_i)]^{y_i}[1-\pi(x_i)]^{1-y_i}L(w)=i=1∏m​[π(xi​)]yi​[1−π(xi​)]1−yi​,我们的目标就是选择合适的参

2020-08-14 23:34:13 451

原创 机器学习实战(3):朴素贝叶斯

朴素贝叶斯的主要思想是对给定的训练数据集,基于特征条件独立假设学习输入输出的联合概率分布,然后对给定的输入xxx,利用贝叶斯定理求出后验概率最大的输出yyy。后验概率P(Y=ck∣X=x)=P(X=x∣Y=ck)P(Y=ck)∑kP(X=x∣Y=ck)P(Y=ck)P(Y = c_k|X = x) =\frac{P(X=x|Y=c_k)P(Y=c_k)}{\sum_k P(X=x|Y=c_k)P(Y=c_k)}P(Y=ck​∣X=x)=∑k​P(X=x∣Y=ck​)P(Y=ck​)P(X=x∣Y=ck​)

2020-08-07 09:19:00 278

原创 机器学习实战(2):决策树

一般决策树学习算法包含特征选择、决策树生成、剪枝三个部分。在特征选择上,使用信息增益的学习算法称为ID3算法,使用信息增益比的学习算法称为C4.5算法。一、特征选择熵的公式:H=−∑pilog2piH = -\sum p_i \mathrm{log}_2 p_iH=−∑pi​log2​pi​代码实现如下:信息增益衡量已知某一变量后,数据集的熵的变化程度g(D,A)=H(D)−H(D∣A) g(D,A) = H(D) - H(D|A)g(D,A)=H(D)−H(D∣A)计算条件熵的方法:训练数据

2020-08-05 22:54:05 251

原创 机器学习实战(1):K邻近算法

根据《机器学习实战》一书来实现KNN算法:一、确定K邻近算法不过这个方法没有用kd树进行存储,搜索效率较低。二、例1:使用KNN算法改进配对效果2.1 准备数据先来看看原始数据:这是一个文本文件,每一行都是字符串,需要对其进行分割,然后分别构造数据矩阵和标注向量。2.2 数据预处理由于我们得到的数据都是正数,所以可以采用归一化进行标准化:x∗=x−min⁡max⁡−min⁡ x^* = \frac{x - \min}{\max - \min}x∗=max−minx−min​2.3

2020-08-04 22:44:10 282

原创 LeetCode数据结构刷题笔记

希望每天都能有进步。

2020-07-24 21:42:34 1521

原创 Python常用数据分析操作

目录Numpy基础1.多维数组对象:ndarray1.1 生成多维数组对象1.2 ndarry的数据类型1.3 Numpy数组计算1.4 数组索引与切片Numpy基础1.多维数组对象:ndarray1.1 生成多维数组对象array函数该函数的参数为任意的序列型对象,比如Python内建的列表对象import numpy as np ls1 = range(1,10,1)array1 = np.array(ls1)ls2 = [[1,2,3,4],[5,6,7,8]]array2

2020-07-02 22:48:00 1471

原创 数据结构与算法python版【慕课听课笔记】

菜鸟的个人学习笔记,希望能一直进步

2020-06-21 21:09:59 1255

原创 Leetcode数据库刷题笔记

leetcode数据库刷题记录。

2020-05-27 22:36:15 653

原创 AIC准则的理解

本文介绍AIC准则的产生及应用。

2020-05-14 20:41:41 14713

原创 关于一些概念

关于统计学中一些概念的说明,包括过差分、过拟合、虚假回归等。

2020-05-11 17:16:58 2335

原创 缺失值处理方法

缺失值的处理是统计学中需要着重考虑的问题。

2020-05-07 14:11:55 2690

原创 统计学中常被误用的分析方法

本文主要介绍统计学中常被误用的方法。

2020-05-07 11:49:40 3333 1

原创 变量关系的描述方法

本文描述了各种场景下变量间相关系数的表示方法。

2020-05-07 10:35:05 2059

原创 抽样技术

主要关于《抽样技术》一书的知识点总结。

2020-05-06 18:39:11 3004

原创 《概率论与数理统计教程》中的一些知识点

本文主要讨论《概率论与数理统计教程》中一些比较有趣的知识点。

2020-05-04 21:40:35 713

空空如也

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

TA关注的人

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