Я строю линейную модель Pyspark, используя LinearRegression от pyspark.ml.regression
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 таких моделей и, следовательно, хочу, чтобы эта информация была обновлена в самой переменной модели. Это возможно?