TypeError:使用 ColumnTransformer 时“ABCMeta”对象不可订阅

问题描述 投票:0回答:0

我读过很多关于这个主题的问题,但没有一个是我面临的同一个问题,也没有一个有我需要的答案。所以我希望有人至少可以对此有所了解。

我正在运行一个简单的机器学习模型,使用 Column Transformer 来处理分类特征。这是我正在使用的数据:心力衰竭临床数据.

这是我的剧本:

heart_data = pd.read_csv('heart_failure_clinical_records_dataset.csv')
heart_data.head()

features = ['age', 'anaemia', 'creatinine_phosphokinase', 'diabetes',
       'ejection_fraction', 'high_blood_pressure', 'platelets',
       'serum_creatinine', 'serum_sodium', 'sex', 'smoking', 'time']

target = 'DEATH_EVENT'


X = heart_data[features]
y = heart_data[target]

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

cat_features = ['anaemia', 'diabetes', 'high_blood_pressure', 'sex', 'smoking']
num_features = ['age', 'creatinine_phosphokinase', 'ejection_fraction', 'platelets',
                'serum_creatinine', 'serum_sodium', 'time']

transformer = ColumnTransformer[
    ("cat_transform", ce.TargetEncoder, cat_features),
]

transformer.fit_transform(X_train, y_train)

这是我面临的错误:

TypeError: 'ABCMeta' object is not subscriptable

Jupyter notebook 突出显示 ColumnTransformer[] 片段并打印此错误。我试过阅读很多帖子,比如这个这个(仍然没有解决方案)和还有这个。他们都没有解决我的问题,我几乎找不到任何解决方案,除了检查我的 Python 版本,它是 3.9.12,所以我不应该有这个问题。

有人吗?

python machine-learning scikit-learn categorical-data
© www.soinside.com 2019 - 2024. All rights reserved.