我有一个具有2个分类特征和大量二进制特征的数据集。我想在一个步骤中作为管道执行标签编码和降维。
我的数据如下:
data.head()
ID X0 X1 X10 X100 X101 X102 X103 X104 X105 ... X90 X91 X92 X93 X94 X95 X96 X97 X98 X99
0 0 k v 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
1 6 k t 0 1 1 0 0 0 0 ... 0 0 0 0 0 0 1 0 1 0
2 7 az w 0 0 1 0 0 0 0 ... 0 0 0 0 0 0 1 0 1 0
3 9 az t 0 0 1 0 0 0 0 ... 0 0 0 0 0 0 1 0 1 0
4 13 az v 0 0 1 0 0 0 0 ... 0 0 0 0 0 0 1 0 1 0
5 rows × 377 columns
我尝试过:
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import LabelEncoder
from sklearn.decomposition import PCA, FastICA
le = LabelEncoder()
pca = PCA(n_components=10, random_state=42)
ica = FastICA(n_components=10, random_state=42)
steps = [('LabelEncoder',le), ('PCA',pca), ('FastICA',ica)]
pipeline = Pipeline(steps)
data = pipeline.fit_transform(data)
...引发:
TypeError:fit_transform()需要2个位置参数,但3个是 给
我们将不胜感激。