Chirs体重+身高=146.1
Caneron体重+身高=180.9
Serah 体重+身高=120.2
从数据上看Chirs与S数值更接近,应该穿S大小衣服,但是由于体重和身高的度量标准差异(一个是个位数,一个是百位数)导致体重占据了主导位置,此时就用到特征缩放,使这些特征跨越的范围有可比性,通常是在0和1之间(包含0、1)
特征缩放的一个优点是预估输出相对稳定,缺点是当有异常值时,max或min可能会是极端值
通过特征缩放Chirs的体重特征 值缩放为0.417
编写代码计算特征缩放值
def featureScaling(arr):
scaler_list=[]
if max(arr)==min(arr):
for i in range(0,len(arr)):
scaler_list.append(0.5)
return scaler_list
else:
for i in range(0,len(arr)):
scaler =(float)(arr[i]-min(arr)) / ( max(arr)-min(arr))
scaler_list.append(scaler)
return scaler_list
# tests of your feature scaler--line below is input data
data = [115, 140, 175]
print featureScaling(data)
实际上在sklearn中有代码能够实现:
>>>from sklearn.preprocessing import MinMaxScaler
>>>import numpy
>>>weights