【发布时间】:2020-02-25 18:49:19
【问题描述】:
我对在 Python 中使用 scikit 库非常陌生,我的 scikit-learn 版本是 0.21.2。我使用OneHotEncoder 对数据集中的分类变量进行编码。
现在我正在尝试使用here 和 here 给出的代码,按照以下 2 个链接将编码列链接回原始变量
import pandas as pd
import numpy as np
results = []
for i in range(enc.active_features_.shape[0]):
f = enc.active_features_[i]
index_range = np.extract(enc.feature_indices_ <= f, enc.feature_indices_)
s = len(index_range) - 1
f_index = index_range[-1]
f_label_decoded = f - f_index
results.append({
'label_decoded_value': f_label_decoded,
'coefficient': clf.coef_[0][i]
})
R = pd.DataFrame.from_records(results)
from sklearn import preprocessing
encoder = preprocessing.OneHotEncoder(categorical_features=[0,1,2])
X_train = encoder.fit_transform(data_train)
print encoder.feature_indices_
不幸的是,它不断抛出这些错误
'OneHotEncoder' object has no attribute '_active_features_'
'OneHotEncoder' object has no attribute '_feature_indices_'
如何解决这些错误并让代码正常工作。
【问题讨论】:
标签: python pandas scikit-learn one-hot-encoding