数值型数据的无量纲化:
归一化
标准化
目的就是为了使不同规格的数据转换到同一规格
特征预处理API
sklearn.preprocessing
归一化:
为最终结果,mx,mi分别为指定区间,默认mx=1,mi=0
API:
# 数据的归一化 def minmax_demo(): ''' 数据的归一化 :return: ''' # 1 获取数据, 明确数据编码方式比较好,默认为asic编码 data = pd.read_csv("水垢数据(带标签).csv", encoding="utf-8") # 只要数据的前三列 data = data.iloc[:, :3] # print(data) # 2 实例化一个转换器类(可以设置归一化范围,如2--3) transfer = MinMaxScaler(feature_range=[2, 3]) # 3 调用fit_transform data_new = transfer.fit_transform(data) print('data_new:\n', data_new) return None
缺点:数据中如果有异常值(最大或最小值)所以鲁棒性较差,适合传统小数据场景
标准化:
mean 为均值, 为标准差
因为引入了均值和标准差,能够有效克服异常值的影响所以更为通用
API:
# 数据的标准化(消除最大最小值出现异常而影响了归一化的问题) def stand_demo(): ''' 数据的标准化 :return: ''' # 1 获取数据 data = pd.read_csv("水垢数据(带标签).csv", encoding="utf-8") # 只要数据的前三列 data = data.iloc[:, :3] print(data) # 2 实例化一个转换器类 transfer = StandardScaler() # 3 调用fit_transform data_new = transfer.fit_transform(data) print('data_new:\n', data_new) return None
应用场景较多