1. 定义:
通过数学函数,将数据转换为更适合模型算法的数据
2. 内容:
a.归一化
b.标准化
3. 归一化:
a. 定义:
将特殊数据归纳到 0 ~ 1 的 范围内
b. 转换公式:
x' = (x - min)/ (max - min ) [0 , 1]
x" = x'(mx - mi) + mi
mx, mi 指的是归纳的区间范围, 默认mx = 1 , mi = 0
c. api
from sklearn.preprocessing import MinMaxScaler
参数:
feature_range=(0, 1):默认归纳区间
方法:
fit
transform
fit_transform():对数据进行转换
d.归一化缺陷
1.容易受到异常点的干扰影响
2.适用于一些小型的并且正确的数据
4.标准化:
a.定义:
将数据转换为 均值为0 标准差为 1的范围内
b.转换公式:
x' = (x - mean) / 标准差
mean: 平均值
c. api:
from sklearn.preprocessing import StandardScaler
方法:
fit_transform
d. demo:
使用标准化处理数据,然后预测一下鸢尾花的数据集
e. 标准化优势:
优点: 平摊异常点造成的影响
使用范围: 数据量比较大,适合现代嘈杂大数据场景。
from sklearn.preprocessing import MinMaxScaler
from sklearn.preprocessing import StandardScaler
# 导入pandas
import pandas as pd
dating = pd.read_csv("./dating.txt")
# 确定好特征值
x = dating[["milage", "Liters", "Consumtime"]]
# 对数据进行归一化处理
mm = MinMaxScaler(feature_range=(2,3))
x = mm.fit_transform(x)
print(x)