我试图通过使用其他列表作为函数的参数来创建一个列表。但是,我似乎无法获得正确的语法。
这是我的代码:
f1 = theta0 + theta1*(X1_train) + theta2*(X2_train)+theta3*(X3_train)
预期结果将是一份长度相同的X1_序列、X2_序列和X3_序列的列表(这三个序列的长度相同)
我希望得到列表X1\u列、X2\u列和X3\u列上每个元素的结果列表,作为函数的参数。例如,如果我的列表是
X1_train = [0, 1]
X2_train = [1, 2]
X3_train = [0, 2]
我希望有一个数字列表,比如
f1 = [theta0 + theta2, theta0 + theta1 + theta2 + 2*theta3]
θ是随机数
这个列表是一个数据帧的列,我将其转换为列表,这样我就可以完成这个功能
我建议您尝试以下简单代码:
注意,如果X或θ不是相同长度的元组,则会抛出错误
示例:(应该按原样工作
使用
zip
将三个列表压缩成一个包含3个元组的列表,解压缩3个元组,然后将每个theta
值与其对应的元素相乘,然后对结果求和如果你认为
theta0
是1的倍数,你可以把它推广到你可以把它简化为
sum(map(mul, t, thetas))
只是t
和thetas
的点积我希望这有助于:
这是回报
相关问题 更多 >
编程相关推荐