2

Sklearn 12正規化ツールを使用してデータを正規化し、トレーニングデータとして使用した場合: 予測された出力を元の形状に戻すにはどうすればよいですか?Sklearn PythonのL2正規化を元に戻す

私の例では、正規化された住宅価格をy、正規化生活空間をxとしました。それぞれは独自のX_とY_Normalizerに適合するために使用されます。

したがって、y_predictは正規化された形状でもあります。元の未加工通貨状態に戻すにはどうすればよいですか?

ありがとうございます。

答えて

0

は、あなたの答えをありがとうございました、私はABOを知りませんでしたパイプライン機能の前に

L2正規化の場合は、手動で行うことができます。だから、生メートに「バック」はシンプルで、それらを回し

#Manually 
w = np.sqrt(sum(x**2)) 
x_norm2 = x/w 
print x_norm2 

>array([ 0.23363466, 0.37381545, 0.56072318, 0.70090397]) 

x = np.array([5, 8 , 12, 15]) 

#Using Sklearn 
normalizer_x = preprocessing.Normalizer(norm = "l2").fit(x) 
x_norm = normalizer_x.transform(x)[0] 
print x_norm 

>array([ 0.23363466, 0.37381545, 0.56072318, 0.70090397]) 

それともsquaresumの平方根の重量を手動で実行します。ここで は、小さなアレイの一例であり、 "w"を掛けて計算する。

+1

もちろん、手動で行うこともできます。そして、規範を守ることは可能です。しかし、この問題は、典型的なSklearnユースケースに合うように見えないため、ユースケースは何かになります。 – eickenberg

3

行列線を正規化するsklearn.preprocessing.Normalizerについて話しているのであれば、残念ながらどこか手で保存しない限り元の基準に戻ることはできません。あなたはを正規化sklearn.preprocessing.StandardScalerを、使用している場合、あなたはあなたが戻ってそのスケーラの属性で行く必要がある値を得ることができ

mean_with_meanTruestd_に設定されている場合)

あなたの場合あなたの場所にあなたのデータを変更しませんので、あなたは、このことを心配する必要はありません、パイプラインで正規化を使用します。

from sklearn.pipeline import make_pipeline 
from sklearn.preprocessing import Normalizer 

# classifier example 
from sklearn.svm import SVC 

pipeline = make_pipeline(Normalizer(), SVC()) 
関連する問題