数据预处理

用Cut函数分箱

有时把数值聚集在一起更有意义。例如,如果我们要为交通状况(路上的汽车数量)根据时间(分钟数据)建模。具体的分钟可能不重要,而时段如“上午”“下午”“傍晚”“夜间”“深夜”更有利于预测。如此建模更直观,也能避免过度拟合。
这里我们定义一个简单的、可复用的函数,轻松为任意变量分箱。


def binning(col, cut_points, labels=None):    
#Define min and max values:    
	minval = col.min()    
	maxval = col.max()    
	#利用最大值和最小值创建分箱点的列表    
	break_points = [minval] + cut_points + [maxval]    
	#如果没有标签,则使用默认标签0 ... (n-1)    
	if not labels:      
		labels = range(len(cut_points)+1)    
		#使用pandas的cut功能分箱    
		colBin = pd.cut(col,bins=break_points,labels=labels,include_lowest=True)    
		return colBin    
		#为年龄分箱:  
cut_points = [90,140,190]  
labels = ["low","medium","high","very high"]  
data["LoanAmount_Bin"] = binning(data["LoanAmount"], cut_points, labels)  
print pd.value_counts(data["LoanAmount_Bin"], sort=False) 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值