自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 在线教育行业分析报告

一、发展历程1、1996年,101网校上线,在线教育开始萌芽。2、2013年,在线教育创投热潮开启,在线教育开始蓬勃发展。3、2017年,“直播”跑通商业模式,实现了规模化变现。二、行业规模1、2019年全年市场规模预计超3100亿元,预计增速保持在18-21%之间,增速持续降低,但增长势头稳健。2、付费用户数2018年达1.35亿人,同比增长23.3%,预计增速将保持在14-21...

2019-10-24 19:59:40 4347 1

原创 小红书-竞品分析报告

一、竞品分析目的多年来的社区运营使得小红书的社区模块十分强势,对 UGC 的严格把控维持住了小红书社区生态的健康发展,但作为商业闭环的电商模块体验并不好,且营销上过度重视社区,轻于自身商品品质导致品质信服力不高,从而影响购物转化率。当前已有许多传统跨境电商产品增添了社区内容模块,较之小红书,他们的社区处于弱势,但电商十分强势,通过对这些电商强势的竞品进行分析,有利于小红书强化自身的电商体验,增...

2019-06-09 13:57:15 23595 2

原创 ARIMA模型(时间序列)

时间序列:预测股价、降水量等平稳性:样本数据(时间序列数据)有”惯性“要求序列的均值和方差不发生明显变化严平稳:分布情况不随时间的改变而改变弱平稳:期望与相关系数(依赖性)不变【真实数据大多数是弱平稳的】差分法:时间序列在t与t-1时刻的差值,使数据变的更加平稳可做一阶差分,二阶差分…二阶差分是在一阶差分的基础上作差分自回归模型(AR)(1)描述当前值与历史值之间的关系,用变...

2019-05-04 20:51:22 1777

原创 XGBoost调参

import pandas as pdimport numpy as npfrom sklearn.metrics import mean_absolute_error,make_scorerimport xgboost as xgbfrom sklearn.model_selection import GridSearchCVimport warningswarnings.filt...

2019-05-04 19:48:24 562

原创 Xgboost

参考:1、https://www.cnblogs.com/jiangxinyang/p/9248154.html2、《统计学习方法》李航

2019-05-04 15:22:29 135

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

参数调整:https://www.cnblogs.com/pinard/p/6117515.htmlhttps://www.cnblogs.com/pinard/p/6126077.html原理:《统计学习方法》李航练习:import matplotlib.pyplot as pltfrom sklearn.datasets.samples_generator import make_b...

2019-05-03 20:45:16 166

原创 降维——PCA

PCA:参考:https://www.cnblogs.com/pinard/p/6239403.html目的:提取有价值的信息目标:希望投影后的值尽可能分散选择K个单位正交基,使得原始数据变换到这组基上后,各字段两两协方差为0,字段的方差尽可能大(1)先对数据进行去中心化(2)构建协方差矩阵(对角线为方差,其他元素为协方差):目标:对角线最大,其他值为0(3)进行对角化处理:求出...

2019-05-03 15:32:19 185

原创 机器学习——聚类算法(K-means、DBSCAN)

1、K-means参考:https://www.cnblogs.com/pinard/p/6164214.html过程:1、 随机在数据当中抽取k个样本,当做三个类别的中心点2、 计算其余的点到k个中心点的距离,每一个样本有三个距离,从中选择距离最近的一个点作为自己的标记形成k个族群3、 分别计算k个族群的平均值,把三个平均值与旧中心点进行比较相同:结束聚类不相同:把三个平均值当作新...

2019-05-03 11:55:07 613

原创 机器学习——决策树与随机森林

from sklearn.model_selection import train_test_splitimport pandas as pdfrom sklearn.feature_extraction import DictVectorizer #字典特征抽取from sklearn.tree import DecisionTreeClassifier,export_graphviz...

2019-05-02 15:28:19 241

原创 机器学习——朴素贝叶斯

理论部分:https://www.cnblogs.com/pinard/p/6069267.html朴素贝叶斯:多用于文档分类预测属于某一类的概率,找出最大的特点:依赖训练集不需要调参多用于文本分类优点:发源于古典数学理论,有稳定的分类效率对缺失数据不敏感分类准确率高,速度快缺点:特征条件独立性假设训练集当中进行统计词工作、会对结果造成干扰步骤:1、加载数据、分割2...

2019-05-02 14:18:31 113

原创 机器学习——KNN

相关参数:https://www.cnblogs.com/xiaotan-code/p/6680438.html算法实现:from sklearn.neighbors import KNeighborsClassifierfrom sklearn.model_selection import train_test_splitfrom sklearn import datasetsiris...

2019-05-01 21:36:24 153

原创 机器学习—线性回归、岭回归与逻辑回归

理论部分:https://www.cnblogs.com/pinard/p/6029432.htmlsklearn中逻辑回归相关参数:https://www.cnblogs.com/pinard/p/6035872.html对是否患癌症进行预测:from sklearn.datasets import load_breast_cancerfrom sklearn.metrics impor...

2019-05-01 19:04:58 354

原创 计算一个式子的值

#(1)无小括号#(2)右小括号import collectionsclass Solution: def calculate(self, s: str) -> int: print(value(str,0)[0])def value(str,i):#返回长度为2的数组,返回计算结果和算到的位置 que=collections.deque() ...

2019-04-07 15:15:10 384

原创 判断完全二叉树、搜索二叉树

思想:层次遍历(1)有右无左,False(2)左右不全,必须接下来的每一个节点都是叶节点,才是Trueimport queuedef isCBTtree(head): if not head: return False que=queue.Queue() que.put(head) flag=False #激活判断 while q...

2019-04-07 13:30:40 117

原创 正则表达式匹配

题目:给定一个字符串 (s) 和一个字符模式 §。实现支持 ‘.’ 和 ‘’ 的正则表达式匹配。‘.’ 匹配任意单个字符。'’ 匹配零个或多个前面的元素。匹配应该覆盖整个字符串 (s) ,而不是部分字符串。说明:s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a-z 的小写字母,以及字符 . 和 。示例 1:输入:s = “aa”p = “a”输出:...

2019-04-06 18:45:59 138

原创 环形链表约瑟夫问题

思想:新编号(一定是1)推旧编号公式1:【长度为i的链表编号与报数的关系】编号=(报数m-1)%长度i+1公式2:【新编号(长度i-1)与旧编号(长度i)之间的关系】旧编号=(新编号-1+弹出编号s)%长度i+1联合推出:旧编号=(新编号+报数m-1)%长度i+1公式1的推导公式2的推导:代码:def live(head,m): if not head or h...

2019-04-06 17:14:08 262

原创 LRU

参考:https://blog.csdn.net/bell10027/article/details/80940260#LRUimport collectionsclass LRUCache: def __init__(self,capacity): self.dic=collections.OrderedDict() self.remain=cap...

2019-04-05 16:11:07 115

原创 树形dp

1、判断是否为平衡二叉树代码1:# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: ...

2019-04-05 11:04:14 122

原创 单调栈结构(求数组中每一个数最近的大值or小值)

求最大值:栈顶到栈底(小到大)求最小值:栈顶到栈顶(大到小)栈中仅记录下标即可,用下标寻找arr中的值不满足弹出,结算弹出的数据应用1:def maxsquare(arr): #单调栈,从上到下,从大到小,找两边离自己最近的比自己小的值 stack=[] #单调栈,谁让他弹出谁是离它最近的小的,下面的是另一边比自己小的 maxarea=0 #结果 ...

2019-04-04 13:56:33 412

原创 累加和为目标值的最长子数组、异或和为0的最大划分(注意思想)

思路:对每个位置进行考虑分析,然后从中找到最大的1、累加和为目标值的最长子数组def longestSumArray(arr,k): #k为目标值 dict={} #记录每个位置的累加和,key为累加和,value为当前位置 ll=0 #输出 summ=0 dict[0]=-1 #重要步骤,位置-1的累加和为0 ...

2019-04-04 11:17:08 730

原创 矩阵打印(宏观调度思路)

1、转圈打印矩阵:def circleprint(matrix): #主函数 row1=0 col1=0 row2=matrix.shape[0]-1 col2=matrix.shape[1]-1 while row1<=row2 and col1<=col2: #越界则结束,循环一次(左上方->右下方,右下方->左上方)...

2019-04-02 16:03:14 203

转载 自定义比较函数的Heap类

参考:https://www.cnblogs.com/yaozhaoyz/p/3595842.htmlimport heapqimport randomclass Element(): def __init__(self, a, b, c): self.a = a self.b = b self.c = cclass MyHeap...

2019-04-02 14:58:24 579 1

原创 随时返回数据流中的中位数、返回最大的k个数-堆结构

参考:https://blog.csdn.net/xinkengruo3162/article/details/88928408随时返回数据流中的中位数小数放大根堆,大数放小根堆,保持两个堆的平衡,最后取出两个堆的头节点即可import heapq#实现大根堆,heapy默认的是小根堆class bigHeap(): def __init__(self): sel...

2019-04-02 13:30:01 249

原创 队列和栈

1、用大小固定的数组实现队列和栈实现栈:index:放数的位置index-1:拿数的位置class arraystack(): def __init__(self): self.arr=[0]*5 self.index=0 def peek(self): if self.index==0: return...

2019-04-02 12:18:10 65

原创 桶排序

桶排序:(计数排序和基数排序)基于数据状况的排序,需要知道数的范围,桶个数为数范围大小,先放进桶里,再倒回原数组。时间复杂度:O(N),空间复杂度O(N)。基于数据状况的排序,工程上很少用。计数排序的实现:def jishu_sort(arr): if arr==None and len(arr)<2: return bucket=[0 for i in...

2019-04-02 11:52:52 107

原创 二叉树后继节点

二叉树后继节点,中序遍历的后一个节点(1)有右子树,右子树的最左节点是后继(2)无右子树,并且是父节点的左孩子,父节点为后继(3)无右子树,并且是父节点的右孩子,查该节点是哪个节点左子树的最后节点(一直往上找,找到一个节点是父节点的左孩子,则该父节点为后继节点)class Node(): def __init__(self,item): self.elem=ite...

2019-04-02 11:12:58 1174

原创 折纸问题——二叉树中序遍历

折纸问题——二叉树中序遍历def printProcess(i, N, down): #down为True,表示当前节点为下节点(左节点),False表示上节点(右节点) if i>N: #i当前层数,N为总层数 return printProcess(i+1,N,True) if down: ...

2019-04-01 20:16:10 195

原创 python中的堆结构(切金条问题,投资项目——利用堆结构)

参考:https://blog.csdn.net/minxihou/article/details/51857518from heapq import * #默认小根堆heap=[]heappush(heap,4)heappush(heap,3)heappush(heap,5)heappush(heap,9)heappush(heap,0)print(heappop(heap)...

2019-04-01 19:23:55 337

原创 复杂数据结构-前缀树(trie tree)

节点(pass,end,nexts)pass:有多少个节点划过end:有多少个字符串以该节点结尾nexts数组:有多少条边,设为26长度的数组(表示从a-z),值为空表示不存在这条路,为node表示存在(即这条路的下一个节点)。也可用hashmap表示:(key:a的ascii码,value:对应的node)应用:1、查询一个字符串(eg:hello)在数据集中出现过多少次:(哈希表可...

2019-04-01 14:21:44 182

原创 复杂数据结构-并查集

并查集支持两个操作:(1)查询两个元素是否属于一个集合isSameSet(A,B)(2)合并两个集合union(A,B)(先查询,再合并)目的:减少时间复杂度结构:(value,parent)单个元素集合,指针指向自己具体操作:(1)查询:一直往上找,找到上级指针指回自己的点,即该集合的代表点。如果代表点相同,在一个集合;否则属于不同的集合。(2)合并:较少节点的集合挂在较大...

2019-04-01 12:42:08 115

原创 经典排序算法

冒泡、选择、插入冒泡def bubblesort(arr): if not arr or len(arr)<2: return arr for i in range(len(arr)-1): for j in range(len(arr)-i-1):#不会越界 if arr[j]>arr[j+1]: ...

2019-04-01 09:48:48 170

原创 二叉树遍历(添加元素、递归遍历、非递归遍历、morris遍历)

添加元素、广度遍历、三种深度递归遍历class Node(): def __init__(self,item): self.elem=item self.lchild=None self.rchild=Noneclass Tree(): def __init__(self): self.root=None ...

2019-03-31 20:28:01 111

原创 BFPRT寻找第top-k元素

思想:参考:https://blog.csdn.net/panglinzhuo/article/details/79795172BFPRT算法总体思想:1.将所有n个数据分为n/5(的向下取整)组,每一组有5个元素, 用归并/快速排序求出每一组的中位数(时间复杂度为*5log5 * n/5, 即O(n)),并递归的调用BFPRT算法求出这n/5个中位数的中位数(T(n/5)), 也就是第n/...

2019-03-31 20:08:03 97

原创 马拉车manacher算法-最长回文字串

**参考:**https://blog.csdn.net/zuanfengxiao/article/details/80341483def manacher(s): s="#"+"#".join(s)+"#" print(s) RL=[0]*len(s) #回文半径数组 maxRight=0 #回文半径的最右边界 C=0 #...

2019-03-31 16:53:55 161

原创 KMP算法-返回str2在str1的最早位置,不存在返回-1返回str2在str1的最早位置,不存在返回-1

#KMP算法#next数组计算def Next(arr): nexxt=[] nexxt.append(-1) nexxt.append(0) i=2 cn=0 #记录前一个数的前缀和后缀匹配的最大值 while i<len(arr): if arr[i-1]==arr[cn]: #前一个字符与最长前缀下一个字符相等的情况...

2019-03-30 11:52:20 156

原创 贪心练习(字符串拼接、活动安排)

1、拼接输入的字符串或整数,输出最大的(最小的)m=list(input().split())for i in range(len(m)-1): for j in range(len(m)-i-1): if m[j]+m[j+1]<m[j+1]+m[j]: m[j],m[j+1]=m[j+1],m[j]m=''.join(m)print...

2019-03-30 10:14:15 237

原创 窗口最大值更新结构

窗口内最大值的更新结构#双端队列,双向链表结构,从头到尾从大到小#加数:没有直接进;小于原来,直接进;大于原来,弹出数,直到找到该数的位置,进入#减数:看头部下标是否过期,出窗口,没过期,不动#窗口最大值即为头部最大值from collections import dequedef maxwindow(nums,k): if k==1: return nums...

2019-03-29 20:14:25 105

原创 经典算法练习

#判断b是否是a的循环字符串,a="abc"b="cab"s=a+aprint(b in s)#返回字符串向右移动k位的结果(也可以左逆+右逆,再全逆)c="12345"k=3for i in range(k % len(c)): #确定进行几次移动 c = c[-1] + c[0:-1] #通过字符串的切片,切除最后一个元素,然后加上从开头到倒数第二个元素pr...

2019-03-29 19:36:54 71

原创 子数组的最大累加和

注:子数组连续,子序列不连续arr=[5,2,-6,2,4]cur=0maxx=float("-inf")for i in range(len(arr)): cur=cur+arr[i] maxx=max(cur,maxx) cur=max(0,cur)print(maxx)两个假设 :(1)累加和最大(2)累加和最大中最长的数组(0,L-1)累加和一定...

2019-03-29 18:57:17 193

原创 最大存水量问题

求两边最大值,用小的减去当前值,左右指针法,时间复杂度o(n),空间复杂度o(1)arr=[5,2,6,2,4]l=1r=len(arr)-2maxl=arr[0]maxr=arr[len(arr)-1]water=0while l<=r: if maxl<maxr: water+=max(maxl-arr[l],0) if ma...

2019-03-29 18:36:34 431

空空如也

空空如也

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

TA关注的人

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