自定义博客皮肤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)
  • 收藏
  • 关注

原创 如何用标准SQL实现排序功能

@SQL那些事儿SQL排序说起SQL排序,大家首先想到的是rank()、dense_rank()、row_number(),而常用这3个函数的同学想必也非常清楚这三者间的区别:rank():用于当存在相同位次的记录时,跳过之后的位次,如1,2,2,4,5…;dense_rank():用于存在相同位次记录时不跳过之后的位次,如1,2,2,3,4…;row_number():按照排序依次往下,如1,2,3,4,5…。那么问题来了,如果缺少了这几种函数的支持,我们如何利用标准的SQL来实现同样的目

2021-05-31 23:53:46 611

原创 leetcode——897.递增顺序查找树

题目描述:思路:利用列表先输出中序排列,再按照中序排列的方式重新构造一个树,重新构造的树只有右节点。# 定义树节点class TreeNode: def __inif__(self,x): self.val = x self.left = None self.right = Noneclass Solution: def increasingBST(self,root): # 中序遍历 def inorder(root): if not root: retur

2020-09-28 16:23:49 208

原创 leetcode589——N叉树的前序遍历

题目描述:给定一个 N 叉树,返回其节点值的前序遍历。思路:采用递归的思想,给1个节点,先把这个节点加入到列表,判断该节点是否有子节点,若有,把该节点的子节点加入列表后再加入其他节点。def preorder(self,root): res = [] def dfs(node): if node: res.append(node.val) for i in node.children: dfs(i) dfs(root) return res...

2020-09-25 10:56:50 176

原创 leetcode110——平衡二叉树

题目描述:给定一颗二叉树,判断是否是高度平衡的二叉树。高度平衡的二叉树定义:左右子树的高度差不超过1.思路:这个问题可采用递归的思想,首先计算每个节点的左右子树的高度差是否为1,再判断左右子树是否为平衡二叉树,若是,则为平衡二叉树,否则不是。伪代码:if abs(高度(node.left)-高度(node.right))<=1 and node.left is balanced and node.right is balanced: print('是平衡二叉树')else: print(

2020-09-25 10:33:00 142

原创 leetcode每日一题——数组中数字出现的次数

题目描述:一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。示例:输入: nums = [4,1,4,6]输出: [1,6]或[6,1]解题过程:(1)首先考虑特殊情况,nums中只有1个数字出现1次其余均出现两次时,使用全员异或即可。原因在于相同的数字异或的结果为0.def singl...

2020-04-28 11:45:49 315

原创 算法——广度优先搜索(BFS)

广度优先搜索主要解决两类问题:(1)从A节点出发,有到B节点的路径么?(2)从A节点出发,到B节点的最短路径是什么?算法复杂度为O(V+E),其中V为顶点,E为边数。例:假设你要在朋友中找一个芒果销售商,如果朋友中没有,则找朋友的朋友,即人际关系网。实现的是第一类问题,在你的人际关系王忠,能找到芒果销售商么?from collections import deque ...

2020-04-21 12:44:10 240

原创 算法——二分查找、选择排序、快速排序

二分查找二分查找的复杂度为O(nlogn),使用二分查找的前提是该序列为一个有序数列。def binary_search(arr, item): low = 0 high = len(arr) - 1 while low <= high: mid = (low + high) // 2 guess = list[mid] if guess == item: ret...

2020-04-20 23:17:31 156

原创 Python内置函数及模块总结

1.Python内置函数abs()、delattr()、hash()、memoryview()、set()、all()、dict()、help()、min()、setattr()、any()、dir()、hex()、next()、slice()、ascii()、divmod()、id()、object()、sorted()、bin()、enumerate()、input()、oct()、stat...

2020-04-16 21:41:14 306

原创 numpy总结

ndarray的数组切片作用的是原数组,若想直接复制的话采用arr[5:8].copy()array的转置有两种:arr.T、arr.transpose((1,0,2))、arr.swapaxes(1,2)numpy的通用函数:一元:abs/fbs、sqrt、square、exp、log、sign、ceil(大于等于该值的最小整数)、floor(小于等于该值的最大整数)、rint(四舍五入...

2020-04-15 11:18:03 248

原创 Task5——模型融合

数据竞赛过程中若仅采用一种方法是不能得到很好的效果的,通常要进行模型融合。模型融合通常包括3种方式:简单加权融合:(1)回归:算数平均融合、几何平均融合;(2)分类:投票;(3)综合:排序融合、log融合。stacking/blending:构建多层模型,并利用预测结果再拟合预测。boosting/bagging:多树的提升方法。stacking理论stacking是将用初始训练数据...

2020-04-04 21:14:17 244

原创 task4——模型和调参

数据挖掘竞赛中通常用到的模型包括xgboost、lightgbm,SVM等。掌握每种模型的原理是学会应用模型的前提条件。因此,本篇文章主要用于梳理线性回归模型、决策树模型、GBDT模型、XGBoost模型以及LightGBM模型的原理及模型的调参方法。1.线性回归模型线性回归模型是入门机器学习的经典模型。其基本形式为: hθ(x)=∑i=1nθixi=θTX\ h_{\theta}...

2020-04-01 17:04:08 172

原创 每日刷题——leetcode912.排序数组

题目描述:给定一个数组nums,将数组升序排序。示例:输入:[5,2,3,1]输出:[1,2,3,5]解法一:插入排序思想:从数组的第二个数开始与前一个数进行比较,如果后面的数比前面的数小,则进行交换。算法复杂度为O(n2n^2n2)题解:def sortArray(self, nums): for i in range(1,len(nums)): for j in rang...

2020-03-31 09:42:47 328

原创 Task3——特征工程

特征工程在数据挖掘中是非常重要的一步,如果特征构建的比较好,对结果将有极大的提升。一般而言,特征工程通常包括7个步骤:异常处理、特征归一化/标准化、数据分桶、缺失值处理、特征构造、特征筛选、降维等。我将各步骤可用的方法整理成了思维导图上传至了百度网盘链接:https://pan.baidu.com/s/1Hs2x8aJ63NoRmMu2RdZt8Q提取码:5e7s有需要的伙伴可自取哦。ste...

2020-03-28 21:35:55 123

原创 Task2——数据分析

1. 赛题理解此次数据挖掘的目标为二手车交易价格预测,该问题本质上是一个回归问题。(1)数据集介绍数据总量超过370000条,随机抽取其中10万条作为训练数据集,5万条作为测试集A,5万条作为测试集B。数据共包含20个特征变量。(2)评估指标对于分类和回归的问题应当采用不同的评估指标。分类:二分类:accuracy, precision, recall, F-score, pr曲线...

2020-03-24 21:37:29 188

原创 求一个区间内的素数

如果给定一个区间范围,有几种方法可以计算出该区间内的素数呢?——有四种方法!在介绍方法之前,先了解一下下面这个函数。1.filter函数filter(function, iteration)filter函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,转换成列表可以用list()fiter函数的功能在于将iteration的每个元素作为参数传递到function中进行判...

2020-03-09 18:00:33 2174

原创 动手学深度学习——语言模型

语言模型一段自然语言文本可以看作是一个离散时间序列,给定一个长度为TTT的词的序列ω1,ω2,...,ωT{\omega_{1},\omega_{2},...,\omega_{T}}ω1​,ω2​,...,ωT​,语言模型的目标就是评估该序列是否合理,即计算该序列的概率。假设序列的每个词是依次生成的,则:P(ω1,ω2,...,ωT)=Πt=1TP(ωt∣ω1,...,ωt−1)=P(ω1)P...

2020-02-14 21:17:47 368

原创 动手学深度学习——循环神经网络

循环神经网络循环神经网络(RNN)主要用于预测任务:基于当前和历史输入序列,预测序列的下一个字符。循环神经网络相对于普通神经网络而言,最大的特点在于颖仓变量HHH的引进,用HtH_{t}Ht​表示HHH在时间步ttt的值,该变量记录了到当前字符为止的序列信息。历史信息的使用使得预测更为精确。循环神经网络的示意图:循环神经网络模型假设Xt∈Rn×d\boldsymbol{X_{t} \in ...

2020-02-14 20:53:42 448

原创 动手学深度学习——文本预处理

文本预处理文本预处理是NLP中不可或缺的一项任务。文本预处理通常包括四个步骤:读入文本、分词、建立字典、将文本从词序列转换为索引序列。(1)读入文本import collectionsimport redef read_time_machine(): with open('/home/kesci/input/timemachine7163/timemachine.txt', '...

2020-02-14 19:41:05 367 1

原创 动手学深度学习——多层感知机

多层感知机多层感知机是一种简单的神经网络,包含输入层、隐藏层以及输出层。如下图所示。多层感知机的计算过程输入层为小批量样本X∈Rn×d\boldsymbol{X} \in \mathbb{R}^{n \times d}X∈Rn×d,批量大小为nnn,输入个数为ddd。上述图的多层感知机为单隐藏层,隐藏层输出为HHH,H∈Rn×h\boldsymbol{H} \in \mathbb{R}^{...

2020-02-14 18:49:58 408

原创 动手学深度学习——softmax与分类模型

softmax基本概念softmax是单层神经网络,与线性回归相同,通常用于离散的分类问题。掌握softmax需要掌握模型、数据集、损失函数和优化函数四个方面。softmax的使用场景softmax一般用于离散分类问题,使用softmax主要解决两个问题:(1)不采用softmax层直接使用输出层会使得输出值的范围不确定,难以通过直观意义确定输出数值的意义。(2)数据集的真实标签是离...

2020-02-14 17:49:06 394

原创 动手学深度学习——线性回归的概念及实现

线性回归的基本要素深度学习的基本要素包括模型、数据集、损失函数、优化函数。线性回归作为深度学习的基础模型,其基本要素也涵盖上述四方面。模型线性回归的模型是线性函数,通常可表示为如下形式:(向量形式)y= WTX+B .\\y = \ W^{T}X+B\,.y= WTX+B.以预测房价的案例为例,X={面积、房龄},则预测房价的表达式为:price=ω1∗are...

2020-02-14 16:28:10 263

原创 利用Python正向/逆向输出乘法口诀表

首先祝大家新年快乐!新的一年要福旺财旺运气旺!愿看到这条博客的小伙伴们在新的一年都能心想事成,万事大吉!今天要更新的内容是利用Python实现乘法口诀表的正向输出和逆向输出1.乘法口诀表正向输出代码:for i in range(1,10): for j in range(1,i+1): print(str(i) + '*' + str(j) + '=' + str(i*j) +...

2020-02-11 11:23:43 2312

原创 SQL进阶教程(一)——CASE表达式

SQL进阶教程之CASE表达式在掌握了基础的标准SQL语法后,可做一些简单的SQL练习题加深记忆和巩固基础知识。然而,SQL基础教程仅仅是帮助零基础的同学入门,要想在面试或工作中用好SQL,需进一步学习进阶教程,从而从初级迈向中级。在这个阶段我参考的书仍然是MICK先生所著的==《SQL进阶教程》==,这本书主要以案例为主,通过不同的案例帮助读者快速了解不同情况下SQL语句的使用策略,对于时间比...

2019-12-21 21:28:28 1429

原创 SQL零基础入门

@SQL基础教程SQL基础教程思维导图本文主要是对MICK所著的《SQL基础教程》的知识点进行了归纳和总结,并且以思维导图的形式呈现。在帮助我学习和复习的过程中希望也能帮助到正在学习SQL的小伙伴们。这本书作为入门级读物,非常适合零基础且想要入门SQL的同学,因此在进行总结时我也尽量做到详述。下面的链接是完整的思维导图,有需要的朋友烦请自取。链接: 链接:https://pan.baidu....

2019-12-19 21:32:34 2719 2

空空如也

空空如也

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

TA关注的人

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