2016-04-27 5 views
0

machte ich eine Regressionsscipy PLS die Regressionsgleichung immer

import numpy as np 
from sklearn.cross_decomposition import PLSRegression 

X = [[0., 0., 1.], [1.,0.,0.], [2.,2.,2.], [2.,5.,4.]] 
Y = [[0.1, -0.2], [0.9, 1.1], [6.2, 5.9], [11.9, 12.3]] 

pls2 = PLSRegression(n_components=2) 
pls2.fit(X, Y) 

Dann habe ich Koeffizienten

coeffs = pls2.coef_ 
[[ 1.53732139 1.5363102 ] 
[ 0.97075672 1.0153412 ] 
[ 1.19152707 1.23299069]] 

Ich wurde für Gleichungen für Y1 und Y2 suchen.

Ich habe

Y1 = coeffs [0] * X1 + coeffs [1] * X2 + coeffs [2] * X2 

Aber es ist nicht gleich pls2.predict

Auch habe ich versucht pls2.x_weights_, aber noch kein Erfolg anzuwenden.

Wie kann ich Gleichung für Y1 und Y2 bekommen?

Antwort

0

Ich ging zu predict Methode und fand die Lösung. {} - bedeutet Vektoren

{Y_predicted} = normalized({X}) x pls.coef_ + {Y_o}mean