我读过很多关于这个主题的问题,但没有一个是我面临的同一个问题,也没有一个有我需要的答案。所以我希望有人至少可以对此有所了解。
我正在运行一个简单的机器学习模型,使用 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,所以我不应该有这个问题。
有人吗?