OneHotEncoder
假如只有一个特征是离散值:
{sex:{male, female,other}}
该特征总共有3个不同的分类值,此时需要3个bit位表示该特征是什么值,对应bit位为1的位置对应原来的特征的值(一般情况下可以将原始的特征的取值进行排序,以便于后期使用),此时得到独热码为{100}男性 ,{010}女性,{001}其他
假如多个特征需要独热码编码,那么久按照上面的方法依次将每个特征的独热码拼接起来:
{sex:{male, female,other}}
{grade:{一年级, 二年级,三年级, 四年级}}
此时对于输入为{sex:male; grade: 四年级}进行独热编码,可以首先将sex按照上面的进行编码得到{100},然后按照grade进行编码为{0001},那么两者连接起来得到最后的独热码{1000001};
参数:
n_values:'auto',int或整数数组
每个功能的值数量。
“自动”:从训练数据中确定数值范围。
int : 每个要素的分类值数量。 每个特征值都应该在
range(n_values)
数组 :
n_values[i]
是中的分类值的数量X[:,i]
。每个特征值都应该在range(n_values[i])
categorical_features:“全部”或索引或掩码数组
指定哪些功能被视为分类。
“全部”(默认):所有功能都被视为分类。
索引数组:分类特征索引数组。
mask:长度为n_features的数组,dtype = bool。
非分类特征总是堆叠在矩阵的右侧。
dtype:数字类型,默认= np.float
所需的dtype输出。
稀疏:布尔值,默认= True
如果设置True将返回稀疏矩阵否则将返回一个数组。
handle_unknown:str,'错误'或'忽略'
在变换过程中是否存在未知类别特征时是否提出错误或忽略。
属性
active_features_:数组
活动特征的指标,意味着实际发生在训练集中的值。只有当n_values是可用的
'auto'
。
feature_indices_:形状数组(n_features,)
指数功能范围。特征
i
在原始数据被映射到特征从feature_indices_[i]
到feature_indices_[i+1]
(然后潜在地由掩蔽active_features_事后)
n_values_:形状数组(n_features,)
每个功能的最大数量。
方法
Fit OneHotEncoder to X.
Fit OneHotEncoder to X, then transform X.
Get parameters for this estimator.
Set the parameters of this estimator.
Transform X using one-hot encoding.
Last updated