Я хотел создать свой собственный Transformer, используя scikit-learn FunctionTransformer, и последовал их примеру как dry run. Это сработало, но потом я хотел взять обратное преобразование, чтобы увидеть конечный результат. Однако, когда я попробовал inverse_transform, он вернул то же самое, что и преобразование. Как мне получить исходные значения? Я спрашиваю об этом, потому что планирую использовать это преобразование для преобразования целевой переменной, а затем делать прогнозы. Эти предсказания должны быть обратно преобразованы после того, как я предсказал.
В качестве боковой полосы, должен ли я соответствовать y_train и трансформироваться в мой y_test? Или я могу преобразовать все сразу?
Мой трансформатор:
import numpy as np
from sklearn.preprocessing import FunctionTransformer
import random
randomlist = []
for i in range(0,100):
n = random.randint(1,100)
randomlist.append(n)
y = pd.Series(randomlist)
y_train = y[:80]
y_test = y[80:]
target_trans = FunctionTransformer(np.log, validate=True, check_inverse = True)
logy_train = target_trans.fit_transform(y_train.values.reshape(-1,1))
logy_test = target_trans.transform(y_test.values.reshape(-1,1))
target_trans.inverse_transform(y_train.values.reshape(-1,1))