我正在使用pyspark.ml.regression中的LinearRegression构建Pyspark线性模型
from pyspark.ml.regression import LinearRegression
#I have used VectorAssembler to develop the 'features' and 'label'
lr = LinearRegression(featuresCol = 'features', labelCol='label').setWeightCol('weightCol')
model = lr.fit(df)
model.coefficients
到目前为止,一切正常!
现在,我要限制小于某个特定值的任何系数。例如,我想将任何小于-0.4的系数更新为-0.4。
for index in range(0,len(model.coefficients)):
if model.coefficients[index] < -0.4 :
model.coefficients[index] = -0.4
但是这给我一个错误:
AttributeError: can't set attribute
我不想为此创建单独的数据框或列表。我正在制作20多个这样的模型,因此希望在模型变量本身中更新此信息。这可能吗?