自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Python 常用(聚类/分类)数据预处理方法

要对数据进行聚类/分类,往往需要经过以下几个步骤:处理缺失值(我比较少遇到)--》数据标准化 --》降维(白化) --》训练 --》预测 --》评价模型效果0. 缺失值的处理一般是填充缺省值或者平均值等方法,我一般直接补01. 对数据进行标准化。常用的方法有z-score和maxmin。其中,z-socre是(x-mean)/std,也就是去中心化。注意:标准化方法(以及降维)只能在训...

2019-12-12 10:09:00 6232 2

原创 使用TeamCymru获得IP对应的BGP-Prefix和AS number

将所有的IP分成2500个IP一个文件(split -l 2500 all_ip.txt),每个文件第一二行分别是begin,verbose 使用TeamCymru提供的接口处理每个文件 #!/bin/bashPROCESS_NUM=0function getdir(){ for element in `ls $1` do dir_or_file=$...

2019-11-14 21:35:38 316

原创 Python 读取文件的几种方法

0. 读取文件# 1f = open('fileName', 'r')# do something with ff.close()# 2with open('fileName', 'r') as f: # do something with f # no need to close, and will close automatically if exceptio...

2019-11-07 17:10:24 353

原创 Python 内存回收

import gcdel datagc.collect()

2019-08-21 15:40:35 236

原创 Linux没有root权限时,pip安装Python模块

首先在https://pypi.org/上获得所需模块的.whl文件。然后:pip install ***.whl

2019-07-23 10:40:36 933

原创 MATLAB GMM

clearclcdisp 'Loading...'feature_list = csvread('feature_list.csv');disp 'scaling...'feature_z = zscore(feature_list);GMM_3 = fitgmdist(feature_z, 3, 'RegularizationValue', 0.1);disp 'GMM 3...

2019-07-09 11:25:52 1052

原创 linux环境下 python import找不到自定义的模块

两种方法:1. 在导入模块之前(每个.py文件都需要加)import syssys.path.append(r'/home/my_python_module/')2. 更改环境变量(一次修改永久生效)管理员权限修改:/etc/profile。在最后一行加上:export PYTHONPATH=$PYTHONPATH:/home/my_python_module/然后运...

2019-06-24 09:32:35 7845

原创 Holt-Winters 方法进行时间序列预测 与 评价指标

本文主要对HW方法进行简单的特点、使用介绍。HW方法比较适用于具有明确周期性的序列。python代码如下:from statsmodels.tsa.holtwinters import ExponentialSmoothing def hw_predict(sample_serie, s_p=4, s_index=0, e_index=10): hw_fit = Expone...

2019-04-02 21:51:29 4685

原创 【MATLAB】 画 GMM component 曲线 & 计算曲线的交点

xgrid = linspace(0,1,1000)';n1 = makedist('normal',GMM.mu(1),sqrt(GMM.Sigma(1))); % make distributionn2 = makedist('normal',GMM.mu(2),sqrt(GMM.Sigma(2)));p = GMM.ComponentProportion;y_1 = p(1)*pd...

2019-03-18 17:02:03 1505

原创 Linux 解压.gz文件

//分别将exp1.txt和exp2.txt压缩,且不保留原文件gzip exp1.txt exp2.txt     //将exp1.gz解压的结果放置在文件exp.1中,并且原压缩文件exp1.gz不会消失gzip -cd exp1.gz > exp.1...

2019-03-06 15:57:38 14084

原创 Python 正则表达式使用

import reregex = re.compile(r'(uid|sid)=(.+?)&') # what in '' is the reg exp we want.f = open("log.txt", "r")logs = f.readlines()for log in logs: kvs = regex.findall(log) for kv in...

2019-03-06 10:56:01 97

原创 Python/Bash 遍历文件夹

import osinfiles = list() # the absolute path we wantindir = './root_data/'for root, dirs, files in os.walk(indir): for filename in files: infiles.append(os.path.join(root, filenam...

2019-03-06 10:42:59 195

原创 Python matplotlib 以pdf形式保存图片

import matplotlib.pyplot as plt from matplotlib.backends.backend_pdf import PdfPagespdf = PdfPages('des_file_name.pdf')plt.figure()plt.hist(data)plt.tight_layout()print 'savefig...'pdf.save...

2019-03-02 11:04:21 30024 3

原创 Python 多进程

Python的多线程是假的,但是多进程是真的。在处理计算需求比较大的问题时可以考虑使用多进程:#coding=utf-8import copyimport numpy as npimport multiprocessing import z_facility as facfrom multiprocessing import Pool# 输入处理的一个单元,比如list的一个元...

2019-03-02 10:59:49 178

原创 python 带条纹的 barplot 和 boxplot

plt.boxplot(..., patch_artist=True, boxprops=dict(facecolor="green", hatch = '/'))plt.bar(..., hatch='\\') 

2019-02-19 21:03:28 2130

原创 LaTex插入eps或pdf(或svg)以及去除eps、pdf白边

1. 插入eps\begin{figure}\centering\includegraphics[width=3.33in, keepaspectratio]{fig_name}\caption{title}\end{figure}2. 插入pdf(类似于插入eps)\begin{figure}\centering\includegraphics[width=3.33i...

2018-10-30 21:29:46 31009 6

原创 IP转经纬度,经纬度画热力图

1. IP转经纬度工具:GeoIP python 每个IP一行 代码:import GeoIPimport sysimport osdef print_usage(): print "Usage: " + os.path.basename(__file__) + " ipfile.txt"# make sure we've been passed the filename...

2018-10-26 15:13:59 4105

原创 sed/awk删除文件奇数行或偶数行

 sed '1~2d' file > new_file # 删除奇数行sed '1~2!d' file > new_file # 删除偶数行awk 'NR%2==0' filename > new_file # 删除奇数行awk 'NR%2==1' filename > new_file # 删除偶数行 ...

2018-08-29 10:45:49 4125

原创 python画双y轴图像

很多时候可能需要在一个图中画出多条函数图像,但是可能y轴的物理含义不一样,或是数值范围相差较大,此时就需要双y轴。matplotlib和seaborn都可以画双y轴图像。一个例子:import seaborn as snsimport matplotlib.pyplot as plt# ax1 for KDE, ax2 for CDFf, ax1 = plt.subplots(...

2018-08-22 10:26:09 13367 3

原创 Python画loglog CCDF

data.sort()p = 1. * arange(len(data)) / (len(data)-1) # 计算各点的累计概率 F(x)p = [1-i for i in p] # 计算概率的补 1-F(x)x = np.log10(data) # logxy = np.log10(p) ...

2018-08-19 15:50:00 5484

原创 Python异常处理

如果你不想在异常发生时结束你的程序,只需在try里捕获它。try/except/else/finally语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理,else里的语句会在没有异常时被执行(可省略),finally里的语句无论如何都会被执行。try: #sometiong might be wrong...except [Exception as e]...

2018-08-17 16:53:58 201

原创 Python过滤list元素,并进行元素操作

用法:new_list=[ {1. 列表的元素&操作} {2. for i in old_list} {3. if i 满足条件} ]由三个部分组成。例子:[n for n in mylist if n < 0] # 小于0的元素[math.sqrt(n) for n in mylist if n > 0] # 大于零的元素的平方根[n+1 for ...

2018-08-16 15:32:09 5163

转载 当同时安装Python2和Python3后,如何兼容并切换使用详解(比如pip使用)

在cmd下输入python得到的版本号取决于环境变量里哪个版本的python路径更靠前(windows是按照顺序查找的)。比如环境变量里的顺序是这样的:那么cmd下的python版本就是2.7.12。反之,则是python3的版本号。 这就带来一个问题了,如果你想用python2运行一个脚本,一会你又想用python3运行另一个脚本,你怎么做?来回改环境变量显然很麻烦。网上...

2018-07-20 16:56:08 1137

原创 处理日志的心得体会

       不要急着把数据拷到硬盘(如果数据量小,拷一份原始的数据还是有必要的),先把数据进行清理,然后逐行提取字段的值,将提取出的值用逗号分隔组成新的一行再存储。需要使用的时候,只需要用逗号分隔string,然后读取所需字段对应的下标即可!import osimport redir = "/data/scr/"files = os.listdir(dir1)dst_dir = ...

2018-04-21 21:55:34 330

原创 linux命令

scp:scp root@[src_ip]:[file you want] [des_location]TO BE CONTINUED...

2018-04-16 22:12:03 139

原创 windows+xshell+xming 显示远程linux服务器的图形程序窗口

1. linux服务器设置允许ssh转发:#vi /etc/ssh/sshd_config确保 X11Forwrding yes 生效2. 安装xming在Xlaunch中配置(采用如下默认配置)运行xming3. xshell中对连接属性进行设置至此,全部设置完成。在 “应该出现的时候” 会弹出linux服务器的图形程序界面。...

2018-03-21 09:51:53 6687

原创 利用python画(带权重)直方图/拟合曲线/CDF

在pyhton中画这几种图主要是用的 matplotlib.pyplot 的 hist() 以及 seaborn 的distplot() kdeplot() note: seaborn的函数可以接受hist_kws, kde_kws关键字。hist_kws={'weights': your weights array}kde_kws={'weights': your weights array}但...

2018-03-16 20:21:53 10143 2

原创 Python/bash 去除/输出 包含关键字的行

Pythonimport shutilwith open('/path/to/file', 'r') as f: with open('/path/to/file.new', 'w') as g: for line in f.readlines(): if '/local/server' not in line: ...

2018-03-08 10:05:08 1978

原创 205. Isomorphic Strings

题意:给两个长度相同的字符串,如果其中一个可以通过字母的替换获得另一个字符串(且不同的字母不能替换成相同的字母),则返回true。solution:hash表记录,s->t中字母的映射关系,同时记录t中哪些字母已经被替换过了。class Solution {public: bool isIsomorphic(string s, string t) { unorder...

2018-03-01 10:39:51 118

原创 linux挂载硬盘

1. df -h 查看已挂载硬盘情况2. fdisk -l 查看所有可用硬盘的情况,找到需要的挂载的硬盘3. mount /dev/sd[xn] [挂载的文件夹]4. [挂载的文件夹]就是硬盘umount [挂载的文件夹] 挂载的反操作...

2018-02-28 19:51:38 180

原创 LeetCode 645. Set Mismatch

题意:一个size为n的数组,包含数字1-n,但是有一个元素重复了,占用了其他元素的位置。找出这个重复的元素和被占用的元素。solution:遍历两次数组,第一次记录元素的出现情况,第二次查找特殊元素。class Solution {public: vector<int> findErrorNums(vector<int>& nums) { ...

2018-02-28 10:40:05 268

原创 LeetCode 202. Happy Number

题意:快乐数是各位平方和最终可以等于1的数,判断一个数是否是快乐数。solution:用hash记录出现过的平方和,如果有重复出现的且不为1,那么不可能是快乐数。、class Solution {public: int dgt_sqr_sum(int x) { int sum = 0; while ( x!=0 ) { int dg...

2018-02-27 14:25:27 132

原创 LeetCode 350. Intersection of Two Arrays II

题意:求两个数组的相交。要求相同的元素不合并,全部输出。solution:hash。首先记录第一个数组的元素出现情况count,然后遍历第二个数组,每次先将相应的hash值-1,如果此时hash值仍大于等于0。这么做是因为交集中元素的最大出现次数也不会大于第一个数组的出现次数。class Solution {public: vector<int> intersect(vect...

2018-02-26 19:02:59 128

原创 LeetCode 409. Longest Palindrome

题意:给一个字符串,问用该字符串能构造出的最长的回文串的长度。solution:hash。记录每个字母出现的次数,如果是偶数次那么全部可用,如果是奇数次那么可用n-1,如果有字母出现奇数次,那么最后的结果还需要加一。note:c++奇数/2是下取整。还可以用int a[256]来模拟hash表,用空间换时间。class Solution {public: int longestPalin...

2018-02-25 12:09:21 92

原创 LeetCode 771. Jewels and Stones

题意:给出一个没有重复字母的字符串 J 表示宝石的种类,S表示拥有的石头的种类,问拥有的石头中有多少是宝石。solution:hash记录J中宝石的种类,再去查询S中的石头是否在hash表中出现过。class Solution {public: int numJewelsInStones(string J, string S) { unordered_map<cha...

2018-02-24 12:38:30 219

原创 LeetCode 500. Keyboard Row

题意:给一个字符串数组,判断哪些字符串可以仅用键盘中的同一行字母拼出。solution1:hash。记录每个字母的行号。solution2:数组模拟hash。总结:1. 这道题虽然很简单,但是第一次写的时候花了特别多的时间,因为bool same这个变量的声明位置放在了循环外,导致每一次same的初值实际上就是上一次处理的结果。找这个小错误花了很多时间。2. 做了差不多半个月的hash专项,发现自...

2018-02-24 12:09:50 121

原创 LeetCode 575. Distribute Candies

题意:给一个偶数长数组,每种数字代表一种糖果,两人平分。问一人最多获得几种糖果?solution 1:hash。见注释solution 2:bitset。用bitset模拟hash。省去了相对复杂的hash运算,位运算的效率极高。note:其实思路都是一致的,只是实现的方式不同。在应用中自然是约高效越好,但是在都能满足需求的前提下,我认为使用自己熟悉的方法更合适、更稳妥。class Solutio...

2018-02-22 15:48:19 135

原创 LeetCode 463. Island Perimeter

题意:二维数组,1表示岛屿,岛屿都是边相连的,有且仅有一个岛。问岛的周长是多少?solution 1:hash。每访问一个点,就将四周的点的sibling数+1。hash记录坐标-sibling数。原因在于一个点有4条边,每多一个sibling,有效边就少一条。这种方法需要访问所有为1的点,并将其四周的sibling进行操作。note:如果使用unordered_map会报错,原因是unorder...

2018-02-21 12:17:19 189

原创 LeetCode 599. Minimum Index Sum of Two Lists

题意:找出两个人都喜欢的餐厅,返回序号之和最小的。solution:hash记录餐馆名对应的序号之和。遍历第一个数组时,记录每一个餐厅的序号,遍历第二个数组时,仅处理在1中出现过的餐厅。class Solution {public: vector<string> findRestaurant(vector<string>& list1, vector&lt...

2018-02-19 14:13:04 172

原创 LeetCode 387. First Unique Character in a String

题意:找出给定字符串中出现的第一个 仅出现一次的 元素,不存在仅出现一次的元素返回-1。solution 1:数组模拟hash。这是昨天学到的,秀一波。其实要写在一个循环里应该也是可以的,因为直观的想:只需要遍历一遍数组就可以知道答案。但是这种方法也足够好了。class Solution {public: int firstUniqChar(string s) { int...

2018-02-18 14:22:53 112

空空如也

空空如也

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

TA关注的人

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