【发布时间】:2014-11-05 21:05:14
【问题描述】:
我正在尝试使用 FeatureUnion 从数据结构中提取不同的特征,但由于维度不同而失败:ValueError: blocks[0,:] has incompatible row dimensions
实施
我的FeatureUnion 是按以下方式构建的:
features = FeatureUnion([
('f1', Pipeline([
('get', GetItemTransformer('f1')),
('transform', vectorizer_f1)
])),
('f2', Pipeline([
('get', GetItemTransformer('f2')),
('transform', vectorizer_f1)
]))
])
GetItemTransformer 用于从同一结构中获取不同部分的数据。该想法在 scikit-learn 问题跟踪器中描述为 here。
结构本身存储为{'f1': data_f1, 'f2': data_f2},其中data_f1 是具有不同长度的不同列表。
问题
由于 Y 向量与数据字段不同,我假设会发生错误,但是如何缩放向量以适应这两种情况?
【问题讨论】:
-
一个简短而丑陋的解决方案是将
data_f1和data_f2连接到data_f2的长度,并将Y 向量的长度设置为data_f2
标签: python scikit-learn classification text-classification