我在项目中使用了来自Scikit-learn的OneHotEncoder
。当n_value
设置为auto
时,我需要知道每个one-hot向量的尺寸。我以为n_value_
会显示这个信息,但似乎除了尝试训练样本之外别无他法。我创建了一个简单的示例代码来展示这个问题。你知道其他解决方案吗?
from sklearn.preprocessing import OneHotEncoder
data = [[1], [3], [5]] # 3个不同的特征
encoder = OneHotEncoder()
encoder.fit(data)
print(len(encoder.transform([data[0]]).toarray()[0])) # one-hot向量的维度数量为3
print(encoder.n_values_) # [6] == len(range(5))
回答:
这是你要找的吗?
>>> encoder.active_features_array([1, 3, 5])
>>> len(encoder.active_features_)
3