我创建了一个用于数据预处理(编码文本数据和规范化)的管道。我有一个打字错误,我不能理解。发布代码的一部分。错误出现在代码的最后一行和最后第二行,我试图将数据帧传递给管道。非常感谢您的帮助或指导。谢谢:)
HDFC_Working_Train_CN = HDFC_Working_Train.loc[ : ,['Candle Nature']]
HDFC_Working_Train_CT = HDFC_Working_Train.loc[ : ,['Candle Type']]
HDFC_Working_Train_DR = HDFC_Working_Train.loc[ : ,['Direction']]
HDFC_Working_Train_TR = HDFC_Working_Train.loc[ : ,['Target']]
HDFC_Working_Train_num = HDFC_Working_Train.drop(['Candle Nature', 'Candle Type', 'Direction', 'Target'], axis = 1)
class DataFrameSelector(BaseEstimator, TransformerMixin):
def __init__(self, attribute_names):
self.attribute_names = attribute_names
def fit(self, X, y=None):
return self
def transform(self, X):
return X[self.attribute_names].values
num_pipeline_1 = Pipeline([
('selector_1', DataFrameSelector(list(HDFC_Working_Train_num))),
('scaler_1', MinMaxScaler(0, 1)),
])
num_pipeline_2 = Pipeline([
('selector_2', DataFrameSelector(list(HDFC_Working_Train_num))),
('scaler_2', MinMaxScaler(-1, 1)),
])
cat_pipeline_1 = Pipeline([
('selector_1', DataFrameSelector(HDFC_Working_Train_CN)),
('label_binarizer_1', LabelBinarizer()),
])
cat_pipeline_2 = Pipeline([
('selector_2', DataFrameSelector(HDFC_Working_Train_CT)),
('label_binarizer_2', LabelBinarizer()),
])
cat_pipeline_3 = Pipeline([
('selector_3', DataFrameSelector(HDFC_Working_Train_DR)),
('label_binarizer_3', LabelBinarizer()),
])
cat_pipeline_4 = Pipeline([
('selector_4', DataFrameSelector(HDFC_Working_Train_TR)),
('label_binarizer_4', LabelBinarizer()),
])
full_pipeline_1 = FeatureUnion(transformer_list=[
("num_pipeline_1", num_pipeline_1),
("cat_pipeline_1", cat_pipeline_1),
("cat_pipeline_2", cat_pipeline_2),
("cat_pipeline_3", cat_pipeline_3),
("cat_pipeline_4", cat_pipeline_4),
])
full_pipeline_2 = FeatureUnion(transformer_list=[
("num_pipeline_2", num_pipeline_2),
("cat_pipeline_1", cat_pipeline_1),
("cat_pipeline_2", cat_pipeline_2),
("cat_pipeline_3", cat_pipeline_3),
("cat_pipeline_4", cat_pipeline_4),
])
HDFC_MM1 = full_pipeline_1.fit_transform(HDFC_Working_Train)
HDFC_MM2 = full_pipeline_2.fit_transform(HDFC_Working_Train)
错误如下:
TypeError回溯(最近一次调用上次)
<ipython-input-8-ff2f118d9924> in <module>
396 ])
397
——>;398 HDFC_MM1=完整管道_1.拟合变换(HDFC_工作列)
399
400 HDFC_MM2 = full_pipeline_2.fit_transform(HDFC_Working_Train)
TypeError: 'int' object is not subscriptable
目前没有回答
相关问题 更多 >
编程相关推荐