Поэтому я использую rpy2, как описано в статье здесь, но я хочу установить непосредственно лямбду вместо лонжерон:
Код: Выделить всё
import rpy2.robjects as robjects
r_y = robjects.FloatVector(y_train)
r_x = robjects.FloatVector(x_train)
r_smooth_spline = robjects.r['smooth.spline'] #extract R function# run smoothing function
spline1 = r_smooth_spline(x=r_x, y=r_y, lambda=42)
#alternative: spline1 = r_smooth_spline(x=r_x, y=r_y, spar=0.7) would work fine, but I would like to control lambda dirctly
ySpline=np.array(robjects.r['predict'](spline1,robjects.FloatVector(x_smooth)).rx2('y'))
plt.plot(x_smooth,ySpline)
Я хочу, чтобы лямбда интерпретировалась как параметр штрафа за сглаживание лямбда.
Если я заменю лямбду на spar, я получу натуральный кубический сплайн, но я хочу управлять лямбдой напрямую.
Подробнее здесь: https://stackoverflow.com/questions/582 ... interprati
Мобильная версия