我有一个带有类别列的数据集。为了使用线性回归,我对这一列进行了 1-hot 编码。
我的集合有 10 列,包括类别列。删除该列并附加 1-hot 编码矩阵后,我最终得到 14 列 (10 - 1 + 5)。
所以我用形状矩阵 (n, 14) 训练(拟合)我的 LinearRegression 模型。
训练之后,我想在训练集的一个子集上测试它,所以我只先取了 5 个,然后将它们放入相同的管道中。但是这 5 个第一个只包含其中的 3 个类别。因此,在通过管道后,我只剩下一个形状为 (n, 13) 的矩阵,因为它缺少 2 个类别。
如何强制 1-hot 编码器使用 5 个类别?
我正在使用 sklearn 的 LabelBinarizer。
我对 Clickhouse 很陌生,我的第一次尝试似乎总是为 SELECT 生成这种输出:
:) select * from test
SELECT *
FROM test
??s???????i??
? foo ? 123 ?
?????????????
??s???????i??
? bar ? 567 ?
?????????????
Run Code Online (Sandbox Code Playgroud)
我希望是这样的:
??s???????i??
? foo ? 123 ?
? bar ? 567 ?
?????????????
Run Code Online (Sandbox Code Playgroud)
为什么我得到单独的行?是表结构引起的吗?这是test表的结构:
CREATE TABLE test
(
s String,
i UInt64
) ENGINE = Memory
Run Code Online (Sandbox Code Playgroud)