自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (2)
  • 收藏
  • 关注

原创 数据分析实战之数据预处理

1.餐饮销量数的统计量情况import pandas as pdimport matplotlib.pyplot as plt# 餐饮销量数的统计量情况catering_sale = '../data/chapter3/demo/data/catering_sale.xls' # 餐饮数据data = pd.read_excel(catering_sale, index_col='...

2019-12-16 20:16:36 945

原创 深度学习

1.神经网络实现分类# 设计神经网络结构,按照已定结构训练神经网络实现分类业务import numpy as npimport matplotlib.pyplot as mp# sigmoid函数def active(x): return 1/(1+np.exp(-x))# 导函数def backward(x): return x*(1-x)# 向前...

2019-12-16 16:47:26 213

原创 机器学习6之图像识别

1.OpenCv基础import numpy as npimport cv2 as cv# 读取图片original = cv.imread('../data/ml_data/forest.jpg')cv.imshow('Original', original)# 显示图片某个颜色通道的图像blue = np.zeros_like(original)blue[:, :, 0]...

2019-12-13 17:08:29 1272

原创 机器学习5之自然语言处理

1.处理流程 语音识别 自然语言处理 - 语义分析 逻辑分析 - 结合业务场景与上下文 自然语言处理 - 分析结果生成自然语言文本 语音合成 自然语言处理的常用处理过程:先针对训练文本进行分词处理(词干提取、原型提取),统计词频,通过词频-逆文档频率算法获得该词对样本语义的贡献,根据每个词的贡献力度,构建有监督分类学习模型。把测试样本交给模型处...

2019-12-13 11:23:03 392

原创 机器学习4之聚类

1.k-means算法第一步:随机选择k个样本作为k个聚类的中心,计算每个样本到各个聚类中心的欧氏距离,将该样本分配到与之距离最近的聚类中心所在的类别中。第二步:根据第一步所得到的聚类划分,分别计算每个聚类的几何中心,将几何中心作为新的聚类中心,重复第一步,直到计算所得几何中心与聚类中心重合或接近重合为止。# 加载multiple3.txt,基于K均值算法完成样本的聚类impor...

2019-12-12 09:51:58 327

原创 机器学习3之分类

1.人工分类import numpy as npimport matplotlib.pyplot as mpx = np.array([ [3, 1], [2, 5], [1, 8], [6, 4], [5, 2], [3, 5], [4, 7], [4, -1]])y = np.array([0, 1, 1, 0, 0,...

2019-12-11 17:53:52 332

原创 机器学习2之回归

1.线性回归# 基于线性回归训练single.txt中的训练样本,使用模型预测测试样本。import numpy as npimport sklearn.linear_model as lmimport matplotlib.pyplot as mp# 采集数据x, y = np.loadtxt('../data/ml_data/single.txt', ...

2019-12-10 20:33:29 245

原创 机器学习1之基础

1.典型应用 股价预测、推荐引擎、自然语言识别、语音识别、图像识别、人脸识别2.机器学习的基本问题1)回归问题:根据已知的输入和输出寻找某种性能最佳的模型,将未知输出的输入代入模型,得到连续的输出。2)分类问题:根据已知的输入和输出寻找某种性能最佳的模型,将未知输出的输入代入模型,得到离散的输出。3)聚类问题:根据已知输入的相似程度,将其划分为不同的群落。3.基本步骤...

2019-12-09 17:51:22 123

原创 数据分析8之pandas

1.pandas核心数据结构"""Series可以理解为一个一维的数组,只是index名称可以自己改动。类似于定长的有序字典,有Index和 value"""import numpy as npimport pandas as pddata = np.array(['a', 'b', 'c', 'd'])s = pd.Series(data)print(s)s = pd...

2019-12-05 17:46:20 197

原创 数据分析7之数学基础2

1.奇异值分解"""有一个矩阵M,可以分解为3个矩阵U、S、V,使得U x S x V等于M。U与V都是正交矩阵(乘以自身的转置矩阵结果为单位矩阵)。那么S矩阵主对角线上的元素称为矩阵M的奇异值,其它元素均为0。"""import numpy as npM = np.mat('4 11 14; 8 7 -2')U, sv, V = np.linalg.svd(M, full_...

2019-12-05 08:52:46 168

原创 数据分析6之数学基础

1.符号数组import matplotlib.pyplot as mpimport numpy as npimport matplotlib.dates as mdimport datetime as dt# 若相比上一天的收盘价上涨,则为正成交量;若相比上一天的收盘价下跌,则为负成交量。# 绘制OBV柱状图# 日期转换函数def dmy2ymd(dmy): dm...

2019-12-03 17:51:56 227

原创 数据分析5之线性模型

1,线性预测import numpy as npimport matplotlib.pyplot as pltimport datetime as dtimport matplotlib.dates as md# 日期转换函数def dmy2ymd(dmy): dmy = str(dmy, encoding='utf-8') time = dt.datetime...

2019-12-02 17:30:28 361

原创 数据分析4之numpy常用函数

1.加载文件import numpy as npimport matplotlib.pyplot as pltimport datetime as dtimport matplotlib.dates as md# 日期转换函数# def dmy2ymd(dmy):# dmy = str(dmy, encoding='utf-8')# time = dt.da...

2019-11-29 17:42:56 252

原创 数据分析3之几种常用图

1.填充两条曲线之间区域import matplotlib.pyplot as pltimport numpy as npn = 1000x = np.linspace(0, 8*np.pi, n)sin_x = np.sin(x)cos_x = np.cos(x/2)/2plt.figure('filling graph')plt.xlabel('x')plt.yla...

2019-11-28 16:46:59 2007

原创 数据分析2之数据可视化

1.matplotlib基本使用import numpy as npimport matplotlib.pyplot as plt# y=x**2绘制x_arr = np.arange(9)y_arr = x_arr**2plt.plot(x_arr, y_arr)# 绘制水平线plt.hlines(30, 2, 7, colors='red')# 绘制垂直线# plt...

2019-11-27 12:03:31 175

原创 数据分析1之numpy

1.常用库1. numpy 基础数值算法2. scipy 科学计算3. matplotlib 数据可视化4. pandas 序列高级函数2.numpy基本使用import numpy as nparr = np.array([1, 2, 3, 4])print(type(arr))print(ar...

2019-11-26 17:38:34 197

原创 链表的插入排序

首先介绍一下直接插入排序,对于无序序列2,4 ,3,1,5。首先初始化两个序列,有序序列{2}和无序序列{4,3,1,5},把4放进有序序列,从第一个节点开始比较,找到插入位置,把带插入节点插入相应的位置,得到新的序列{2,4},{3,1,5},依次进行下去,直至无序序列为空。下面来介绍链表的插入排序(1)初始化带头节点L有序链表,ListNode *L=new ListNode(-1);...

2018-07-25 10:38:49 646

原创 二叉树前序中序后序的非递归遍历

1前序遍历按照根左右的顺序进行遍历,首先访问根节点,若左孩子非空,访问左子树;右孩子非空访问右子树。以此规则遍历整个二叉树(1)当前点入栈,输出该节点(2)如当前节点左孩子非空,访问该节点的左孩子回到(1)(3)若当前节点左孩子为空,访问该节点右孩子回到(1) stack<TreeNode*>s; vector<int> res; Tr...

2018-07-25 10:16:49 173

原创 链表中环的入口节点

题目描述一个链表中包含环,请找出该链表的环的入口结点。设置两个指针,p2每步走两次,p1每步走一次,若它们相遇,快指针比慢指针多走一圈,假定慢指针所走步数为K。头结点pHead到相遇节点步数为k,一圈的步数也为k,有L(pHead,p1)=L(p2,p1),因此L(pHead,p0)=L(p,p0)(对应的优弧的长度),把p2设置为头结点,同步走,由于p1,p2到环的入口点距离相等,因此p1,p2...

2018-05-18 10:53:05 88

原创 二叉搜索树与双向链表

题目描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。首先,二叉搜索树的特点是根>左孩子,根<右孩子。因此,root.left=左子树最右节点,root.right=右子树最左节点。/*struct TreeNode { int val; struct TreeNode *left; struct TreeNo...

2018-05-18 09:48:11 70

原创 复杂链表的复制

题目描述输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)本质上是做一个复杂链表的副本,首先在原链表后面增加一个副本节点,副本节点的val和指针与原链表保持同步,然后把副本链表分离出来就可以了。首先是节点复制,*pnode=1,插入副本...

2018-05-17 15:00:22 86

原创 二叉搜索树的后序遍历

题目描述输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。首先,二叉搜索树的特点是根节点大于左孩子,小于右孩子。后序遍历的最后一个节点是根节点,因此小于根节点的为左子树,大于根节点发构成右子树。示例:对于后序遍历序列sequece={2,9,5,16,17,15,19,18,12},根节点为sequence[n...

2018-05-17 11:02:24 832

原创 从上往下打印二叉树

题目描述从上往下打印出二叉树的每个节点,同层节点从左至右打印。二叉树的遍历很容易,难点在于二叉树的按层次遍历。这里借助队列来实现按层遍历输出二叉树的节点。每次输出当前节点值,然后把当前节点的左右孩子进入队列,该节点出队。每次输出完当层节点值,值有下一层的节点进入队列,这样就可以实现二叉树的按层输出。/*struct TreeNode { int val; struct TreeNode *l...

2018-05-17 10:32:12 80

原创 栈的压入弹出序列

题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)首先给出入栈序列pushv={1,2,3,4,5}和出栈序列popv={4,5,3,2,1}....

2018-05-17 09:44:59 69

原创 包含min函数的栈

题目描述定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。定义两个栈,v1,minv;分别表示压入原始数据的栈和压入当前最小数据的栈。(1)minv为空,直接把原始数据value入栈(2)minv非空,若压入数据value比minv栈顶还要小,value入栈minv;否则minv继续栈顶元素。这样就保证minv是原始数据的最小元素,并且两个栈的元素个数保持一致,其中,最小元素就...

2018-05-17 09:19:50 97

原创 树的子结构

题目描述输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)判断B是不是A的子结构就看B的值是否与A中的对应值都相等。(1)若A当前值与B根节点不等,则继续在A的左子树,右子树值查找是否有与B根节点相等的点。(2)若A当前值与B根节点相等,则分别从A,B的左右子树查看两个值是否相等,直到B为空为止,一旦有不相等,返回false。/*struct TreeNo...

2018-05-16 21:05:27 68

原创 反转链表

题目描述输入一个链表,反转链表后,输出链表的所有元素。首先定义newH=null,*p1=3为头指针。储存下一个节点temp=p1->next;然后3成为新链表的表尾,指向空,有p1->next=newH,此时,表头为newH,newH=p1,然后处理下一个节点,p1=temp;这是一步的结果,最终得到/*struct ListNode { int val; struct Lis...

2018-05-16 20:42:50 73

原创 链表中倒数第k个结点

题目描述输入一个链表,输出该链表中倒数第k个结点。设置两个指针,第一个先走k步,然后两个指针同步走,当第一个指针到达链表表尾,第二个指针即为链表的倒数第k个节点。/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class Solutio...

2018-05-16 20:10:04 62

原创 矩形覆盖

题目描述我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?                     当n>=2时,有如上两种填充方案,可以得到递推公式f(n)=f(n-1)+f(n-2);这是有一个求斐波那契数列的变种,一般的递归求解太复杂,我们考虑从低阶开始计算变种斐波那契数列的第n项。class Solutio...

2018-05-16 19:55:47 66

原创 用两个栈实现队列

题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。首先定义两个栈来模拟队列操作,stack1用来实现队列的入队操作,stack2来实现队列的出队操作。首先stack2是空。入队:直接把元素push stack1即可。出队:由于队列是先进先出,因此要把stack1栈底元素提取出来,直接一次pop stack2元素push进stack2,直到stack1为空,...

2018-05-16 19:27:38 75

原创 重建二叉树

题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。pre={1,2,4,7,3,5,6,8},vin={4,7,2,1,5,3,8,6},首先根节点pHead=new treenode(pre[0]);不断...

2018-05-16 16:31:28 65

原创 从尾到头打印链表

题目描述输入一个链表,从尾到头打印链表每个节点的值。首先,我们知道的是链表的表头,要从头到尾打印链表的节点值,而栈是后进先出的,自然而然想到读到链表的节点值时入栈,知道到达链表的表尾,依次出栈,就得到了链表的从尾到头的节点值。/*** struct ListNode {* int val;* struct ListNode *next;* Lis...

2018-05-16 15:02:49 70

原创 替换空格

请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。若只考虑输出替换后的字符串,则只需定义一个新字符串,当原字符串不为空格,push_back该字符,当原字符串为空格,push_back“%20”即可.class Replacement {public: string replaceSp...

2018-05-16 14:54:44 51

原创 二维数组的查找

题目描述在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。一般的想法是从最左上端(最小)开始找,但是有两个方向都是增大的,不好判断到底从哪个方向走,但是从斜对角线考虑的话就方便多了,若比当前小,则向左查找;若比当前大,向下查找。对于矩阵:1    2    3            ...

2018-05-16 14:39:21 66

推荐系统j简单介绍.pdf

推荐系统是利用电子商务网站向客户提供商品信息和建议,帮助用户决定应该购买什么产品,模拟销售人员帮助客户完成购买过程。个性化推荐是根据用户的兴趣特点和购买行为,向用户推荐用户感兴趣的信息和商品。 随着电子商务规模的不断扩大,商品个数和种类快速增长,顾客需要花费大量的时间才能找到自己想买的商品。这种浏览大量无关的信息和产品过程无疑会使淹没在信息过载问题中的消费者不断流失。

2019-11-27

算法导论中文版

《算法导论》原书名——Introduction to Algorithms,是2006年机械工业出版社出版出版的图书,作者是Thomas H.Cormen、Charles E.Leiserson等。

2018-10-15

空空如也

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

TA关注的人

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