z-score标准化是将数据按比例缩放,使之落入一个特定区间。 要求:均值 μ = 0 ,σ = 1
标准差公式:
imagez-score标准化转换公式:
image归一化:把数变为(0,1)之间的小数
归一化公式:
image这里利用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()
输出结果如下:
image得到标准化的数据后,就可以利用多个指标对房租价格进行预测了。