数据预处理(标准化、归一化等)

# 解决机器学习问题的相关的科学计算工具包
import sklearn.preprocessing as sp

均值移除( z-score标准化)

A = sp.scale(array)

范围缩放(Min-Max标准化)

raw_sample = np.array([
[17., 100., 4000],
[20., 80., 5000],
[23., 75., 5500]])

mms = sp.MinMaxScaler(feature_range(0,1))
result = mms.fit_transform(原始样呢矩阵)

# 手动计算
new_sample = []

for row in raw_sample.T:
    min_val = row.min()
    max_val = row.max()
    # 整理所缩放线性关系所需要的矩阵:A与B
    A = np.array([[min_val,1],[max_val,1]])
    B = np.array([0,1])
    # x = np.linalg.lstsq(A,B)[0]
    x = np.linalg.solve(A,B)
    newrow * x[0] +x[1]
    new_sample.append(new_row)
print(np.array(new_sample).T)

归一化

result = sp.normalize(raw_sample,norm='l1')

二值化

# 给出阈值,获取二值化器(大于阈值为1,小于阈值为0)
bin = sp.Binarizer(threshole=阈值)
# 调用transform方法对原始样本矩阵进行二值化预处理操作
result = bin.transform(原始样本矩阵)

独热编码(One-Hot Encoding)

使用场景:计算相似度

# 创建一个独热编码器
ohe = sp.OneHotEncoder(sparse=是否采用紧缩格式,dtype=数据类型)
# 对演示样本矩阵进行处理,返回独热编码后的样本矩阵
result = ohe.fit_transform(原始样本矩阵)
# 方法二
encode_dict = ohe.fit(原始样本矩阵)
result = encode_dict.transform(原始样本矩阵)

标签编码

# 获取标签编码器
lbe = sp.LabelEncoder()
# 调用标签编码器的fit_transform方法训练并且为原始样本数组进行标签编码
reulet = lbe.fit_transform(原始样本特征数组)
# 根据标签编码的结果矩阵反查字典,得到原始数据矩阵
samples = lbe.inverse_transform(result)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Strawberry.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值