HANSEN老师 汉森定理 今天
很多人问我:为什么creditmodel不搞一个python版本?
有三个原因:一则creditmodel的整个体系已经非常复杂,转为python版本是一个非常庞大的工程,势必要耗费巨大的精力;二则在我看来,工具不能替代人的思维,能够解决问题的工具就是好工具,转为Python的必要性不大;三则是我太懒了,只想躺在床上看剧,实在没有动力去做代码的迁移。
其实,Python是可以调用creditmodel的。Python提供了rpy2模块,可以实现Python调用R的功能模块。
目前Python与R是数据科学计算的两大支柱,各有优劣。就我个人经验而言,R语言更简单直观一些,对社会科学、统计或商科背景的人来说,非常容易上手。那做数据挖掘到底是学Python还是R呢?我的建议是都学,也可以先从R入手,建立统计编程思维,再学Python就没有那么难了。
当然,这篇文章的主旨不是对比R与Python,我们进入正题:如何用Python调用R包creditmodel呢?
安装rpy2
Python的rpy2模块是Python与R的一个桥梁,可以实现使用Python读取R的对象,调用R的方法、实现Python与R数据结构转换等。因此,我们可通过Python的rpy2模块来调用R包creditmodel的一系列功能模块。
rpy2的网址:http://rpy.sourceforge.net/index.html
rpy2的安装,无需赘言。
#pip install rpy2
Python调用creditmodel
rpy2.robjects 是rpy2对R的一个高级封装,rpy2.robjects.r是在Python中的嵌入式R进程。按照以下代码中的步骤,导入rpy2的各个模块即可。同时我们把creditmodel也导入为一个模块。
关于R与Python数据结构的转换,请记住以下三句话:
R vector与Python list 向量(Vector)是R的一个最重要的数据类型,可以理解为一个二维数据,使用c()来赋值,对应Python的list
R list 与Python dict R的列表(List)对应Python的字典(dict)或者列表(list)
R data.frame 与 Pandas DataFrame R的数据框(data.frame)对应Pandas的DataFr