NameError:未定义名称'x_scalar'

问题描述 投票:-3回答:1

我实际上正在尝试使用sklearn库中的MinMaxScaler函数进行逆变换。我基本上希望存储在测试集中的数据按比例缩放。

我不知道我哪里出错了,我已经再次检查了回归步骤,一切都正确,除了最后一个需要缩放和执行最终预测值的结束步骤。任何帮助,感激不尽!

predicted = predicted.reshape(-1, 1)
xtest = xtest.reshape(-1, 1)
ytest = ytest.reshape(-1, 1)

xtest_scaled = x_scalar.inverse_transform(xtest)
ytest_scaled = y_scalar.inverse_transform(ytest)
predicted_scaled = y_scalar.inverse_transform(predicted)

xtest_scaled = xtest_scaled[:, -1]
ytest_scaled = ytest_scaled[:, -1]
predicted_scaled = predicted_scaled[:, -1]

p = pd.DataFrame(list(zip(xtest_scaled, ytest_scaled, predicted_scaled)), columns = ['x', 'target_y', 'predicted_y'])
p = p.round(decimals = 2)
p.head()


    ---------------------------------------------------------------------------
    NameError                                 Traceback (most recent call last)
    <ipython-input-31-6fee9e05d7b3> in <module>
          4 ytest = ytest.reshape(-1, 1)
          5 
    ----> 6 xtest_scaled = x_scalar.inverse_transform(xtest)
          7 ytest_scaled = y_scalar.inverse_transform(ytest)
          8 predicted_scaled = y_scalar.inverse_transform(predicted)

    NameError: name 'x_scalar' is not defined
python python-3.x jupyter-notebook linear-regression
1个回答
0
投票

简单点:)

import numpy as np
import pandas as pd

import matplotlib as mpl
import matplotlib.pyplot as plt

from matplotlib.animation import FuncAnimation

from sklearn.datasets import load_boston
from sklearn.metrics import mean_squared_error
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import MinMaxScaler

# load dataset

boston = load_boston()

# discription

# print(boston.DESCR)

features = pd.DataFrame(boston.data, columns=boston.feature_names)
target = pd.DataFrame(boston.target, columns=['target'])
df = pd.concat([features, target], axis=1)

# df.describe().round(decimals=2)

X = df['LSTAT'].values

# difine x_scaler
x_scaler = MinMaxScaler()


M = x_scaler.fit_transform(X.reshape(-1, 1))
N = x_scaler.fit(X.reshape(-1, 1))
result = N.inverse_transform(M)
© www.soinside.com 2019 - 2024. All rights reserved.