归一化z-score标准化
2019-09-20 本文已影响0人
叫我老村长
z-score标准化
z-score标准化是将数据按比例缩放,使之落入一个特定区间。 要求:均值 μ = 0 ,σ = 1
标准差公式:

z-score标准化转换公式:

归一化
归一化:把数变为(0,1)之间的小数
归一化公式:

这里利用sklearn的MinMaxScaler和StandardScaler两个类,对所有数据进行归一化处理
import pandas as pd
from sklearn import preprocessing
from sklearn.preprocessing import MinMaxScaler
from sklearn.preprocessing import StandardScaler
# 读取数据
features = ['accommodates','bedrooms','bathrooms','beds','price','minimum_nights','maximum_nights','number_of_reviews']
dc_listings = pd.read_csv(r'D:\codes_jupyter\数据分析_learning\课件\05_K近邻\listings.csv', engine='python')
dc_listings = dc_listings[features]
# 对price列进行一定的处理,使其变成float型
dc_listings['price'] = dc_listings.price.str.replace(r'\$|,', '').astype(float)
# 对缺失值进行处理,删除有缺失值的数据
dc_listings = dc_listings.dropna()
# 归一化
dc_listings[features] = MinMaxScaler().fit_transform(dc_listings)
# 标准化
# dc_listings[features] = StandardScaler().fit_transform(dc_listings)
print(dc_listings.shape)
dc_listings.head()
输出结果如下:

得到标准化的数据后,就可以利用多个指标对房租价格进行预测了。