Где может быть проблема?Я пытаюсь построить функцию Хубера, но результат очень странный и не похож на функцию Хубера.
Мои данные
def f(y,fx):
delta = 1
if m.fabs(y-fx)<=delta:
return 1/2*(y-fx)**2
else:
return delta*m.fabs(y-fx)-1/2*delta**2
data = pd.read_csv('data.csv')
X = data.iloc[:,2]
y = data.iloc[:,3]
func = np.poly1d(np.polyfit(X, y, 1, full=True)[0])
x = np.arange(0., 3.01, 0.01)
y_new = []
for i in range(len(X)):
y_new.append(f(y[i],func(X[i])))
print(y_new)
plt.plot(x,y_new,c='red', ls='', ms=5, marker='.')
ax = plt.gca()
ax.set_ylim([-1, 2])
plt.show()
