- 博客(45)
- 收藏
- 关注
原创 GIthub搭建静态网页并绑定阿里云域名
0.背景创建一个静态网站用于展示自己,组织,项目等。1.利用github建立网站建立一个以用户名打头的仓库,形式为xxx.github.io,xxx必须是你的用户名,否则可能不起作用。仓库可以是privte或者public的,但是注意即使仓库是private,仍然可以通过网站访问到部分信息。克隆仓库,建立一个index.html网页(访问网站时默认展示的网页),然后add,commit,...
2018-11-18 15:20:47 943
原创 Mac上无法ssh localhost
0.背景在Hadoop的伪分布式等场景中,我们需要主机可以ssh到自身启动守护进程,所以需要无密码登录localhost。1.正常的流程在其他Unix-like的系统中,我们使用一下方式即可。ssh-keygen -t -rsa -P '' -f ~/.ssh/id_rsacat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys关于a...
2018-11-18 14:23:58 2968 1
原创 Mac上gdb启用pretty printers(STL格式美化)
0.背景gdb原生态对于STL的输出不太直观,为了可以直观的查看STL的值,我们进行相关的配置。1.方式概览要实现这种需要有多种方式,https://sourceware.org/gdb/wiki/STLSupport 这里介绍了3种主要的方式。我们这里介绍第一种方式,这种方式不仅最简单也是最好用的。提一下第二种方式,在大型项目中通常我们的容器也会嵌套别的容器,这种情况下第二种方式就比较弱...
2018-11-03 19:53:08 2483
原创 Mac上Gdb安装和使用的过程
0.1 背景Gdb是一款代码调试工具。Mac下依旧支持,但是由于MacOS系统本身以及版本不协调等原因使用过程会遇到各种各样的问题。本文详细记录了从Gdb安装,钥匙串配置,与VScode结合调试的过程。0.2 版本Mac版本:macOS High Sierra 10.13.6Gdb版本:8.01 Gdb安装最快捷的方法是使用brew来安装,命令如下。brew install gdb...
2018-11-02 11:57:43 10834 4
原创 Hive中行拆分操作
0.背景在使用Hive的时候有时候会遇到需要将一行“拆分”成多行的操作,如下。原始数据格式,表名为student_tableclass student_array1 [Tom,Jone]2 [Lily,lucy]目标数据格式class student_name1 Tom1 Jone2 Lily2 ...
2018-09-20 15:02:25 1787
转载 编程语言中负数取余的问题
全文转自:http://ceeji.net/blog/mod-in-real/背景最近在一道 Java 习题中,看到这样的一道题:// What is the output when this statement executedSystem.out.printf(-7 % 3);正整数的取余运算大家都很熟悉,但是对于负数、实数的取余运算,确实给人很新鲜的感觉。于是我对此进行...
2018-09-11 20:36:21 28261 3
原创 Pandas reshape相关函数介绍(pivot,pivot_table,stack,unstack,melt)
0.背景在Pandas的使用中,常常需要到行列切换的情况,即所谓的数据透视表,这里根据Pandas当中的此类专题进行总结,主要解析pivot,melt,stack,unstack几个函数的使用。**1.pivot(一定要看下pivot_table)pivot做的就是从源数据构造透视表的过程,透视表是在数据统计中一个数据汇总的方式。pivot使用例子如下所示。import pan...
2018-08-31 20:11:50 11177 3
原创 Hive当中实现pivot操作
0.背景实际工作当中遇到这样一个问题,数据如下,但是我想通过SQL将数据转换成按列展示的形式,即常用的pivot透视操作。# 原始数据id item value1 a 10 2 b 211 b 152 a 20# 次级目标格式(SQL)id itemValue1 a-10,b-152 a-20,b-21# 目标格式id it...
2018-08-31 13:38:05 13507 3
原创 使用国内镜像修改pip源
0.背景博主通常使用anaconda来管理Python环境,但是anaconda有个问题就是包的更新并不及时,在pandas已经有0.23版本的时候anaconda当中仍然只有0.20版本。所以我们有时候需要使用pip进行安装。但是由于网络问题,使用pip安装通常很慢。本文介绍常用的pip国内源,以及替换源的方法。1.临时使用国内源如果只是暂时使用国内源,那么pip install -...
2018-08-22 10:55:29 17167 1
原创 Python中for后接else的语法
0.背景今天看到了一个比较诡异的写法,for后直接跟了else语句,起初还以为是没有缩进好,查询后发现果然有这种语法,特此分享。之前写过c++和Java,在for后接else还是第一次见。1.试验# eg1import numpy as npfor i in np.arange(5): print ielse: print("hello?")# 0# 1...
2018-08-21 20:08:25 38058 7
原创 Pandas中使用loc将列表等集合赋值给行或列的每一个元素
0.背景在使用Pandas进行数据处理过程当中,有时候需要将数据的某一列都赋值为某一个列表的形式。但是如果列的元素个数与列表的元素个数相同时赋值,会导致列表中的每一个元素对应到了列的一个表格中(详情见下)。本文即解决这样的问题。1.对应赋值import pandas as pdimport numpy as npdata = pd.DataFrame({"A":np.aran...
2018-08-08 16:23:11 15675
原创 Vundle配置文件解析与使用指南
0.简介Vundle是Vim Bundle的缩写,是一个Vim插件管理工具。Vundle allows you to… - keep track of and configure your plugins right in the .vimrc - install configured plugins (a.k.a. scripts/bundle) - update configur...
2018-07-30 19:38:13 2597
原创 冒泡排序及其优化
Bubble Sort比较简单,本文首先列出了基础版本Bubble Sort的伪代码,之后做两点小的优化。1.基础版本BubbleSort# 原始版的BubbleSort# 时间复杂度为O(n^2)function BubbleSort(array X[], int length) { for (int i = 0; i < length; i++) { ...
2018-07-27 16:38:37 1271 2
原创 Jupyter Notebook 增加kernel的方法
jupyter notebook 增加kernel的方法有很多朋友会遇到这样一个问题:在anaconda中创建了多个环境,也许python版本是一样的,但是装的包以及版本不一样。启动jupyter notebook后,在new的下拉菜单中却无法使用这些环境。本文就解决这样的问题。假如我现在Ubuntu系统自带的python是python2,anaconda默认的是python3,我还有一个
2018-07-19 11:55:59 30305 7
原创 CentOS7.4网站部署全纪录
本文用于在云服务器(CentOS7.4)上部署网站,但不包含数据库的安装和配置。0 前置准备CentOS 7.4服务器网站的war包(网站不包含数据库交互)1 安装jdk,tomcat,环境变量配置,tomcat自启动复制文末脚本,命名为DeployWebsite.sh,将war包和脚本放在一个目录,使用以下命令启动脚本。bash DeployWebsite.sh2 ...
2018-07-18 23:42:26 3177
原创 Mac下实现Java版本的切换
0.背景因为项目稳定的原因,可能需要旧版的JDK,而有的时候又需要比较新的JDK。如果每次安装卸载都太麻烦了,所以最好有一个可以在两个JDK版本中进行切换的方法。1.java_home命令java_home可以用来检测Mac系统安装的Java环境,并返回那个环境可以用来设置$JAVA_HOME的值。# 详细见这里,注意,不加/usr/libexec路径man java_hom...
2018-07-18 21:08:34 3518
原创 Geohash编码原理解析(附代码)
本文最后修改于2018-03-26,文章有问题或者转载请及时联系本人,如果对你有帮助,别忘了点下关注和喜欢,感谢!本文文字内容,图片参考整理自:http://www.cnblogs.com/LBSer/p/3310455.html0 背景我们在日常生活中常常遇到这样的需求,在某一地点的时候需要找到当前位置最近的餐馆(地铁站,厕所)等。app接到我们的请求的时候可以计算当前位置和全国所有...
2018-03-26 23:16:00 3313
原创 什么是P问题,NP问题,NPC问题,NP-Hard问题
本文搬运自什么是P问题、NP问题和NPC问题,作者是Matrix67,本文在原文之上略做修改,加黑了重点的地方, 对部分稍难理解的地方做了解释,原文已经讲的非常清楚了,向原作者致敬(作者12年前写这篇文章的时候应该只是高中生),转载请保留原作者信息!如果你觉着我的博客对你有帮助,麻烦点下喜欢和关注哦!最近组里重新分享关于优化的部分知识,其中涉及到复杂度的问题,又重新提起了被我扔掉很久的NP...
2018-01-26 15:59:00 2357
原创 与论文结合详解XGBoost参数
本文最后修改于2018-01-23,文章有问题或者转载请及时联系本人,如果对你有帮助,别忘了点下关注和喜欢,感谢!0 前言网络上XGBoost的参数翻译很多,但是都没做什么解释,本文一部分内容参考自 Complete Guide to Parameter Tuning in XGBoost (with codes in Python),一部分内容是根据...
2018-01-23 11:58:00 489
原创 Jupyter Notebook远程登录及自定义配置
本文最后修改于2018-01-22,文章有问题或者转载请及时联系本人,如果对你有帮助,别忘了点下关注和喜欢,感谢!0 背景anaconda的Jupyter Notebook使用越来越普遍,但是默认形式的配置(默认目录,是否自动打开浏览器,端口等)未必是大家所适应的,本文即基于这样的问题,介绍Jupyter Notebook的自定义配置,以及如何远程登录...
2018-01-22 20:48:00 1006
原创 缓解pandas中DataFrame占用内存过大的问题
本文最后修改于2018-01-21,文章有问题或者转载请及时联系本人,如果对你有帮助,别忘了点下关注~0 背景在我们使用pandas进行数据处理的时候,有时候发现文件在本地明明不大,但是用pandas以DataFrame形式加载内存中的时候会占用非常高的内存,本文即解决这样的问题。1 原因如果是计算机相关专业的同学,你应该知道int8,int16,int64的区别。如果你忘记了,那...
2018-01-21 14:54:00 14349
原创 稀疏矩阵存储格式CSC(Compressed Sparse Columns Format)
最近在看XGBoost的论文,其中提到为了并行学习,我们使用了Column Block的这种方法[1],而每个Block中的数据,我们就是以CSC形式存储的。本文根据网络内容重新整理,介绍下CSC这种格式。主要参考自理解Compressed Sparse Column Format (CSC)目的 CSC的目的就是用来压缩矩阵,主要是使用一些信息来表示矩阵中非0元素存储的位置。Spark
2018-01-15 19:27:57 9774 2
原创 解决coursera可以登录但无法播放视频
解决coursera可以登录但无法播放视频2018-1-4日可用。解决方法首先提出解决方法,无论你是mac还是windows还是Linux系统,系统中都会有一个hosts文件。这个文件在各系统中的地址如下。mac系统 => /private/etc/hostsLinux系统 => /etc/hostswindows系统 => C:\Windows\System32\dr
2018-01-04 16:04:11 71734 102
原创 mac上XGBoost多线程版本安装[mac][high sierra]
本文最后更新于2017/12/28,看起来很多,实际安装命令很少,多数内容在总结安装过程中可能出现的问题。各版本情况:mac:10.13.2XGBoost:0.6gcc:7.2关于xgboost的安装我们可以参考官方文档:Installation Guide,但是使用mac的同学要注意,默认我们使用pip安装的xgboost并不是多线程的,包括未安装gcc直接从源码编译的也不是多线程的。下面我们介绍
2017-12-28 20:58:18 1404
原创 matplotlib中的颜色和标记
matplotlib中的颜色和标志在matplotlib中绘图标志有两种,一种是点标志(marker),一种是线标志(linestle),可选的参数如下。linestyle'-' solid line style'--' dashed line style'-.' dash-dot line style':' dotted line stylelin
2017-12-25 19:41:26 5071
原创 matplotlib封装探索
本文参考这里,转载请注明出处!绘图:matplotlib核心剖析matplotlib是基于Python的开源项目,旨在为Python提供一个数据绘图包。在建模过程中数据分布,图表的分析非常重要。Matplotlib使用numpy数组运算,并调用一系列其他的Python库来实现硬件交互。matplotlib的核心是一套由对象构成的绘图API。matplotlib项目由John D. Hunter发起,
2017-12-25 19:35:46 1551
原创 pandas中时间窗函数rolling的使用
在建模过程中,我们常常需要需要对有时间关系的数据进行整理。比如我们想要得到某一时刻过去30分钟的销量(产量,速度,消耗量等),传统方法复杂消耗资源较多,pandas提供的rolling使用简单,速度较快。函数原型和参数说明DataFrame.rolling(window, min_periods=None, freq=None, center=False, win_type=None, on=Non
2017-12-20 15:27:02 69625 1
原创 Hive 实现将时间(时间戳)归到某时间片
在进行数据处理或者建模的时候我们常常需要将某一时间段内的时间统一归于到某一时刻,来表征他们同属于这一时间段。比如2017-12-19 13:23:30,我们按照10min作为一个时间段向前划分,这个时间会被划分到2017-12-19 13:20:00,如果按照30min作为一个时间段,这个时间会被划分到2017-12-19 13:00:00。其他时间段长度可以依次类推。如果使用python,scal
2017-12-19 17:55:40 7846 2
原创 XGBoost的以mae作为优化目标探究
1 mae/mad和mse介绍Mse:mean-square error。可导,常常作为loss function。 MSE(y,yˆ)=1nsamples∑i=0nsamples−1(y−yˆ)2MSE(y,\widehat{y}) = \frac{1}{n_{samples}} \sum_{i=0}^{n_{samples}-1}(y-\widehat{y})^{2} Mae:mean
2017-12-15 19:37:23 4792
原创 Mac下查看已安装的JDK版本及目录
Mac下查看已安装的JDK版本及目录首先打开终端,输入/use/libexec/java_home -V即可。
2017-12-15 11:49:16 4766 2
原创 XGBoost参数详解
本文参考自 Complete Guide to Parameter Tuning in XGBoost (with codes in Python),在其翻译基础上个别地方加上了自己的补充。XGBoost的优点正则 标准的GBM实现是没有正则的。XGBoost也以regularized boosting技术闻名。并行处理 XGBoost实现了并行化的处理。XGBoost基于
2017-12-13 21:11:00 2726
原创 在Ubuntu中允许root远程访问
在Ubuntu中允许root远程访问如果使用如xshell等远程工具首次通过root连接Ubuntu会提示拒绝访问,并不是密码不正确,而是Ubuntu默认禁止以root远程连接。 我们可以进行适当的配置来使root远程连接可用。 1.首先在本机使用root修改/etc/ssh/sshd_config文件。 vim /etc/ssh/sshd_config将PermitRootLogin的值改为y
2017-06-19 23:22:15 1899
原创 Ubuntu下设置tomcat为服务(开机启动)
Ubuntu下设置tomcat为服务(开机启动)环境:Ubuntu14.04 tomcat版本:apache-tomcat-8.5.15(来源官方网站) 1 将tomcat下bin文件夹的catalina.sh文件拷贝到/etc/init.d下,并改名cp /path/apache-tomcat-8.5.15 /etc/init.dcd /etc/init.dmv catalina.sh t
2017-06-16 22:24:36 3025
原创 Linux下为sudo命令定义PATH环境变量
Linux下为sudo命令定义PATH环境变量有时候安装了一个程序到/usr/local/bin目录下,这个程序需要root权限执行。但是用sudo去执行的时候,又收到”sudo: XXXXX: command not found“的错误提示。这是因为当你使用sudo去执行一个程序时,出于安全的考虑,这个程序将在新的、最小化的环境中执行。也就是说,诸如PATH这样的环境变量,在sudo命令下已经被重
2017-05-17 22:18:29 12295 2
原创 Linux 下安装 NVIDIA 显卡驱动
Linux 下安装 NVIDIA 显卡驱动参考此文整理:http://seisman.info/install-nvidia-drivers-under-linux.html对centOs用户来说,有两种安装NVIDIA显卡驱动的方法,从ELRepo源中安装或者从源码编译驱动。1 从ELRope源中安装驱动1.1 添加ELRope源:sudo rpm --import https://www.elr
2017-05-17 21:49:23 2579
原创 Linux中sudo执行网络代理的命令
Linux中sudo执行网络代理的命令在Linux系统中,有时候root和普通用户都设置了代理,但是通过sudo执行仍然不能访问网络。比如:sudo pip install 解决方法是在/etc/sudoers中加入:Defaults env_keep += "http_proxy https_proxy no_proxy"重试即可。
2017-05-17 21:28:45 3158 1
原创 更改Anaconda下载源
更改Anaconda下载源使用默认的下载源速度较慢,可以使用清华大学的源,在Anaconda Prompt中输入以下命令添加源:conda config --add channels 'https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/'conda config --set show_channel_urls yes注意:首次运行con
2017-05-16 22:13:43 2298
原创 Jupyter配置及远程登录
Jupyter配置及远程登录Anaconda的Jupyter使用越来越普遍,但是默认目录等都并不是大家希望的,本节介绍Jupyter的自定义配置以及如何远程登录jupyter notebook。1 Jupyter自定义配置Jupyter无论2和3默认都没有个性化配置文件,我们需要使用一下命令手动生成jupyter notebook --generate-config。根据系统不同生成位置也不同,但默
2017-05-16 22:03:10 8001 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人