- 博客(55)
- 资源 (1)
- 收藏
- 关注
原创 Linux下CPython源码的编译
最近在看一本python的书《CPython Internals: Your Guide to thePython 3 Interpreter》打算研究一下Cpython的代码,然后就在Linux(ubuntu)下编译了Cpython源码,在此记录一下。1. 使用git下载cpython源码git clone --branch 3.9 https://github.com/python/cpythoncd cpython2. 使用weget下载cpython3.9.7版本,使用这种是适用于
2021-09-11 15:56:31 1561
原创 LeetCode: 189. 旋转数组
给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。你可以使用空间复杂度为O(1) 的原地算法解决这个问题吗?示例 1:输入: nums = [1,2,3,4,5,6,7], k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,6,7,1,2,3,4]示例2:输入:nums = [-1,-100,3,99], k = 2输出:[...
2021-07-18 23:23:19 203
原创 LeetCode: 977. 有序数组的平方
给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。示例 1:输入:nums = [-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为 [16,1,0,9,100]排序后,数组变为 [0,1,9,16,100]示例 2:输入:nums = [-7,-3,2,3,11]输出:[4,9,9,49,121]提示:1 <= nums.length <= 104-104 <=
2021-07-18 23:13:43 287
原创 LeetCode: 35. 搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0分析:这个其实是很经典的二分查找的变种,区别在于之前的查找不到,返回-1,现在返回会被按顺序插入的位置。可以参.
2021-07-17 22:34:18 179
原创 LeetCode: 278. 第一个错误的版本
你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有 n 个版本 [1, 2, ..., n],你想找出导致之后所有版本出错的第一个错误的版本。你可以通过调用bool isBadVersion(version)接口来判断版本号 version 是否在单元测试中出错。实现一个函数来查找第一个错误的版本。你应该尽量减少对调用 API 的次数。示例 1:输入:n = 5, bad..
2021-07-17 22:08:43 108
原创 LeetCode: 704. 二分查找
LeetCode704.二分查找给定一个n个元素有序的(升序)整型数组nums 和一个目标值target ,写一个函数搜索nums中的 target,如果目标值存在返回下标,否则返回 -1。示例 1:输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: 9 出现在 nums 中并且下标为 4示例2:输入: nums = [-1,0,3,5,9,12], target = 2输出: -1解释: 2 不存在 nums 中因此返回 -...
2021-07-17 21:44:33 165
原创 Linux下和Windows10下搭建Go1.16语言环境
本文主要介绍在Linux和window10下搭建Go语言环境。1. Linux下安装Go登录Go官网,选择Linux安装包进行下载,如下图所示。下载go1.16.5.linux-amd64.tar.gz后,在linux终端下执行如下命令进行解压,我们安装在 /usr/local/,目录下。执行下面的命令会先删除之前安装的/usr/local/go数据,如果之前安装过,请在继续之前备份所有数据。找到安装包的位置,在此目录下执行下面的命令,如果提示没有权限,在最前面加上sudo以root用户的身份运行。
2021-06-28 14:49:21 656
原创 关于安装pyhanlp失败的解决方法
pyhanlp 安装失败后,网上看的这篇《关于安装pyhanlp失败》得到了解决,在此记录下。pyhanlp github地址:https://github.com/hankcs/pyhanlp。
2018-08-18 19:53:59 7038
原创 jieba分词 python
最近在学习jieba分词,看了一些资料,记录在此。地址:https://github.com/fxsjy/jieba 结巴中文分词阅读资料:[1] https://github.com/fxsjy/jieba 结巴中文分词[2] Python3 jieba分词[3] python结巴分词、jieba加载停用词表[4] Python中文分词 jieba 十五分钟入门与进阶...
2018-08-05 00:13:04 476
原创 LeetCode:第35题:搜索插入位置(search-insert-position)
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], ...
2018-08-03 23:40:20 335
原创 LeetCode:第27题:移除元素(remove-element)
给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前...
2018-08-02 23:30:02 445
原创 Leetcode: 第26题: 删除排序数组中的重复项
地址:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的元素。...
2018-08-02 22:53:38 215
原创 LeetCode:第7题: 反转整数(reverse-integer)
一、题目Given a 32-bit signed integer, reverse digits of an integer.Example 1:Input: 123Output: 321Example 2:Input: -123Output: -321Example 3:Input: 120Output: 21Note:Assume we a...
2018-08-02 22:09:15 357
原创 LeetCode:第一题: Two Sum
一、题目Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution, and you may not use the...
2018-08-02 21:20:33 229
原创 Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX 12.2942 问题解
参考的这篇博文警告:Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2018-06-27 21:48:01 201
原创 中文信息处理发展报告(2016)
最近在阅读《中文信息处理发展报告(2016)》,感觉写的不错。需要的同学,可以去中文信息学会网址下载。地址:http://www.cipsc.org.cn/下载的地方如下图所示:...
2018-06-17 22:51:54 1742
原创 谷歌机器学习:问题构建 (Framing):机器学习主要术语
谷歌机器学习:问题构建 (Framing):机器学习主要术语地址:https://developers.google.cn/machine-learning/crash-course/framing/ml-terminology什么是(监督式)机器学习?简单来说,它的定义如下:机器学习系统通过学习如何组合输入信息来对从未见过的数据做出有用的预测。下面我们来了解一下机器学习的基本术语。标签标签是我们...
2018-06-12 23:09:04 293
原创 机器学习热爱者的自学指南:机器谷歌机器学习速成课(中文版)
机器学习速成课程 使用 TensorFlow API网址:https://developers.google.cn/machine-learning/crash-course/目录简介:前提条件和准备工作机器学习概念:框架处理(15 分钟)机器学习中的监督学习深入了解机器学习(20 分钟)什么是损失函数,权重和 bias 是什么降低损失(60 分钟)两种梯度下降,及对学习率的实验使用 Tensor...
2018-06-12 22:55:01 466
原创 skearn官方文档及中文版文档
以前学习了sklearn,感觉确实经典。现在再认真的看一遍sklearn文档,常读常新!!官网地址: scikit-learn(sklearn)Scikit-Learn (Sklearn) 中文文档 0.19
2018-06-10 22:32:34 3323
原创 机器学习实战笔记(十六):大数据与MapReduce
最近在看《机器学习实战》一书,关于大数据与MapReduce这一章的内容,在网上看了一些不错的博客,在此记录下。[1] 机器学习实战】第15章 大数据与MapReduce[2] 机器学习笔记(Chapter 15 - MapReduce框架)...
2018-06-06 21:08:23 780 1
原创 机器学习实战笔记(十五):利用SVD简化数据
最近在看《机器学习实战》一书,关于利用SVD简化数据这一章的内容,在网上看了一些不错的博客,在此记录下。[1] SVD简化数据[2] 【机器学习实战】第14章 利用 SVD 简化数据[3] [完]机器学习实战 第十四章 利用SVD简化数据[4] SVD简化数据[5] 奇异值分解SVD与PCA[6] 奇异值分解(SVD)原理详解[7] 机器学习笔记]奇异值分解SVD简介及其在推荐系统中的...
2018-06-06 21:00:42 297
原创 机器学习实战笔记(十四):利用PCA来简化数据
最近在看《机器学习实战》一书,关于利用PCA来简化数据这一章的内容,在网上看了一些不错的博客,在此记录下。[1] 机器学习实战之PCA[2] 机器学习第十三章:利用PCA来简化数据[3] 主成分分析(Principal components analysis)-最大方差解释[4] 机器学习实战之PCA[5] [机器学习]-PCA数据降维:从代码到原理的深入解析[6] 通俗理解PCA降维作用...
2018-06-06 20:47:55 475
原创 机器学习实战笔记(十三):使用 FP-growth 算法来高效发现频繁项集
最近在看《机器学习实战》一书,关于 K-均值聚类算法这一章的内容,在网上看了一些不错的博客,在此记录下。[1] 机器学习实战笔记-使用FP-growth算法来高效发现频繁项集[2] 机器学习之使用FP-growth算法来高效发现频繁项集[3] 使用Apriori算法和FP-growth算法进行关联分析(Python版)...
2018-06-04 23:35:32 303
原创 机器学习实战笔记(十二):使用 Apriori 算法进行关联分析
最近在看《机器学习实战》一书,关于 K-均值聚类算法这一章的内容,在网上看了一些不错的博客,在此记录下。[1] 第 11 章 使用 Apriori 算法进行关联分析[2] Apriori算法进行关联分析(1)[3] 使用Apriori算法进行关联分析--代码学习[4] 使用Apriori算法和FP-growth算法进行关联分析...
2018-06-04 23:20:12 342
原创 机器学习实战笔记(十一):利用 K-均值聚类算法对未标注数据分组
最近在看《机器学习实战》一书,关于 K-均值聚类算法这一章的内容,再网上看了一些不错的博客,在此记录下。[1] 机器学习实战之K-Means算法[2] 算法杂货铺——k均值聚类(K-means)[3] 深入理解K-Means聚类算法[4] K-means聚类算法的三种改进(K-means++,ISODATA,Kernel K-means)介绍与对比[5] 机器学习(二)——K-均值聚...
2018-06-04 22:36:44 317
原创 机器学习实战笔记(十): 树回归
最近在看《机器学习实战》一书,关于树回归这一章的内容,再网上看了一些不错的博客,在此记录下。[1] 机器学习实战之树回归[2] 【机器学习实战-python3】树回归[3] 【机器学习实战 第九章】树回归 CART算法的原理与实现[4] [完]机器学习实战 第九章 树回归[5] 从决策树到随机森林:树型算法的原理与实现...
2018-06-04 21:55:12 492
原创 Windows下简单快速的安装xgboost的方法,亲测有效!
xgboost库安装参考了这篇博文《Windows下在Anaconda3中安装python版的XGBoost库》\。需要说明的是,我把下载后的文件放在了D:\Anaconda3\mywhl目录下。接下来启动Anaconda Prompt.输入: pip install D:\Anaconda3\mywhl\xgboost-0.6+20171121-cp36-cp36m-win_amd64....
2018-06-04 21:21:00 953
原创 机器学习实战笔记(九):预测数值型数据:回归
最近在看《机器学习实战》一书,关于预测数值型数据:回归这一章的内容,再网上看了一些不错的博客,在此记录下。[1] 机器学习实战之回归[2] Python3《机器学习实战》学习笔记(十一):线性回归基础篇之预测鲍鱼年龄[3] 第8章 预测数值型数据:回归[4] 机器学习实战 第八章 预测数值型数据:回归(Regression)...
2018-06-03 23:28:54 445
原创 机器学习实战笔记(八):利用 AdaBoost 元算法提高分类性能
最近在看《机器学习实战》一书,关于利用 AdaBoost 元算法提高分类性能这一章的内容,再网上看了一些不错的博客,在此记录下。[1] Python3《机器学习实战》学习笔记(十):提升分类器性能利器-AdaBoost[2] 机器学习实战之AdaBoost算法[3] 分类算法中的非均衡问题[4] [机器学习]-Adaboost提升算法从原理到实践[5] 面试:机器学习--Adaboo...
2018-06-03 21:02:51 287
原创 机器学习实战笔记(七):支持向量机(SVM)(Python3 实现)
关于支持向量机的文章挺多。这里记录下自己感觉不错的博文,供大家在阅读《机器学习实战》一书时,作为参考。 [1] Python3《机器学习实战》学习笔记(八):支持向量机原理篇之手撕线性SVM[2] Python3《机器学习实战》学习笔记(九):支持向量机实战篇之再撕非线性SVM[3] 机器学习实战之SVM[4] 支持向量机系列[5] 支持向量机通俗导论(理解SVM的三层境界)[6]...
2018-06-03 15:54:38 2066
原创 机器学习实战笔记(六):Logistic回归(Python3 实现)
1 Logistic回归介绍 假设现在有一些数据点,我们用一条直线对这些点进行拟合(该线称为最佳拟合直线),这个拟合过程就称作回归。利用Logistic回归进行分类的主要思想是:根据现有数据对分类边界线建立回归公式,以此进行分类。这里的“回归”一词源于最佳拟合,表示要找到最佳拟合参数集。训练分类器时的做法就是寻找最佳拟合参数,使用的是最优化算法。 1.1 Logistic回归的一般过程...
2018-06-03 00:04:27 10084 5
原创 机器学习实战笔记(五):基于概率论的分类方法: 朴素贝叶斯(Python3 实现)
1 基于贝叶斯决策理论的分类方法1.1 朴素贝叶斯优点:在数据较少的情况下仍然有效,可以处理多类别问题。缺点:对于输入数据的准备方式较为敏感。适用数据类型:标称型数据。2 使用朴素贝叶斯进行文档分类 2.1 朴素贝叶斯的一般过程(1) 收集数据:可以使用任何方法。本章使用RSS源。(2) 准备数据:需要数值型或者布尔型数据。(3) 分析数据:有大量特征时,绘制特征作用不大,此时使用直方图效果更好。...
2018-06-02 17:51:24 675
原创 机器学习实战笔记(四):决策树(Python3 实现)
1 决策树的构造 1.1决策树的特点优点:计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关特征数据。缺点:可能会产生过度匹配问题。适用数据类型:数值型和标称型。 在构造决策树时,我们需要解决的第一个问题就是,当前数据集上哪个特征在划分数据分类时起决定性作用。为了找到决定性的特征,划分出最好的结果,我们必须评估每个特征。完成测试之后,原始数据集就被划分为几个数据子集。这些...
2018-05-31 23:42:04 494
原创 并查集详解
并查集不再单独自己写Java代码实现了,看了几篇不错的文章,在此记录下。1. 数据结构--并查集的原理及实现(这篇是java语言实现)以下3篇都是转载的同一篇文章的,感觉写的挺通俗且有趣。2. 并查集详解 (转)3. 超有爱的并查集~4. 一个很有意思的并查集详解...
2018-05-22 23:43:23 209
原创 优先队列---最大堆:Java语言实现
1 堆(heap)的简单介绍 堆(英语:heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵树的数组对象。堆总是满足下列性质:a. 堆中某个节点的值总是不大于或不小于其父节点的值;b. 堆总是一棵完全二叉树。 将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。常见的堆有二叉堆、斐波那契堆等。堆的定义如下:n个元素的序列{k1,k2...
2018-05-22 23:24:15 1523
原创 平衡二叉树——AVL树的旋转操作:Java语言实现(这篇有误, 后续会重写订正,不要再学习这篇了!!!)
1 前言 最近在研读《数据结构与算法经典问题解析》和《数据结构与算法分析 c语言描述》两本书,记录一下学习AVL树的笔记。2 平衡二叉树——AVL树的旋转操作2.1 AVL树的特点AVL树本质上还是一棵二叉搜索树,它的特点是:1.本身首先是一棵二叉搜索树。2.带有平衡条件:每个结点的左右子树的高度之差的绝对值(平衡因子)最多为1。也就是说,AVL树,本质上是带了平衡功能的二叉查找树(...
2018-05-21 23:34:28 3547 8
原创 二叉搜索树的插入、删除、查找等操作:Java语言实现
1 二叉搜索树介绍 二叉搜索树(BST, Binary Search Tree),也称二叉排序树或二叉查找树。二叉搜索树:一棵二叉树,可以为空;如果不为空,满足以下性质:1. 非空左子树的所有键值小于其根结点的键值。2. 非空右子树的所有键值大于其根结点的键值。3. 左、右子树都是二叉搜索树。2 二叉搜索树的主要操作2.1 二叉搜索树的查找操作 查找从根结点开始,如果树为空,...
2018-05-20 17:39:33 2042
原创 二叉树的非递归遍历:Java语言实现
1 前言 上一篇写了《二叉树的递归遍历:Java语言实现》,现在用java实现下二叉树的非递归遍历。2 二叉树的非递归遍历2.1 先序遍历 根据前序遍历访问的顺序,优先访问根结点,然后再分别访问左孩子和右孩子。即对于任一结点,其可看做是根结点,因此可以直接访问。访问完之后,若其左孩子不为空,按相同规则访问它的左子树;当访问其左子树时,再访问它的右子树。因此其处理过程如下:对...
2018-05-20 00:42:20 627
原创 开篇博文:万事开头难,知难而进
第一次写博文,不知道从何说起,这才真切地感觉到了万事开头难。想想竟有了一些退缩的念头,但还是决定要知难而进,用博文的形式记录自己学习的点点滴滴以及一些思考。都说好记性不如烂笔头,随着年龄的增大,更加体会到了这一点。考虑到这个因素,更加促使我想通过博文这种记录的方式来记录自己学习的点滴。一方面是充当备忘录的功用,以备不时之需,另一方面则通过写博文来锻炼自己的语言、逻辑组织能力。除此之外,...
2018-05-19 19:01:57 242
原创 二叉树的递归遍历:Java语言实现
1 前言 所谓遍历(Traversal)是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。访问结点所做的操作依赖于具体的应用问 题。 遍历是二叉树上最重要的运算之一,是二叉树上进行其它运算之基础。 由于二叉树的递归遍历相对与非递归遍历而言,形式统一,代码简单,比较容易理解。所以,本文先用Java实现二叉树的递归遍历方法。下篇博文介绍非递归遍历的实现。2 二叉树的...
2018-05-19 18:49:48 896
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人