文章目录
1.连续变量重编码
连续变量所用数据格式
1.1标准化
a.0-1标准化
import pandas as pd
pd.set_option('display.max_columns',None)#显示所有列
data=pd.read_csv(r"C:\Users\15187\Desktop\games1.csv")
input=data["gameDuration"]
自编函数
def max_min(input):
output=(input-input.min())/(input.max()-input.min())
return output
output=max_min(input)
sklearn_函数实现
from sklearn import preprocessing
min_max_scaler = preprocessing.MinMaxScaler(feature_range=(0, 1), copy=True)
output = min_max_scaler.fit_transform(input.values.reshape(-1,1))
先生成实例,再通过实例调用函数,(feature_range=(0, 1), copy=True)内部参数是默认值
feature_range=(0, 1),转换的数组范围在(0,1)范围,可以修改
copy默认为True,表示对原数据组拷贝操作,这样变换后元数组不变,False表示变换操作后,原数组也跟随变化.
fit_transform中输入形式必须是arry格式.values.reshape(-1,1)就是转换为arry格式
#min_max_scaler = preprocessing.MinMaxScaler(feature_range = (1,3),copy = False)#范围改为1~3,对原数组操作
b.z-score标准化
z标准化,z标准化就是均值为0,标准差为1
自编函数
def z_score(input):
output=(input-input.mean())/input.std()
return output
output=z_score(input)
sklearn实现
from sklearn import preprocessing
output = preprocessing.scale(input.values.reshape(-1,