python-堆叠分类器:拟合数据时的索引器

python-堆叠分类器:拟合数据时的索引器,python,numpy,machine-learning,ensemble-learning,Python,Numpy,Machine Learning,Ensemble Learning,我使用银行数据来预测每天的门票数量。我使用叠加得到更准确的结果,并使用库 以下是重要功能的示例数据集: [] 以下是目标属性示例: [] 代码如下: from stacked_generalization.lib.stacking import StackedClassifier from sklearn.ensemble import RandomForestClassifier from sklearn.linear_model import LogisticRegression, Ridg

我使用银行数据来预测每天的门票数量。我使用叠加得到更准确的结果,并使用库

以下是重要功能的示例数据集:

[] 以下是目标属性示例:

[]

代码如下:

from stacked_generalization.lib.stacking import StackedClassifier
from sklearn.ensemble import RandomForestClassifier
from sklearn.linear_model import LogisticRegression, RidgeClassifier
# Stage 1 model
bclf = LogisticRegression(random_state=1)

# Stage 0 models
clfs = [RandomForestClassifier(n_estimators=40, criterion = 'gini', random_state=1),
        gbm,
        RidgeClassifier(random_state=1)]

sl = StackedClassifier(bclf, clfs)
sl.fit(training.select_columns(features).to_dataframe().as_matrix(), np.array(training['class']))
以下是培训数据格式:

[[  21   11 2014   46    4    3]
 [  22   11 2014   46    5    4]
 [  24   11 2014   47    0    4]
 ..., 
 [  30    9 2016   39    4    5]
 [   3   10 2016   40    0    1]
 [   4   10 2016   40    1    1]]
现在,当我尝试拟合模型时,会出现以下错误:


然而,我将我的代码与库中给出的示例进行了比较,但仍然无法找出哪里出了问题。请帮助我。

我有一个类似的问题,似乎只是brew中的一个bug,需要修复。问题是c.classes(或类数)返回一个带有浮点数的numpy数组(例如,如果有两个类,它返回[0.0,1.0]而不是整数([0,1])。代码尝试使用这些浮点数对列进行索引,但不能使用浮点数对numpy列进行索引

probas.shape=#行=#训练示例;#列=#类

c.predict\u proba(X)
返回每个培训示例的每个类的概率

probas[:, list(c.classes_)] = c.predict_proba(X)
应该使用class#索引probas中的列,将X中每行的每个类的概率放入probas中

如果您添加astype(int),这将起作用

probas[:,list(et.classes\uu.astype(int))]=et.predict\u proba(X)

或者只是

probas = np.copy(et.predict_proba(X))

训练对象的格式是什么?更新了我的答案,首先是在sframe中,然后我将其转换为numpy和array。错误在于数组索引。
c.classes\uuu
是嵌套列表或除整数或布尔值以外的其他内容的列表。它们是字符串吗?