【发布时间】:2018-03-28 17:47:33
【问题描述】:
我在 python 3.5 上使用 rpart 和 rpy2(版本 2.8.6),并希望训练决策树进行分类。我的代码 sn-p 如下所示:
import rpy2.robjects.packages as rpackages
from rpy2.robjects.packages import importr
from rpy2.robjects import numpy2ri
from rpy2.robjects import pandas2ri
from rpy2.robjects import DataFrame, Formula
rpart = importr('rpart')
numpy2ri.activate()
pandas2ri.activate()
dataf = DataFrame({'responsev': owner_train_label,
'predictorv': owner_train_data})
formula = Formula('responsev ~.')
clf = rpart.rpart(formula = formula, data = dataf, method = "class", control=rpart.rpart_control(minsplit = 10, xval = 10))
其中 owner_train_label 是一个形状为 (12610,) 的 numpy float64 数组,并且 owner_train_data 是一个形状为 (12610,88) 的 numpy float64 数组
这是我在运行最后一行代码以拟合数据时遇到的错误。
RRuntimeError: Error in ((xmiss %*% rep(1, ncol(xmiss))) < ncol(xmiss)) & !ymiss :
non-conformable arrays
我知道它告诉我它们是不一致的数组,但我不知道为什么对于相同的训练数据,我可以成功地使用 sklearn 的决策树进行训练。 谢谢你的帮助。
【问题讨论】:
标签: arrays numpy python-3.5 decision-tree rpy2