初学者上手python建模

新手可以上天池或者是kaggle上下载数据,我就是在天池上的学习赛找模型进行学习的。

当我们拿到一个csv后,就要审视这个文档里的数据。我现在在做的模型就是有关客户贷款违约的一个比赛吧。那么首先要导入这个数据啊,这个csv分为两个数据集,一个是train,另外两个是test,就是说这个这个比赛的意义就是通过训练集的训练(训练集的数据量是很大的)然后将调教好的模型用于测试集,分数越高越好。

附上链接

零基础入门金融风控-贷款违约预测相关的问题-天池大赛-阿里云天池

拿到数据后呢,我们首先要审视一下数据,至于task2提到的数据可视化,我的指导老师认为,在实际的商业案例中,用来做ppt的,你再开始建模的时候呢,完全不用管好了。首先是导入数据。这边导入数据是要用到一些包的,上午我看到一文章说,现在都爱pandas,产生的是dataframe(一个矩阵形式,有行有列)。好,那我们就要把它从本地文件导入到jupyter里面,其实导入到python里,这里代码这样写

train = pd.read_csv('C:\\Users\harrison.huang\\Desktop\\train (1).csv')

pd是包pandas的简写。记住是双斜杠,如果单斜杠不行的话。

ok,接下来,这些数据,比如说有些位置他是没有值的,就好像你的数据存在收集不到,或者是说误删了怎么样。那么你要宏观的了解一下那些数据缺失了。数值特征就是说数值,对象特征就是说以包含了其他的字符。这里我们要分开这两个数据。类别型也是对象型特征。

numerical_fea = list(train.select_dtypes(exclude=['object']).columns)
category_fea = list(filter(lambda x: x not in numerical_fea,list(train.columns)))

运行完这个命令之后就可以将类别型变量和数值型变量分别开了。

1、熵值法建模:不需要类别型变量,那就清除

代码:data.drop(category_fea)。所以清除函数drop()。

比赛数据相比真实场景的数据相对要干净一些,现实场景中,例如你从银行收到数据,但是你会发现很多数据都是大片大片缺失的,在这种情况下,就要认真考虑数据值如何填充的问题了,比如说,如果是时间序列的一个数据(股价),那么现在的价格就很大程度上受到了上一时期数据的影响,因此,可以使用上面一格的数据直接填充。那么对于横截面数据,可以观察这个数据的分布。如果是呈正态分布的,那么就可以取中位数或者平均数。

在补充缺失值之前,我们需要将缺失值太多的列直接删去,一般缺失值大于百分之50的列,以及全部都是一样的值的列,就都可以删去了,因为没有什么太大的意义。

删除列的代码:

def remcolumns(data):
    t = int(0.5*data.shape[0])
    data = data.dropna(thresh=t,axis=1)#保留至少含有百分之50数据的列
    #data = data.l

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值