- 博客(56)
- 收藏
- 关注
原创 分箱合并的标准
数据如下图所示,当bad_rate为0时,与最小的非0的bad_rate行合并。即home_ownership 取NONE和取MORTGAGE的情况。 regroup = regroup.sort_values(by='bad_rate',ascending=False)# 先进行排序regroup.index = range(regroup.shape[0])#重新调整序号。这个方法...
2018-11-20 14:26:40
1356
原创 dataframe 判断是否为空的解决方式,即判断是否为NAN
利用pd.read_table 读出来的数据,如果存在空值的,补充为-1。若x是dataframe中emp_length列里面的其中一个值,判断其是否为空用什么?x is None? 没起作用len(x)==0? 提示float 没有lennp.isnull(x)? 提示不可用到底用哪个? np.nan !!def careeyear(x): if x...
2018-10-24 17:27:53
33058
4
原创 根据基尼指数生成决策树代码
根据基尼指数生成决策树时,要注意几个问题:一、需要判断数据是分类型的还是数值型的,对分类型的拆分子集需判断值是否相等,而对数值型的则需要先计算出区分的值,比较数据与区分值的大小进行拆分。二、如果是分类型还要注意一个问题,因为基尼指数生成的都是二叉树。所以当类别大于3时,情况会比较多,比如特征的取值有4个的话,需要分成6类。但本例子,是按照特征取值最多为3类的情况来写的。如果类别多于3个,还...
2018-09-12 16:23:52
3031
原创 手敲决策树---ID3代码
学习算法的最好方式,莫过于亲手敲,程序跑一遍。也许代码不精炼,也许比较费时。但学习这事情,如果怕麻烦还怎么学的好。本次手敲的代码是按照信息增益的大小,来决定决策树的分支。这里先说几个关键的点:1.决策树的每个分支都要用到上一步的计算结果,故采用递归的循环方式。2.要注意递归的终止条件。一是分支的数据里面就只有一种分类,比如二分类的话,返回的结果要么全为是,要么全为否,就需要终止了。二是...
2018-08-21 10:42:36
320
原创 取并集的函数set.union()的用法
关键点是set.union()括号内的不能是list格式,必须转为set的格式。a=[1,2,3,23]b=[2,3,4]set(a)&set(b){2, 3}set(a)|set(b){1, 2, 3, 4}set.union(*[{1,2,3,23},{2,3,4}])#正常出结果{1, 2, 3, 4, 23}set.union(*[[1,2,3,23...
2018-08-10 17:49:18
4559
2
原创 matplot 画条形图
import matplotlib.pyplot as pltimport numpy as npimport pandas as pdtz_counts[:10]America/New_York 1251Unknown 521America/Chicago 400America/Los_Angeles 382America/...
2018-06-12 22:24:33
654
原创 Python 立体图形的画法(一)
1.条形图的立体画法import random import numpy as npimport matplotlib as mplimport matplotlib.pyplot as plt import matplotlib.dates as mdatesmpl.rcParams['font.size']=10# 坐标轴标签的字体大小fig=plt.figure(figsize=...
2018-06-08 17:48:31
15207
原创 python等高线图的画法
等高线图的画法。关键点:显示哪些等高线要清楚,知道如何显示等高线的图例和数值。import numpy as npimport matplotlib.pyplot as pltfrom mpl_toolkits.axes_grid1 import ImageGridimport matplotlib as mpldef process_signals(x,y): return (...
2018-06-03 22:52:44
13121
3
原创 python 绘图的图线阴影的添加
方法一:标准方法主要是利用了位移函数matpltlib.transforms.ScaledTransformation(xtr,ytr,figure.dpi_scale_trans)。这个只是写明了调整幅度。还要用原来的坐标系axes.transData与之相加,得到了最终的偏移坐标。import numpy as npimport pandas as pdimport matplotlib....
2018-05-21 22:57:45
10210
原创 python 作图中的图标题title 和坐标轴标签的axes的调整
这里主要是调整title和坐标轴的样式。要注意抓住设定的套路和规律,不要被复杂的外表所迷惑。import matplotlib.pyplot as pltimport numpy as npfrom matplotlib import patheffectsimport numpy as np%matplotlib inlinedata=np.random.rand(70)fontsi...
2018-05-11 23:26:30
31067
原创 python直方图/饼图/散点图的画法
import numpy as npimport pandas as pdimport matplotlib.pyplot as plt% matplotlib inlinefrom matplotlib.pyplot import *1.直方图x=np.arange(0,10,1)y=np.log(x)xe=0.1*np.abs(np.random.randn(len(y)))p...
2018-05-10 23:12:53
2911
原创 python绘图之图例的添加和坐标轴的移动大法
1.图例的添加plt.legend(bbox_to_anchor=(0,1.02,1,0),ncol=2,loc=0,mode='expand',borderaxespad=0)import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport matplotlib#在调整坐标轴的标签时用到%matplotlib i...
2018-05-09 22:50:51
6030
原创 python 基础绘图(关于随时间序列变动的图的画法)
画这种图要考虑两点:1.如何生成连续的时间轴2.如何在图中适当的显示轴标签的样式和数量。import matplotlib.pyplot as pltimport matplotlib as mplimport numpy as np% matplotlib inlineimport datetime#这个包很关键#设定开始和结束时间start=datetime.datetime(20...
2018-05-06 22:48:06
28157
7
原创 RandomForestClassifier随机森林补充缺失值(以TItanic数据集为例)
上一篇是分类填补缺失值,用了循环函数。这此呢,我们利用随机森林补充缺失数据。import pandas as pdimport matplotlib.pyplot as pltimport numpy as npfrom sklearn.ensemble import RandomForestClassifierdf=pd.read_csv('E:\\Users\\Administrat...
2018-05-03 23:27:14
15131
2
原创 Python 缺失值的填补(以TItanic数据集为例)
一、普通青年的缺失值填补(自己举的例子)raw=[1,2,3,np.nan,4,6,5,8]sds=[3,2,7,5,4,8,3,5]raw1=pd.DataFrame([raw,sds],columns=list('abcdefgh'))raw1.set_index=list('AB')raw1.iloc[1,4]=np.nanraw1.iloc[1,3]=np.nanraw1 a ...
2018-05-02 16:27:08
9712
3
原创 python 分组统计图(以Titanic数据集为例)
#导入所需的包import pandas as pdimport numpy as npimport matplotlib.pyplot as plt% matplotlib inline#读取Titanic数据data=pd.read_csv('E:\\Users\\Administrator\\Desktop\\pythonNotebook\\train.csv',index_col...
2018-05-01 13:27:07
5985
原创 类的定义、使用与继承
#关于类,个人的理解就是,类像一个包,而包里面又可以定义多个函数。类里面的函数在定义时,一定不要忘记self,尽管self 本身并不能当作一个参数,就当它是规则所要求吧。1.定义类的方法:class Ball: def setName(self,name):#其实里面只有name一个参数,self不算参数的,但又必不可少 self.mm=name#赋值,赋给self.m...
2018-03-20 21:21:54
1075
原创 anaconda中安装新的包
下载anaconda后,如果后续希望安装新的包该如何做呢?使用 !+pip install +包名!pip install EasyGui#注意不要忘记加上‘!’。在cmd里面是不必要添加的,而在anaconda之中是不能忘记写的。#输出结果:Collecting EasyGui Downloading easygui-0.98.1-py2.py3-none-any.whl (90...
2018-03-20 10:31:04
3977
原创 使用pickle进行文件的存入与读取
利用pickle 存储和读取文件1.存储文件:#引入所需包,将列表元素存入data2的文件里面import picklemylist2=['a','b',['你好','证明'],1,3,5,7]df2=open('E:\\data2.txt','wb')# 注意一定要写明是wb 而不是w.#最关键的是这步,将内容装入打开的文件之中(内容,目标文件)pickle.dump(mylist...
2018-03-19 17:01:18
42923
原创 文件夹的添加与删除
添加文件夹:import osos.getcwd()#获取当前的目录存放地址os.chdir('E:\\')#改变当前的目录地址,可以看成是 change directory 的简写os.listdir('E:\\')#显示该地址下的所有文件名称os.mkdir('E:\\C')#创建C文件夹,可以看成是make directory 的简写(尽管不是)移除文件:如果是要移除文件夹,则应该保...
2018-03-19 12:31:18
253
原创 python数据读入
ff=open('C:\\Users\\Administrator\\Documents\\data1.txt','w')#注意两点,第一:一定不要忘了最后的‘w’或‘r’,第二不要忘了写保存的格式类型ff.write('小老板:\n小客服\n')#返回到底写了多少个字符ff.close()#一定要注意关闭的问题。如果不关闭,data1里面是没有内容的文件的读取dd=open('C:\\Use...
2018-03-19 00:06:34
336
原创 缺失值的插补
1.利用回归方法,将预测值插补进去。> sub> dataTR=nhanes2[-sub,]> dataTE> dataTE age bmi hyp chl1 20-39 NA NA4 60-99 NA NA10 40-59 NA NA11 20-39 NA NA12 40-59 NA NA15 2
2017-05-04 22:36:00
1767
原创 缺失值、异常值的识别
一、传统方法1. is.na() 函数。用在识别某一列中是否有缺失值的情况居多,若x是数据框类型,则is.na(x),则把每一个元素的情况按照TRUE/FALSE的逻辑形式列出。> data(sleep,package="VIM")>h> is.na(h) BodyWgt BrainWgt NonD Dream Sleep Span Gest Pred E
2017-05-04 22:02:29
4090
原创 关于ggplot2画散点图、条形图的一些细节认识
学习了ggplot2 的一些最基本的东西,有了一些细微的发现。对于画图来说,要引起注意。1.散点图。点的颜色和形状的控制,放置的位置有讲究。如放置aes()里面,还是geom_point()里面大不相同。library("ggplot2")mtcars$am1mtcars$vs1mtcars$cylstr(mtcars)'data.frame': 32 obs.
2017-05-01 23:55:23
9588
原创 qplot\ggplot2 绘制箱型图、散点图
1.箱型图我们利用qplot 来画图,使用iris中的数据。qplot(Species,Sepal.Length,data=iris, geom=c("boxplot"),fill=Species,main="1依据种类分组的花萼长度箱线图")#geom 表示画的是什么图形。fill表示轮廓以内的填充颜色(不包括轮廓的颜色),控制轮廓的颜色使用color函数。
2017-04-27 16:19:20
15467
原创 lattice 包中的直方图绘制
1.直方图library("lattice")install.packages("nutshell")library(nutshell)histogram(~DBWT|DPLURAL, data=births2006.smpl, main="births2006 in US ", xlab = "birt
2017-04-25 12:46:26
1292
1
原创 lattice 包高级绘图函数
1.条形图barchart()> barchart(Titanic,layout=c(4,1),auto.key=TRUE,scales=list(x="free")#scales=free 表示各组的x轴的刻度存在不同。如果想要y轴不同时,则要设置成y="free"。还可以写成如下形式:barchart(Class~Freq|Sex+Age,data=as.data.
2017-04-25 11:18:42
976
转载 机器学习从入门到出家
作者 |张红林编辑 | 顾乡本文主要介绍的是自己的一些经历,以及读过的一些书,实际应用的经验并没有介绍,包括现在很多机器学习的书一般也是侧重于理论,结合实践的时候会发现和模型比起来,数据清洗、特征工程的实际效果更明显,而这方面很难有系统的理论知识,怎么办呢?读paper,去搜索自己应用领域有关的、大公司的经典的paper,里面对数据清洗、样本筛选、特征构造、系统搭建这方面会有详细的介绍
2017-04-20 15:43:38
397
原创 lattice 包的用法
1.library("lattice")#加载包。dxyplot(y~x,data=d)#xy的散点图xyplot(y~x|z,data=d,pch=c(1,3,4))xyplot(y~x,groups=z,data=d,pch=c(1,3,4))注意上面两张图分组的异同之处。加上“|”的才是按照面板进行分组。
2017-04-20 13:23:25
2052
原创 画图函数title 和 axis 的用法
1.title# 可以单独使用,有时候绘图函数里已经包含了。attach(iris)# 这样就不用每个都写iris了。boxplot(Sepal.Length~Species,col=heat.colors(3), main=list("Sepal.Length按照Species分类的箱线图",font=4,col='red',cex=1.5), sub=li
2017-04-07 11:28:52
3263
原创 RColorBrewer的配色方案(根据谢佳标老师讲课整理)
1.RColorBrewr 提供了3套配色方案。(1).连续型 sequential, 颜色渐变。(2)极端型Diverging,生成深色强调两端、浅色表示中部的颜色,可用来标注数据中的离群点。(3)离散型Qualitative,生成彼此差异明显的颜色,通常用来标记分类数据。2.
2017-03-05 20:57:51
34414
1
原创 R语言的绘图基础(谢佳标老师课程笔记)
1.plot函数> women height weight1 58 1152 59 1173 60 1204 61 1235 62 1266 63 1297 64 1328 65 1359 66 1391
2017-03-04 20:54:50
1191
原创 preprocess函数
caret 包是相当的强大,除了上文说的能抽样之外,还能补充缺失值,对数据标准化等预处理。一句话,caret包 你值得拥有。许多R使用者对该包相见恨晚,这里简单介绍下,但印象一定要留下。preProcess(X,method=c("center","scale"),thresh=0.95,pacComp=NULL,na.remove=TRUE,k=5,knnSummary=mean,out
2017-03-02 22:17:31
17642
原创 数据抽样smaple、等比抽样 (根据谢佳标老师课程整理)
1.R 中的sample函数可以实现数据的随机抽样。sample(x, size, replace = FALSE, prob = NULL)x 表示向量或多个元素size 抽样的个数大小。replace=FALSE 非放回抽样。2.对样本进行抽样的一般做法。> x1<-read.csv("E:\\Users\\Administrator\\Desktop\\sample1
2017-02-28 21:45:45
2621
原创 R中的数据抽样SMOTE (谢佳标老师讲课笔记)
在使用抽样之前,之前学的内容忘得差不多了。所以在使用本次例子之前,对获取该数据作下了解。hyper<-read.csv("http://archive.ics.uci.edu/ml/machine-learning-databases/thyroid-disease/hypothyroid.data",header=F)names<-read.csv("http://archive.
2017-02-27 21:24:10
3241
2
原创 R语言描述性统计分析
1.mean函数mean(x,trim=0,na.rm=TURE)trim 表示剔除的元素的个数所占的比例。所取数值处于0和0.5之间。若该数值乘以x中的元素个数小于1,则不剔除。若x乘以元素个数大于1,则剔除的个数四舍五入,仍然是从排序后的首尾两端剔除。> x [1] 100 2 3 4 5 6 7 8 9 10 11 12> mean(x,tr
2017-02-20 21:49:32
5236
原创 R 中数据的写入与导出
1.利用edit 函数,键盘输入。利用edit 函数首先要有原始值才可以。> a1<-matrix(1)> edit(a1) col1 var2 var3[1,] 1 1 1> a1 [,1][1,] 1可以看出,如果不把edit(a1)赋值,a1的结果是不会发生变化的。有没有自动保存到修改后的内容的函数呢?有,fix()。
2016-12-20 19:39:19
6585
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人