【发布时间】:2022-01-10 23:25:24
【问题描述】:
数据框样本来自:
https://pastebin.com/hQxWp9wZ
没有通过的测试是:
assert list(np.around(X_test_standard_scaled.max(axis=0), decimals=2)) == [1.61, 3.12, 3.3,
2.97], 'Wrong scaled test values'
我得到的值:
[1.53, 3.12, 2.97, 2.89]
我不知道代码有什么问题:
def scale_test_features(X_test, scaler):
if type(scaler) == type(MinMaxScaler(feature_range=(0, 1))):
return scaler.fit_transform(X_test)
if type(scaler) == type(StandardScaler()):
return scaler.fit_transform(X_test)
在我不断得到的代码的测试集中
'Wrong scaled test values'
但一切都“按部就班”。即使在上述帮助下完成修复后,我仍然收到“错误缩放测试值”的错误。我使用的其他功能:
def scale_features(X_train, scale_type):
if scale_type == 'minmax':
min_max_scaler = MinMaxScaler(feature_range=(0, 1))
X_train_scaled= min_max_scaler.fit_transform(X_train)
return min_max_scaler,X_train_scaled
if scale_type == 'standard':
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
return scaler,X_train_scaled
def split_to_train_and_test(X, y, test_ratio, rand_state):
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=test_ratio, random_state=rand_state)
return X_train, X_test, y_train, y_test
def load_dataset(file_name, label_column):
if len(file_name) != 0 and len(label_column) != 0:
df = pd.read_csv(file_name)
TRAINING_FEATURES = df.columns[df.columns != label_column]
TARGET_FEATURE = label_column
X = df[TRAINING_FEATURES]
y = df[TARGET_FEATURE]
return X,y
你能告诉我其余的是否有可能导致“错误缩放测试值”的特殊错误吗?
【问题讨论】:
-
您到底想达到什么目的?检查
type是否指向同一个if语句中定义的对象没有多大意义。另外,在评估类型时,首选方法是isinstance。 -
我想知道参数缩放器的类型(MinMaxScaler 或 StandardScaler)并按类型缩放 X_test
-
请提供输入数据的示例以及错误的回溯。
-
@saiden 我添加了 DF 和我希望收到但没有收到的值
标签: python scikit-learn