归一化z-score标准化
z-score标准化
z-score标准化是将数据按比例缩放,使之落入一个特定区间。 要求:均值 μ = 0 ,σ = 1
标准差公式:
![](http://upload-images.jianshu.io/upload_images/11576306-1941dc6d97efa40d.png?imageMogr2/auto-orient/strip|imageView2/2/w/458/format/webp)
image
z-score标准化转换公式:
![](http://upload-images.jianshu.io/upload_images/11576306-0c5cfacb3a5f12b9.png?imageMogr2/auto-orient/strip|imageView2/2/w/416/format/webp)
image
归一化
归一化:把数变为(0,1)之间的小数
归一化公式:
![](http://upload-images.jianshu.io/upload_images/11576306-737ea21567db08d8.png?imageMogr2/auto-orient/strip|imageView2/2/w/574/format/webp)
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()
输出结果如下:
![](http://upload-images.jianshu.io/upload_images/11576306-fa51b87d4235d453.png?imageMogr2/auto-orient/strip|imageView2/2/w/664/format/webp)
image
得到标准化的数据后,就可以利用多个指标对房租价格进行预测了。
作者:叫我老村长
链接:https://www.jianshu.com/p/26d198115908
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。