[英]StandardScaler returns all zeros
我正在尝试使用StandardScaler()
转换我的字典,但它只给了我零。 如何解决?
from sklearn.preprocessing import StandardScaler
import pandas as pd
param ={
"user_id": 22058,
"signup_day": 24,
"signup_month": 2,
"signup_year": 2015,
"purchase_day": 18,
"purchase_month": 4,
"purchase_year": 2015,
"purchase_value": 34,
"age": 39,
"source_Ads": 0,
"source_Direct": 0,
"source_SEO": 1,
"browser_Chrome": 1,
"browser_FireFox": 0,
"browser_IE": 0,
"browser_Opera": 0,
"browser_Safari": 0,
"sex_F": 0,
"sex_M": 1
}
new = (pd.Series(param, index=['user_id', 'signup_day', 'signup_month', 'signup_year', 'purchase_day', 'purchase_month', 'purchase_year', 'purchase_value', 'age', 'source_Ads', 'source_Direct', 'source_SEO', 'browser_Chrome', 'browser_FireFox','browser_IE', 'browser_Opera', 'browser_Safari', 'sex_F', 'sex_M'])).values.reshape(1,-1)
print(new)
scaler = StandardScaler()
X_new = scaler.fit_transform(new)
print(X_new)
结果:
new = [[22058 24 2 2015 18 4 2015 34 39 0 0 1 1 0 0 0 0 0 1]]
X_new =[[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]]
StandardScaler
旨在缩放数据的列,这里每列只有一个值,因此每个值都设置为 0。每列使用多个值,您可能会得到预期的结果!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.