Я пытаюсь построить регрессию PLS. мой КОД:
pls_y=df['analytical_values']
x_pls=df.iloc[: ,22::]
wl = np.arange(0.39,60,5)
# Calculate derivatives
X1 = savgol_filter(x_pls, 11, polyorder = 2, deriv=1)
X2 = savgol_filter(x_pls, 13, polyorder = 2,deriv=2)
# Define the PLS regression object
pls = PLSRegression(n_components=8)
# Fit data
pls.fit(X1, y)
# Plot spectra
plt.figure(figsize=(8,9))
with plt.style.context(('ggplot')):
ax1 = plt.subplot(211)
plt.plot(wl, X1.T)
plt.ylabel('First derivative absorbance spectra')
ax2 = plt.subplot(212, sharex=ax1)
plt.plot(wl, np.abs(pls.coef_[:,0]))
plt.xlabel('Wavelength (nm)')
plt.ylabel('Absolute value of PLS coefficients')
plt.show()
Я ПОЛУЧИЛ Erorr: ValueError: x и y должны иметь одинаковое первое измерение, но иметь формы (12,) и (3972, 4002). Я не знаю, как это исправить. размерность x, y не может быть одинаковой. СПАСИБО