在Python中调用C5.0

在Python中调用C5.0,python,r,rpy2,Python,R,Rpy2,我试图使用rpy2包在Python中调用c5.0R函数。我遇到了以下问题:C5.0在函数调用中有一个句点,这会抛出一个Python错误。以下是我的代码: self.model = c50.C5.0(formula = formula, data = DataFrame(training_data)) 这会抛出错误。有没有办法在Python中调用这个C5.0函数而不抛出错误?谢谢 from rpy2.robjects.packages import importr from rpy2 impor

我试图使用rpy2包在Python中调用c5.0R函数。我遇到了以下问题:C5.0在函数调用中有一个句点,这会抛出一个Python错误。以下是我的代码:

self.model = c50.C5.0(formula = formula, data = DataFrame(training_data))
这会抛出错误。有没有办法在Python中调用这个C5.0函数而不抛出错误?谢谢

from rpy2.robjects.packages import importr
from rpy2 import robjects
C50 = importr('C50')    
C5_0 = robjects.r('C5.0')
通过调用函数

C50.C5_0()
通过调用函数

C50.C5_0()
如果您只为
x
y
向方法传递pd.dataframe,您将得到

RRuntimeError: Error: C5.0 models require a factor outcome
C5接受
x
的数据帧,错误在于
y
的表示。为了解决这个问题

C50.C5_0(x, robjects.vectors.FactorVector(y))
rpy2文件:

如果您只为
x
y
向方法传递pd.dataframe,您将得到

RRuntimeError: Error: C5.0 models require a factor outcome
C5接受
x
的数据帧,错误在于
y
的表示。为了解决这个问题

C50.C5_0(x, robjects.vectors.FactorVector(y))
rpy2文件:

如果没有办法重现完整的错误信息,很难判断发生了什么。我猜您想调用函数
c50.C5_0()
。如果您是R的有经验的用户,您可能会遇到一个事实,即真正的R公式是“语言对象”,因此如果Python将字符值传递给公式对象,则可能不会成功。这是太少的代码,无法支持比WAG多得多的代码。如果没有办法重现完整的错误消息,很难判断发生了什么。我猜您想调用函数
c50.C5_0()
。如果您是R的有经验的用户,您可能会遇到一个事实,即真正的R公式是“语言对象”,因此如果Python将字符值传递给公式对象,则可能不会成功。这是太少的代码支持远远超过了WAG。