Как использовать аргумент лямбда Smooth.spline в RPy БЕЗ Python, интерпретируя его как лямбдаPython

Программы на Python
Ответить
Anonymous
 Как использовать аргумент лямбда Smooth.spline в RPy БЕЗ Python, интерпретируя его как лямбда

Сообщение Anonymous »

Я хочу использовать естественные кубические сглаживающие сплайны Smooth.spline из R в Python (как и многие другие (естественные сглаживающие сплайны Python, существует ли Python, эквивалентный функции Smooth.spline в R, Python SciPy UnivariateSpline vs R Smooth.spline, ...))
Поэтому я использую 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)
Когда я это делаю, строка spline1 = r_smooth_spline(x=r_x, y=r_y, lambda=42) не работает, поскольку Python уже имеет предопределенную интерпретацию лямбды (вы можете видеть это по синему выделению кода лямбды) :(
Я хочу, чтобы лямбда интерпретировалась как параметр штрафа за сглаживание лямбда.
Если я заменю лямбду на spar, я получу натуральный кубический сплайн, но я хочу управлять лямбдой напрямую.

Подробнее здесь: https://stackoverflow.com/questions/582 ... interprati
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»