自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ChungChinKei' blog

With great power comes great responsibility.

  • 博客(81)
  • 收藏
  • 关注

原创 CentOS7+ Hadoop3.2.0+MySQL5.7安装配置Hive3.1.1

一、安装环境操作系统:CentOS7.6Hadoop版本:Hadoop3.2.0MySQL版本:MySQL5.7Hive的安装基于Hadoop,因此需要先搭建好Hadoop环境,详细可见:CentOS7 + Hadoop 3.2.0集群搭建;其次以MySQL作为Hive的元数据库,所以也要先安装好MySQL,详见:CentOS7下yum方式安装MySQL5.7二、安装配置Hive官...

2019-08-07 10:34:24 3767 7

原创 排序算法(Python)

快速排序核心思想是分而治之。具体步骤如下:在数组中选择一个元素作为基准,可以取任意值,但一般取中值帮助理解;数组中所有的数组都与基准进行比较,比基准小就移动基准的左边,比基准大就移动到基准右边;以基准两边的子数组作为新数组,重复第一二步,直到子数组剩下一个元素。快排是一种不稳定排序,其期望时间复杂度为O(nlogn),最坏情况时间复杂度为O(n^2)。分治思想的排序在处理大数据集的...

2019-07-31 08:54:03 218 1

原创 SVM

目录支持向量机(SVM)函数间隔与几何间隔间隔最大化拉格朗日对偶性KKT条件支持向量机(SVM)支持向量机是一种二分类模型,其学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题。给定线性可分数据集T={(x1,y1),(x2,y2),...,(xN,yN)}T=\lbrace(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\rbraceT={(x1​,...

2019-07-15 19:56:27 170

原创 Logistic Regression

前言写这个系列的主要原因,是想系统性地对之前学过的知识进行整理,顺便为秋招做好准备。本文不再对一些简单的概念进行大量阐述,重点放在算法本身,如公式的推导及统计学的理解。Logistic Regressionlogistic regression 用于解决二分类问题,对于给定的数据集T={(x1,y1),(x2,y2),...,(xN,yN)}T=\lbrace(x_1,y_1),(x_2,...

2019-06-11 15:34:05 144

原创 Boosting(AdaBoost、GBDT)

BoostingBoosting也是Ensemble Learning(集成学习)中重要的一类,和Bagging的并行式不同,Boosting的核心思想是按顺序去训练分类器,每一个都要尝试修正前面的分类。其中最具有代表性的是的是Adaboost(适应性提升, Adaptive Boosting)和Gradient Boosting(梯度提升)。对于Boosting方法来说,有两个非常重要的问题...

2019-08-13 15:11:45 245

原创 Spark分析Amazon DataSet(实现Spark TF-IDF)

准备工作本例使用Home and Kitchen数据集,附上下载链接.数据集有reviews_Home_and_Kitchen_5.json.gz和ratings_Tools_and_Home_Improvement.csv两个文件。前者是json文件,内容如下:{"reviewerID": "APYOBQE6M18AA", "asin": "0615391206", "reviewerN...

2019-08-12 15:26:43 625

原创 pyspark实现ALS矩阵分解算法

准备工作本例使用MovieLens ml-100k数据集实现ALS矩阵分解算法,附上数据集下载链接.推荐算法实例打开jupyter notebook,新建一个Python3 notebook:import osimport sys# 动态加载pyspark目录SPARK_HOME = os.environ.get('SPARK_HOME')sys.path.insert(0,os...

2019-08-12 15:04:36 1394

原创 Spark的jupyter notebook开发环境搭建及pyspark的使用

开启服务启动Hadoop,Spark并开启jupyter notebook的远程服务:[root@DW1 ~]# start-all.sh# 我把spark的start-all.sh更名为start-spark-all.sh,不然有与hadoop重名的风险[root@DW1 ~]# start-spark-all.sh# root用户要加--allow-root[root@DW1 ~]...

2019-08-12 13:48:41 1263 1

原创 剑指Offer 46.把数字翻译成字符串(Python)

给定一个数字,我们按照如下规则把它翻译为字符串:0翻译成”a”,1翻译成”b”,……,11翻译成”l”,……,25翻译成”z”。一个数字可能有多个翻译。例如12258有5种不同的翻译,它们分别是”bccfi”、”bwfi”、”bczi”、”mcfi”和”mzi”。请编程实现一个函数用来计算一个数字有多少种不同的翻译方法。

2019-08-12 08:21:47 737

原创 剑指Offer 48.最长不含重复的子字符串(Python)

题目描述请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。假设字符串中只包含‘a’~'z’的字符。示例:在字符串‘’arabcacfr‘’中,最长的不含重复字符的子字符串是‘’acfr‘’,长度为4.解题思路动态规划...

2019-08-09 17:08:12 304

原创 剑指Offer 65.不用加减乘除做加法(Python)

题目描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、×、÷ 四则运算符号。解题思路位运算以位运算代替四则运算,具体分为三步:第一步不考虑进位,各位相加;第二步记录下进位;第三步将前两步的结果相加.结合具体例子5+17=22:我们先从十进制的思路去分析如何做加法:第一步5和17各位相加不进位得到12(个位数5和7相加不进位是2,十位数1和0相加不进位是1);...

2019-08-08 13:37:55 343

原创 剑指Offer 64.求1+2+...+n(Python)

题目描述求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。解题思路短路逻辑+递归当n大于0时,由于and运算符的短路逻辑,return n+self.Sum_Solution(n-1);而n = 0时,return n.class Solution: def Sum_Solution(se...

2019-08-08 11:10:21 159

原创 Windows下PyTorch简易安装教程

1.安装环境OS: Windows Server 2016 Standard EvaluationCUDA: Cuda compilation tools, release 10.1, V10.1.105Python: Python 3.7.3conda: conda 4.6.13因为是在工作站上安装,所以系统是Windows Server的,Windows10的安装方法也一样。其次,预...

2019-08-07 20:49:36 4391

原创 HQL实现Hive的WordCount实例

前言1.创建wordcount数据库hive> create database wordcount;OKTime taken: 2.313 secondshive> show databases;OKdefaultwordcountTime taken: 0.926 seconds, Fetched: 2 row(s)2.创建表官方的Tutorial给出一...

2019-08-07 16:12:14 332

原创 CentOS7下yum方式安装MySQL5.7

下载官方mysql的rmp包(base) [root@DW1 ~]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) # 进入/usr/local/src/路径,下载mysql的rpm包(base) [root@DW1 ~]# cd /usr/local/mysql# 官网上最新的是8.0,也可以下载8.0的r...

2019-08-06 15:33:42 681

原创 CentOS7 + Hadoop 3.2.0集群搭建

准备工作关闭防火墙[root@DW1 ~]# systemctl stop firewalld.service[root@DW1 ~]# systemctl disable firewalld.service[root@DW1 ~]# firewall-cmd --statenot running关闭SELINUX# 修改为SELINUX=disabled[root@DW1 ~]...

2019-08-06 11:52:57 1070

原创 CentOS7安装JDK1.8.0

查看可安装的JDK版本[root@DW1 yum.repos.d]# yum search java|grep jdk...java-1.8.0-openjdk-devel.i686 : OpenJDK Development Environmentjava-1.8.0-openjdk-devel.x86_64 : OpenJDK Development Environment 8jav...

2019-08-06 11:16:37 456

原创 CentOS7配置阿里云yum源和EPEL源

安装wget原生CentOS7没有wget工具,而后续要下载阿里云的源,所以我们要先安装wget.[root@DW1 ~]# cd /etc/yum.repos.d/[root@DW1 yum.repos.d]# yum -y install wget备份系统原生的yum源有些博客没有注意与前一步的顺序,如果我们先备份源,就会因为没有yum源而无法安装wget.[root@DW1 ...

2019-08-06 10:52:09 583

原创 CentOS7下安装Anaconda和搭建jupyter notebook远程登录服务

https://www.anaconda.com/distribution/[root@DW1 anaconda]# lltotal 529208-rw-r--r-- 1 root root 541906131 Aug 5 2019 Anaconda3-2019.07-Linux-x86_64.sh[root@DW1 anaconda]# bash Anaconda3-2019....

2019-08-05 18:39:55 587

原创 CentOS7 + Hadoop3.2.0 + Spark2.4.3搭建

搭建准备首先 下载Spark安装包,注意如果之前搭建了Hadoop,要选择对应的的版本。我之前搭建的是Hadoop 3.2.0伪分布式环境,因此下载spark包的时候,要选择Pre-build for Apache Hadoop 2.7 and later.在/usr/local下创建spark文件夹,然后解压我们刚才下载的包。[root@DW1 spark]# tar -zxvf spa...

2019-08-05 11:38:07 1582 1

原创 Hadoop MapReduce处理MovieLens ml-100k数据集

数据集介绍待补充user id | item id | rating | timestamp.map阶段#coding=utf-8import sysfor line in sys.stdin: line = line.strip().split() #userid rating print "%s\t%s" % (line[0], line[2])[r...

2019-08-03 21:30:09 1424

原创 Python实现MapReduce的WordCount实例

目录基本信息尽管Hadoop的基本框架是用java实现的,但hadoop程序不限于java,可以用python、C++及ruby等等。本例实现统计输入文本的单词的频数。操作系统:CentOS7.6Hadoop版本: Hadoop 3.2.0伪分布式环境Python版本: Python2.7.5实例代码mapreduce参考资料用python写MapReduce函数——以...

2019-08-02 14:28:42 1481

原创 初步认识MapReduce

MapReduce介绍MapReduce是hadoop的一种分布式计算框架,用于大规模的并行计算。MapReduce的工作阶段可以分为Map阶段和Reduce阶段,这也是MapReduce名字的由来,每一个阶段都是以键值对(key/value)作为输入和输出。在实际编程中,底层的东西框架已经帮我们写好了,我们只要定义Map和Reduce任务,实现几个接口就好了。MapReduce的运行机制...

2019-08-01 20:35:42 182

原创 剑指Offer 63.股票的最大利润 | LeetCode 121/122/123 买卖股票的最佳时机(Python)

目录剑指Offer 63.股票的最大利润LeetCode 121.买卖股票的最佳时机ILeetCode 122.买卖股票的最佳时机IILeetCode 123.买卖股票的最佳时机III剑指Offer 63.股票的最大利润 | LeetCode 121.买卖股票的最佳时机I假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖一次该股票可能获得的利润是多少?样例:输入:[9, ...

2019-08-01 15:57:37 150

原创 剑指Offer 62.圆圈中最后剩下的数字(Python)

题目描述0, 1, …, n-1这n个数字(n>0)排成一个圆圈,从数字0开始每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。样例:输入:n=5 , m=3输出:3解题思路题目是经典的约瑟夫(Josephuse)环问题。模拟圆圈用一个数组去模拟圆圈,然后每次在数组中删除第m个元素。时间复杂度为O(n)O(n)O(n),空间复杂度为O(n)O(n)O...

2019-08-01 15:19:13 503

原创 剑指Offer 61.扑克牌中的顺子(Python)

题目描述从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,大小王可以看做任意数字。为了方便,大小王均以0来表示,并且假设这副牌中大小王均有两张。样例1:输入:[8,9,10,11,12]输出:true样例2:输入:[0,8,9,11,12]输出:true解题思路要为顺子必须满足以下几个条件:...

2019-08-01 15:18:12 416

原创 剑指Offer 60.n个骰子的点数(Python)

题目描述把n个骰子扔在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能的值的概率。解题思路其本质是求数列f(n)=f(n−1)+f(n−2)f(n−3)+f(n−4)+f(n−5)+f(n−6)f(n) = f(n-1) +f(n-2) f(n-3)+ f(n-4) +f(n-5)+ f(n-6)f(n)=f(n−1)+f(n−2)f(n−3)+f(n−4)+f(n−5)+...

2019-08-01 15:15:26 884 2

原创 剑指Offer 59.队列的最大值(Python)

滑动窗口的最大值给定一个数组和滑动窗口的大小,请找出所有滑动窗口里的最大值。样例:输入:数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3输入:一共存在6个滑动窗口,它们的最大值分别为{4,4,6,6,6,5}解题思路蛮力法扫描每个滑动窗口的所有数字并找出其中的最大值。如果滑动窗口为k,则需要O(k)O(k)O(k)时间才能找出滑动窗口里的最大值。对于长度为n的输入数组,这...

2019-08-01 10:26:34 716

原创 初步认识HDFS的原理及架构

1.HDFS介绍在现代的企业环境中,数据存储主要存在两个问题:存储的数据量大,单机往往无法存储大量数据;存储不够安全,节点不可用时数据容易丢失。分布式文件系统就是为了解决以上两个问题而诞生的,而 HDFS(Hadoop Distributed File System) 就是Hadoop的分布式文件系统具体实现。可以理解为,Hadoop是对大量数据进行分布式处理的系统框架,而HDFS是H...

2019-07-31 20:54:30 175

原创 剑指Offer 58.翻转字符串(Python)

目录翻转单词顺序左旋转字符串 翻转单词顺序输入一个英文橘子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。样例:输入:"I am a student."输出:"student. a am I"解题思路split / join利用内置方法可以一行写完,除了体现python的强大以外,毫无用处。class Solution: ...

2019-07-31 16:57:28 192

原创 剑指Offer 57.和为s的数字(Python)

和为s的两个数字输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对的数字的和等于s,则输出任意一对即可。样例:输入:数组{1,2,4,7,11,15}和数字15输出:4和11解题思路首先可以想到O(n2)O(n^2)O(n2)的做法:固定一个元素,判断剩下的n-1个和这个元素相加是否等于s. 这种解法显然忽略了递增排序这一个特点。想想更好的...

2019-07-31 14:18:39 137

原创 剑指Offer 53.在排序数组中查找数字(Python)

数字在排序数组中出现的次数统计一个数字在排序数组中出现的次数。样例:输入:排序数组{1,2,3,3,3,3,4,5}和数字3输出:4解题思路因为是排序数组,我们首先想到用二分查找去解决问题。核心思想就是用二分查找找到数组中的第一个k和最后一个k.二分查找剑指Offer上的做法,时间复杂度为O(logn)O(logn)O(logn).注意二分查先找到任意一个k再向两边遍历是...

2019-07-31 11:06:38 443

原创 剑指Offer 51.数组中的逆序对(Python)

题目描述在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。样例:输入:数组{7,5,6,4}输出:存在5个逆序对,分别是{7,6},{7,5},{7,4},{6,4},{5,4},解题思路将数组分解成成两个长度为2的子数组,在把这两个子数组分别拆分为两个长度为1的子数组。接下来一边合并相邻的子数组,一边统计逆...

2019-07-31 09:11:31 1111

原创 剑指Offer 50.第一个只出现一次的字符(Python)

题目描述字符串中第一个只出现一次的字符。示例:输入“abaccdeff”输出“b”解题思路通过构建哈希表来实现,定义哈希表的键为字符,而值为字符出现的次数。hash map第一次扫描的时间复杂度是O(n)O(n)O(n),第二次扫描读出第一个数字的时间复杂度是O(1)O(1)O(1)。创建大小为256,以字符ASCII码为键值的哈希表,空间复杂度为O(1)O(1)O(1)。...

2019-07-30 15:32:13 395

原创 Windows10 / Ubuntu16.04下使用VirtualBox搭建CentOS7虚拟环境

前言开启了新一轮的学习计划,和Datawhale的大佬们一起学习hadoop等大数据架构。因此想通过博客的形式,记录从零开始重新搭建各种环境与集群的过程,具体的学习任务也以提纲的形式放在了我的github。回归主题,一开始是准备在Ubuntu16.04下搭建的,也顺利完成了搭建。但因为各种客观原因(主要是手头上没有支持Ubuntu的无线网卡,网口也比较紧张),所以后续又改在Windows10下...

2019-07-30 14:19:50 229

原创 剑指Offer 49 | LeetCode 263/264 丑数系列(Python)

LeetCode 263.丑数编写一个程序判断给定的数是否为丑数。丑数就是只包含质因数 2, 3, 5 的正整数。解题思路丑数定义为只包含质因数2,3,5的正整数,因此:如果一个数能被2整除,就连续除以2;能被3整除,就连续除以3;能被5整除,就连续除以5;最后如果得到1,则这个数是丑数。class Solution: def isUgly(self, num: int...

2019-07-25 16:13:03 136

原创 剑指Offer 47.礼物的最大价值(Python)

剑指Offer 47.礼物的最大价值(Python)

2019-07-25 14:22:21 384

原创 剑指Offer 38 | LeetCode 46/47 全排列系列(Python)

目录LeetCode 46.全排列剑指Offer 38.字符串的全排列LeetCode 46.全排列给定一个没有重复数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]解题思路求全排列,可以看成两步:第一步求可能出...

2019-07-24 16:36:14 165

原创 剑指Offer 44.数字序列中某一位的数字 | LeetCode 400.第N个数字(Python)

剑指Offer 44.数字序列中某一位的数字数字以0123456789101112131415…的格式序列化到一个字符序列中。在这个序列中,第5位(从0开始计数)是5,第13位是1,第19位是4,等等。请写一个函数,求任意第n位对应的数字。LeetCode 400.第N个数字在无限的整数序列1,2,3,4,5,6,7,8,9,10,11,…中找到第n个数字。解题思路举一个具体的例子来...

2019-07-24 14:51:33 389

原创 剑指Offer 42.连续子数组的最大和 | LeetCode 53.最大子序和(Python)

剑指Offer 42.连续子数组的最大和输入一个整型数组,数组里有整数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的个的最大值。示例:输入的数组为{1,-2,3,10,-4,7,2,-5},其最大子数组{3,10,-4,7,2},输入为该子数组的和18。LeetCode 53.最大子序和两题表述不一样,实际上是同一个题。解题思路动态规划如果用函数f(i...

2019-07-23 15:20:02 176

空空如也

空空如也

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

TA关注的人

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