我刚刚开始学习机器学习 谁能解释一下这段代码的作用?
$HrEmployeeShift_opt = ArrayHelper::map(
HrEmployeeShift::find()->where(
[
'IN',
'Status',['Pasif', 'Rolling']
]
)
->asArray()->all(), 'Id', 'Shift'
);
答案 0 :(得分:0)
您的标题必须更加具体。 但是,此代码的第一行将创建一个具有为其指定形状的2D矩阵(张量),即y的第一维和标签的编号,其所有成员均为零。在像MATLAB这样的编程语言中,这称为预分配。您在其中预先分配一些数字的内存。 第二行告诉更改y1张量中的一些数字,这会将y1张量中的一些零更改为1。 第一部分是选择行,第二部分是选择列。 列为y,正在展平(当然,拉威尔有一些不同)。
答案 1 :(得分:0)
这是对 y 向量的单热编码。
因此,例如,如果 y 向量是
y = [2, 5, 3, 6]
然后
y1 = [[0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 1, 0, 0, 0, 0, 0],
[0, 0, 1, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 1, 0, 0, 0, 0]]
基本上如果 y 的第一个条目是 2,那么 y1 的第一行的第二个位置将等于 1。 由于 Python 是零索引的,这意味着第一个索引将等于 1。