自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据结构与算法——链表

反转链表def reverse(head): q=None p=heap while p: temp=p.next p.next=q q=p p=temp return p判断链表环def meetingnode(head): if not head: return slow=head fast=head.next while fast and fas...

2018-10-10 18:10:49 155

原创 数据结构与算法篇——topk,第k大

#堆def findKthLargest(nums,k): heap=nums[:k] heap.heapify(heap) for i in nums[k:]: if i>heap[0]: heap.heappushpop(heap,num) return heap[0]#快排思想,原地与非原地,递归def findKthLargest(nums, k): ...

2018-10-09 16:13:22 375

原创 数据结构与算法篇——二叉树

节点类定义class Node: def __init__(self,val): self.val=val self.left=None self.right=None前序、中序、后序遍历的递归、非递归#前序代码,中后续遍历,改变print的位置即可 def pre(root): if not root: return print(root.val) pre(ro...

2018-10-09 15:04:28 144

转载 数据结构与算法篇——python内置数据结构模块

1、构造最小堆 heapq.heapify(list),将x转化为heap heapq.heappush(heap,item),插入item至list中 heapq.heappushpop(heap,item),插入item,并返回最小值 heapq.heapreplace(heap,item),先返回最小值,再插入item heapq.merge(list1,list2)合并itera...

2018-06-16 15:20:03 406

转载 pandas、numpy篇——groupby

df.groupby(key)df.groupby([key list])grouped.sum()分组函数mean() Compute mean of groupssum() Compute sum of group valuessize() Compute group sizescount() Compute count of groupstd() Standar...

2018-06-15 17:18:13 4172

转载 pandas、numpy篇——random

1、python内置random模块常用函数.random() 0到1.uniform(a,b)a到b.randint(a,b)a到b的int.gauss(mu,sigma).choice(sequence).shuffle(sequence).sample(sequence,k).seed()2、numpy.random.rand(d0,d1,d2)shape.ran...

2018-06-15 14:42:28 1787

转载 pandas、numpy篇——索引、采样、函数

numpy :np[i:j:k]np[]np[][]pandas:

2018-06-15 11:14:00 2220

原创 pandas、numpy篇——计数、排序、分类

numpy:np.unique(nd)counts = defaultdict(int)for key in dict: counts[key] += 1np.sort(list,axis=0,kind='quicksort')np.searchsorted(sorted list,values,side='left')np.argmax()np.argmin()...

2018-06-14 20:56:33 8595

转载 pandas、numpy篇——拼接

numpynp.concatenate((nd1,nd2),axis=0)pandaspd.concat([df1,df2], axis=0, join='outer', join_axes=None, ignore_index=False,keys=None, levels=None, names=None, verify_integrity=False)aixs=0跨行拼接...

2018-06-14 20:03:57 583

转载 pandas、numpy篇——运算符

1、运算符 pandas:df.sum(0 or 1 ,skipna=True or False).count Number of non-NA observations.sum Sum of values.mean Mean of values.mad Mean absolute deviation.median Arithmetic median of v...

2018-06-14 19:35:00 1293

原创 TensorFlow篇——常用函数

1、onehot操作 labels=np.array([1,2,3,4,5,6])def to_one_hot(labels): num_class=np.unique(labels).shape[0] num_labels=labels.shape[0] onehotmatrix=np.zeros((num_labels,num_class)) for ...

2018-06-14 09:00:46 168

原创 TensorFlow篇——定义张量、运算符

一、张量定义 1、常量 tf.constant() tf.linspace() tf.range() tf.fill() tf.eye() tf.diag() tf.ones();tf.ones_like() tf.zeros();tf.zeros_like() 2、随机数 tf.random_normal() tf.truncated_normal() tf.rando...

2018-06-12 15:48:24 884

原创 pandas、numpy篇——flatten flat ravel

1、ndarray.flatten() 返回ndarray的copy转换为一维数组,ndarray不变 参数:‘C’行序优先,’F’列序优先,’A’,’K’ 2、ndarray.flat 对ndarray转换为一维数组,返回一个iterator 参数:传入index,通过索引进行修改(ndarray值随之改变) 3、ndarray.ravel() 将ndarray转换为一维数组,对此...

2018-06-12 09:51:43 2148

转载 杂谈篇——mysql基本操作

本文为MySQL入门视频笔记, https://www.bilibili.com/video/av14716238/?p=1 sql: 语句以;结尾 \c 跳出 字段与数据组成表 每个字段有:名字 数据类型 长度 约束 查看数据库版本:select version(); 中文字段名需要加单引号 单引号,尽量不用双引号 不区分大小写 null值参与运算结果为null数据类型...

2018-04-23 17:25:12 195

原创 数据结构与算法篇——hash

Python中dict结构用哈希表构建,采用开放寻址法解决哈希冲突 1、哈希函数构造方法 自己选择某种规则,避免冲突 直接定址法 数字分析法 平方取中法 折叠法 除留余数法(除数为质数) 2、解决冲突方法 待插入的元素按哈希函数计算得到的地址已经被占用 开放定址法: 线性探测再散列,地址不断加1,2,3,, 二次探测再散列,加1,-1,2**2,-2**2,3**2,, ...

2018-04-18 09:28:02 163

原创 机器学习篇——正则化

l1和l2正则化 1、作用 损失函数一般为经验风险加上结构风险,其中结构风险最小化即正则化,减少过拟合 正则化可以看做先验, 2、应用 线性回归中,lasso回归:正则项为λw的1范数 rige回归:正则项为λw的2范数 svm:0.5w的2范数,即间隔 决策树:α乘以叶子数 xgboost: l1正则项,叶子节点的个数 L2正则项,平滑各叶子节点的预测值 神经网络: ...

2018-04-17 21:52:21 275

原创 机器学习篇——Stacking、Blending

Stacking是集成方法之一 下面分析计算流程,假设第一层有n个子模型,每个模型进行K折交叉验证 1、单个模型分别进行学习 首先,采用交叉验证+网格搜索,得到子模型最优超参数 然后,在此最优超参数下,每次进行交叉验证时,都会训练得到一个模型。用此模型对验证集和测试集分别预测,共进行K次预测,得到一个完整的训练集预测值和K个测试集预测值,对K个测试集预测值取平均,从而得到一个完整的训练集预...

2018-04-17 19:49:13 2190

原创 数据结构与算法篇——排序

1、冒泡 最差,平均时间复杂度:O(n**2),两个for循环 最好:O(n),改进算法下(如果有一趟循环中没有进行交换,则停止)对已排好序的数组def maopao_sort(list_): for i in range(len(list_)-1): for j in range(i+1,len(list_)): if list_[j]...

2018-04-17 15:30:01 113

原创 机器学习篇——数据预处理

输入x为m*n,m为样本数,n为特征数 主要是对特征处理,即x中的列向量 1、缺失值、异常值 对特征处理 平均值、中位数、众数 局部差值或者拟合、模型预测代替 2、标准化 对特征进行处理 中心化,数据减去所有样本该特征的期望 z-score规范化(零均值规范化),数据减去期望,再除以该特征方差 最小-最大规范化,数据除以该特征的最大值与最小值之差 3、规范化(归一化,规范到0...

2018-04-16 00:33:55 288

原创 机器学习篇——优化方法

机器学习问题推导最终大多转化为对目标函数或者损失函数的优化 最优化模型包括梯度下降法、牛顿法及其改进 梯度下降法和牛顿法: 1、泰勒展开 对损失函数L(wt+1)在wt处展开,可以得到L(wt+1)为L(wt)加上一阶导数乘以(wt+1减去wt) 2、最小化损失函数 若要减小损失函数,即令一阶导数乘以(wt+1减去wt)小于0 3、求得w的更新量 技巧:可以令(wt+1减去wt)=...

2018-04-15 21:01:35 607

原创 机器学习篇——对数线性模型

建议首先看cs229讲的广义线性模型、exponential family(指数分布族) 对数线性模型包括逻辑回归、最大熵模型和条件随机场等 1、模型 条件概率分布(对数线性模型、概率模型)、判别模型 逻辑回归: 概率分布可由广义线性模型推导得到 多分类时,分子部分为:第k类exp(-wk*x+b),第一类为1 分母部分为所有类分子之和,即标准化因子 最大熵模型: 概率分布由...

2018-04-14 15:36:29 11019 1

原创 数据结构与算法篇——不同角度看待动态规划

1、本质 高阶马尔科夫链,即i处的值由i之前所有值来确定(对应的贪心法则是马尔科夫链) 2、解题过程 自顶向下的思路即是递归 这里讲自下向上的递推 一是确定最优子结构 通俗点讲就是找规律,i与0到i-1的递推公式,即子问题重叠 二是建立维护的数据结构 由递推公式确定需要维护的数组,一般1维或二维,视题目和空间复杂度要求而定 三是确定边界 即递推公式起点,例如爬楼梯的1阶和2阶,...

2018-04-14 15:12:41 120

原创 机器学习篇——防止过拟合

不同算法中防止过拟合的trick总结 过拟合直观表现是训练集上效果好,在测试集上效果差,即模型泛化能力弱, 即模型偏差小,方差大 防止过拟合即训练时减少训练集部分样本对模型的贡献度,即降低部分样本的权重,可以从两个方面考虑,一是训练时直接忽略某些样本(实现行抽样);二是降低权重w(实现列抽样) 1、正则化 l1正则化,1范数,不可微,故用坐标下降法,部分权重w为0 l2正则化,2范数,...

2018-04-14 14:56:16 340

原创 机器学习篇——bagging

bagging、随机森林是ensemble集成算法之一 1、模型 集成算法,弱分类器或基模型一般为cart树,可分类可回归,判别模型 2、策略 bagging算法对样本重采样,分别构造决策树,并由各决策树的分类结果进行投票或取平均 随机森林(RF)与bagging的区别是除了样本重采样外还要特征采样,此外无差。 3、算法 决策树构造原理此处略,参照决策树章节 决策树间,采用平均或投...

2018-04-13 22:00:24 221

原创 机器学习篇——boosting

boosting是ensemble集成方法之一, 引入函数空间概念,使用损失函数的导数,采用迭代思想优化弱分类器 1、模型 加法模型,即基分类器组合(一般为决策树)、可分类可回归、判别模型 2、策略 引入前向分步算法,让加法模型中每一轮增加的部分由该轮的决策树决定 分类问题时,最小化指数损失函数,即是adaboost算法 回归问题时,最小化自定义的损失函数,每一轮对残差构造回归树,当...

2018-04-13 21:10:43 553

原创 机器学习篇——支持向量机SVM

SVM是面试常考内容之一,推导需要掌握。 1、模型 构建分离超平面y=wx+b,属于二分类模型(暂不考虑svr)和判别模型。 2、策略 极小化正则化合页损失函数; 几何间隔最大化; 3、推导及算法 (1)原始最优化问题: 最小化损失函数:w的二范数+C*错分代价的和(硬间隔无错分代价) 两个限制条件 (2)引入拉格朗日乘子: 将原始问题转换为最小最大化问题 (3)KKT条件...

2018-04-13 20:07:00 86

原创 机器学习——写在开头

1、写作目的: 一来是为了应付面试,总结之前的知识点。 二来是给自学机器学习的同学提供一点思路、方法或答疑解惑。 2、写作风格: 时间紧迫,公式必是不能规范了,最好对照着书看。 力求简练,框架为主,归纳概括、总结提炼为主,其他细节内容可以在CSDN上找到很多很多,个人就不赘述了。 3、博客内容: 主要分为三部分: 其一是机器学习相关算法; 其二是数据结...

2018-04-13 19:26:42 152

空空如也

空空如也

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

TA关注的人

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