自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

翻译 卷积神经网络小案例

x形态是[25]的一维数组;yTrain形态是[3]的一维数组。

2019-06-11 18:01:53 1719 1

原创 847. 访问所有节点的最短路径(无向连通图的最短路径)

无向连通图的最短路径!!!参考:https://www.cnblogs.com/MrSaver/p/9465181.html思路:from collections import deque, namedtupleclass Solution(object): def shortestPathLength(self, graph): """ :ty...

2019-04-10 21:14:45 7647 1

原创 112. 路径总和

思路:找到递归结束的判决条件: if not root: return False if not root.left and not root.right and root.val == s: return True代码如下:# Definition for a binary tree node.# class...

2019-04-10 20:39:00 180

原创 113. 路径总和 II

思路:运用递归,首先要判断递归结束的条件。1. 限制条件是从根到叶子结点!if not node: return # 只要没达到叶子结点,就一路存储结点 tmp.append(node.val) 2. 找到需要的道路(判决条件): # 需要的道路(判决条件):到达叶子结点且道路总和为sif not node.left and not node.right a...

2019-04-10 20:13:44 128

原创 437. 路径总和 III

思路:一:# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution(obje...

2019-04-10 19:33:19 234

原创 103. 二叉树的锯齿形层次遍历

思路:层次遍历:下面这中方式复杂化了:变动了结点# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right = Non...

2019-04-10 16:26:34 150

原创 102. 二叉树的层次遍历

# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution(object): ...

2019-04-10 11:30:45 120

原创 111. 二叉树的最小深度

思路:递归# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution(obje...

2019-04-10 11:13:00 103

原创 104. 二叉树的最大深度

思路:递归实现:# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution(o...

2019-04-10 10:53:07 95

原创 332. 重新安排行程

思路:方法一:dfs加回溯class Solution: def findItinerary(self, tickets: List[List[str]]) -> List[str]: from collections import defaultdict graph = defaultdict(list) for i in ...

2019-04-10 10:20:11 452

原创 310. 最小高度树

对于一个具有树特征的无向图,我们可选择任何一个节点作为根。图因此可以成为树,在所有可能的树中,具有最小高度的树被称为最小高度树。给出这样的一个图,写出一个函数找到所有的最小高度树并返回他们的根节点。思路:最小高度的树的根一定不会在叶子节点取得!(怎么判断是叶子呢?它的邻边数量为1)每一轮修剪一次剩余的所有叶子节点,一旦节点数量只有1或者2,停止修剪,返回答案。class Solut...

2019-04-08 17:17:20 291

原创 997. 找到小镇的法官

class Solution(object): def findJudge(self, N, trust): """ :type N: int :type trust: List[List[int]] :rtype: int """ res = [0] * N res_1 = ...

2019-03-30 11:48:37 207

原创 485. 最大连续1的个数

方法一:class Solution(object): def findMaxConsecutiveOnes(self, nums): """ :type nums: List[int] :rtype: int """ res = ''.join(str(x) for x in nums).split('0...

2019-03-30 10:54:47 98

原创 973. 最接近原点的 K 个点

class Solution(object): def kClosest(self, points, K): """ :type points: List[List[int]] :type K: int :rtype: List[List[int]] """ res = [] ...

2019-03-30 10:36:31 137

原创 837. 新21点

思路:动态规划类似爬楼梯的问题,每次可以跨[1,W]个楼梯,当一共爬了K个和以上的台阶时停止,问这个时候总台阶数<=N的概率。使用动态规划,dp[i]表示得到点数i的概率,只有当现在的总点数少于K的时候,才会继续取数。那么状态转移方程可以写成:1. 当i <= K时,dp[i] = (前W个dp的和)/ W;(爬楼梯得到总楼梯数为i的概率)2. 当K < i &lt...

2019-03-30 10:28:14 154

转载 967. 连续差相同的数字

思路:N位数,可以先找到满足条件的一位数、二位数、三位数。。。直到N维数。class Solution(object): def numsSameConsecDiff(self, N, K): """ :type N: int :type K: int :rtype: List[int] """ ...

2019-03-30 08:55:14 193

原创 72. 编辑距离

动态规划:将大问题分解为小问题。用一个二维数组dp[i][j]表示word1的前i个字符匹配到word2的前j个字符需要几次操作。class Solution(object): def minDistance(self, word1, word2): """ :type word1: str :type word2: str ...

2019-03-29 15:53:08 87

原创 787. K 站中转内最便宜的航班(加权有向图的最短路径)

题目:思路: 加权图的最短路径1. 首先将航线转化为字典形式存储。(当前城市–下一城市–费用)2. 建一个双向队列,元素为元组形式。(当前城市,src到当前城市的费用,中转次数)3. 记录src到目的地dst的最小费用cheapest=1e6。(先设置为一个很大的数,这样在最后若cheapest=1e6,则说明没有从src到dst的路径,此时,返回-1)4. 然后处理队列:4...

2019-03-29 10:54:39 658

原创 141. 环形链表

思路:

2019-03-29 10:27:31 71

原创 665. 非递减数列

思路: 遍历整个数组,如果遇到nums[i]&gt;nums[i+1]的情况,则要么修改nums[i],要么修改nums[i+1]。若修改一次就能成功,则去掉nums[i]或者num[i+1],剩下的数组必然是非递减的。class Solution: def checkPossibility(self, nums): """ :type nums: Li...

2019-01-04 16:20:19 112

原创 210. 课程表 II

现在你总共有 n 门课需要选,记为 0 到 n-1。在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1]给定课程总量以及它们的先决条件,返回你为了学完所有课程所安排的学习顺序。可能会有多个正确的顺序,你只要返回一种就可以了。如果不可能完成所有课程,返回一个空数组。示例 1:输入: 2, [[1,0]] 输出: ...

2019-01-04 11:59:44 186

原创 二叉树(前序,中序,后序,层序)遍历递归与循环的python实现

待整理,可参考博文:https://www.cnblogs.com/bjwu/p/9284534.html

2019-01-04 11:59:31 262

原创 207. leetcode 课程表

题目:现在你总共有 n 门课需要选,记为 0 到 n-1。在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1]给定课程总量以及它们的先决条件,判断是否可能完成所有课程的学习?示例 1:输入: 2, [[1,0]]输出: true解释: 总共有 2 门课程。学习课程 1 之前,你需要完成课程 0。所以这是可能的...

2019-01-04 11:59:10 442

原创 938. 二叉搜索树的范围和

思路: 明确二叉搜索树的性质。按中序遍历后得到的数组是升序排列的。L和R中间的数其实也相当于[L, R]之间的数。这样有几种方法可以得到:注意: root = [10, 5, 15, 3, 7, 13, 18, 1, null, 6] 是按层从左到右给出的。方法一、直接遍历二叉树,遍历过程中直接把[L, R]之间的数相加。遍历条件: if node.val &lt; R: ...

2019-01-04 11:58:36 286

原创 530. 二叉搜索树的最小绝对差

注意:二叉搜索树的性质:任意节点x,其左子树中的key不大于x.key,其右子树中的key不小于x.key。因此,中间节点的值一定是其左右节点值的中间数,因此最小差别一定是在中间节点与左右节点之间思路: 中序遍历二叉搜索树,每次比较当前节点与前一节点差值的绝对值与目前result中保存的最小值的大小,将较小的保存在result中。第一直觉:用 gloabal 辅助中序遍历80秒...

2019-01-03 16:33:26 227

原创 107. 二叉树的层次遍历 II

想法:# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: def levelO...

2019-01-03 14:21:10 143

原创 分词

分词是进行词性标注、命名实体识别、关键词提取、文本聚类等后续自然语言处理任务的基础,也是语义分析等深层次文本理解任务的基础。 研究方法主要分为 三种: • 基于规则的方法 • 基于传统机器学习模型的方法: 0. N-gram语言模型 N-gram 语言模型是用来计算一个词串或者是一句话W=w1w2…wn出现概率的统计模型。N-gram 模型假设某词的出现概率只与该词前面的 n-...

2018-09-15 17:09:45 311

原创 朴素贝叶斯

朴素贝叶斯分布:python实现:强烈推荐:[博主]特征值是连续值时,用高斯模型,得到各类别下单个特征的均值和方差,得到正态分布的概率密度,由概率密度,就可以把值带进去,算出某一点的自此类别下对应特征的概率(密度)。 sklearn关于朴素贝叶斯三种模型的实例:参照适用案例:垃圾邮件分类,优点:对缺失数据不太敏感,算法也比较简单,常用于文本分类。缺点:由于我们是通过先验和...

2018-09-11 16:33:18 140

原创 csv文件查找指定内容

csv_keyword = csv.reader(open('Keyword.csv', 'r'))keywords = []for row in csv_keyword: keywords.append(row)print(keywords)for i in range(len(keywords)): if '证券' in keywords[i][2]: ...

2018-05-10 11:32:37 9662

原创 匹配关键字,给新闻贴上个股标签

贴上个股标签import csvimport pandas as pdfrom database import Database#from connect_keywords.database import Databasecsv_file = csv.reader(open('finace_news_content.csv', 'r'))csv_keyword = csv.reade...

2018-05-09 16:05:36 383

原创 去重的类函数实现

# -*- coding: utf-8 -*-import pandas as pdimport numpy as npimport jieba.posseg as psegimport codecsfrom gensim import corpora, models, similaritiesfrom database import Databasefrom demo impor...

2018-04-19 18:22:06 382

原创 SVD简介

一、回顾:特征分解 特征值和特征向量的定义如下:Ax=λxAx=\lambda x A∈ℝn∗nA\in\mathbb{R}^{n*n}, x∈ℝn∗1x\in\mathbb{R}^{n*1}, λ\lambda 是矩阵 AA 的一个特征值,而 xx 是 λ\lambda 所对应的特征向量。 利用特征值和特征向量,我们可以对矩阵进行矩阵分解。如果我们求出了矩阵AA 的 nn 个特征值 λ1,

2018-01-11 14:00:29 1000

原创 PCA推导

一、协方差、协方差矩阵:方差是描述一维数据样本本身相对于均值的偏离程度。 思考:如果遇到含有多维数据的数据集,比如要统计多个学科的考试成绩,面对这样的数据集,我们当然可以按照每一维独立的计算其方差,但是通常我们还想了解更多,比如,某个考生数学成绩很好(数学成绩平均值高,且其方差小),他的物理成绩也很好(物理成绩平均值高,且其方差小),这些可以用均值和方差来描述,但是我们想要了解考生的数

2018-01-10 17:58:41 458

原创 降维-主成分分析

一、降维动机:1.1、数据压缩:占内存小,可加快学习算法下面举个小例子: 将数据从二维降至一维: 假使我们要采用两种不同的仪器来测量一些东西的尺寸,其中一个仪器测量结果的单位是英寸,另一个仪器测量的结果是厘米,我们希望将测量的结果作为我们机器学习的特征。现在的问题的是,两种仪器对同一个东西测量的结果不完全相等(由于误差、精度等),而将两者都作为 特征有些重复,因而,我们希望将这个二维的数

2018-01-10 08:48:38 840

原创 使用朴素贝叶斯过滤垃圾邮件

使用朴素贝叶斯解决一些现实生活中的问题时,需要先从文本内容得到字符串列表,然后生成词向量。下面这个例子中,将了解朴素贝叶斯的一个著名的应用:电子邮件垃圾过滤。 (1)收集数据:提供文本文件 (2)准备数据:将文本文件解析成词条向量 (3)分析数据:检查词条确保解析的正确性 (4)训练算法:使用我们之前建立的trainNB()函数 (5)测试数据:使用classify

2018-01-08 22:22:07 1708

原创 【机器学习 】使用朴素贝叶斯进行文档分类

朴素贝叶斯的一般过程: 1、收集数据:任何方法 2、准备数据:需要数值型或者布尔型数据 3、分析数据:有大量特征时,绘制特征作用不大,此时使用直方图效果更好 4、训练算法:计算不同的独立特征的条件概率 5、测试算法:计算错误率 6、使用算法:常见的朴素贝叶斯应用是文档分类。可以在任何分类场景中使用朴素贝叶斯分类器,不一定非要文本。思考:如果每个特征需要N

2018-01-07 20:05:56 2272

原创 【机器学习】决策树(下)CART算法分类树、回归树

创建分支的伪代码如下:> if so return 类标签; else> 寻找划分数据集的最好特征> 划分数据集> 创建分支结点> for 每个分支结点> 调用函数createBranch并增加返回结点到分支结点中//递归调用createBranch()> return 分支结点C

2018-01-06 17:29:29 955

原创 【机器学习】决策树(上)

前言:决策树是一种基本的分类与回归算法。可以认为是if-then规则的集合,也可以认为是定义在特征空间与类空间上的条件概率分布。 学习时,利用训练数据,根据损失函数最小化原则建立决策树模型。 学习包括3个步骤:特征选择、决策树的生成、决策树的修建一、决策树模型 更多参照博文分类决策树模型:是一种描述对实例进行分类的树形结构。由结点和有向边组成。结点有两种类型:内部结点和叶结点。内部结点

2018-01-05 16:05:42 834

原创 用k-近邻算法:手写识别系统

用k-近邻算法:手写识别系统一、准备数据:将图像转换为测试向量我们将图像格式化处理为一个向量:把一个32x32的二进制图像矩阵转换为1x1024的向量。还是在kNN.py文件中,编写将图像转换为向量的函数如下:#将图像转换为测试向量def img2vector(filename): returnVect = zeros((1, 1024))#创建一个1x1024的nump

2018-01-05 10:40:43 379

原创 使用k-近邻算法改进约会网站的配对效果

有关k-近邻的理论知识以及算法实现,可查看上一篇博文k-近邻 此文以一个实际例子:使用k-近邻算法改进约会网站的配对效果。 在约会网站上使用k-近邻算法: 1、收集数据:提供文本文件 2、准备数据:使用python解析文本文件 3、测试算法:将数据集分为训练数据和测试数据。用训练数据训练分类器,用测试数据集评估分类器。 4、使用算法:输入一些特征数据来判断是否是自己

2018-01-04 15:08:51 1711

空空如也

空空如也

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

TA关注的人

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