質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

0回答

2170閲覧

sklearn Yeo-Johnson変換の逆変換をした

anonymous0101

総合スコア5

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/11/28 11:23

-1から1までの範囲で与えられたスコアのデータを
array([[-1. ],
[-0.962635 ],
[-0.8809235 ],
...,
[ 0.93678613],
[ 0.96670418],
[ 1. ]])

sklearnのYeo-Johnson変換をして、normanaizedのスコアを更新しました。

python

1from sklearn.preprocessing import PowerTransformer 2pt = PowerTransformer() 3data 4pt.fit(data) 5dfdic0["normanized"] = pt.transform(data) 6dfdic0["normanized"].hist();

ここでのnormanizedのスコアを
-1から1までの範囲のスコアに変更(逆変換)したいのですが、
sklearnのinverse_transform(X)の式に値を代入しても-1から1までの範囲を越えた数値が出力されてしまいます。
X_transにnormanizedの値を代入しています。
(ここでのlambda_とはpt.lamdas_で出力された数値をそのまま代入すればよいのでしょうか)

python

1if X >= 0 and lambda_ == 0: 2 X = exp(X_trans) - 1 3elif X >= 0 and lambda_ != 0: 4 X = (X_trans * lambda_ + 1) ** (1 / lambda_) - 1 5elif X < 0 and lambda_ != 2: 6 X = 1 - (-(2 - lambda_) * X_trans + 1) ** (1 / (2 - lambda_)) 7elif X < 0 and lambda_ == 2: 8 X = 1 - exp(-X_trans)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/11/28 21:31

小さくてよいので再現できるダミーデータを掲載できますか?
anonymous0101

2021/11/29 02:36 編集

ありがとうございます。
anonymous0101

2021/11/29 02:36

こちらのデータでお願いします。 dummy=([[-0.92389186], [-0.82380948], [-0.82343561], [-0.72326369], [-0.72322906], [-0.62284351], [-0.62278147], [-0.52273939], [-0.5271999], [-0.46226372 ], [-0.42253513], [-0.42246368], [-0.42233663], [-0.42220984], [-0.32201647], [-0.32182416], [-0.32171834], [-0.32147498], [-0.32128235], [-0.32121948], [-0.32099803], [-0.32093344], [-0.32069065], [-0.3205861 ], [-0.32050097], [-0.3204546 ], [-0.32034146], [-0.32015174], [-0.32014214], [-0.31989122], [-0.31968356], [-0.31957261], [-0.3194922 ], [-0.21937452], [-0.21898969], [-0.21895703], [-0.118888 ], [-0.11878075], [-0.11844339], [0.01823214], [0.01811911], [0.11810543], [0.11716871], [0.21715065], [0.21710651], [0.21696251], [0.21680337], [0.21671532], [0.21663155], [0.21622011], [0.21588703], [0.31564657], [0.31554053], [0.31539321], [0.31475633], [0.31458735], [0.31419905], [0.41403372], [0.41396534], [0.4139564 ], [0.41388568], [0.51313725], [0.5127723 ], [0.51272621], [0.5127152 ], [0.61265417], [0.61262035], [0.61237583], [0.61214512], [0.71198969], [0.81180012], [0.81176231], [0.81163423], [0.81157401], [0.81131712], [0.81072495], [0.8106257 ], [0.91053364], [0.91038682], ])
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問