【发布时间】:2019-08-12 06:51:23
【问题描述】:
我正在尝试使用 scikit-learn 预处理在处理数据之前对缺失(即 nan)值的数据进行标准化。
显然,一些缩放器(例如 StandardScaler)以我想要的方式处理缺失值 - 我的意思是在保持 nans 的同时规范化现有值 - 而其他(例如 Normalizer)只会引发错误。
我环顾四周并没有找到 - 如何使用具有缺失值的 Normalizer,或复制其行为(使用 norm='l1' 和 norm='l2';我需要测试几个规范化选项)其他方式?
from sklearn.preprocessing import Normalizer, StandardScaler
import numpy as np
data = np.array([0,1,2,np.nan, 3,4])
scaler = StandardScaler(with_mean=True, with_std=True)
scaler.fit_transform(data.reshape(-1,1))
normalizer = Normalizer(norm='l2')
normalizer.fit_transform(data.reshape(-1,1))
【问题讨论】:
-
我认为您正在寻找
imputer,请查看scikit-learn.org/stable/modules/generated/… -
我不是;我不想估算缺失值。我想让它们保持原样,让其他人处理它们,就像 StandardScaler 允许我做的那样。
标签: python numpy scikit-learn