四、数据集的处理—分训练集和测试集、Normalization和standardization处理

本文介绍了数据预处理的常用方法,包括使用sklearn库的train_test_split进行数据集拆分,实现80%训练集与20%测试集的划分;通过numpy随机选择索引来拆分数据;对数值数据进行归一化处理,将其缩放到0到1之间;以及执行标准化操作,使得数据集中在0附近,方差为1。这些步骤对于机器学习模型的训练至关重要。
摘要由CSDN通过智能技术生成

一、数据集拆分

method-01: split, using sklearn、pytorch、keras
from sklearn.model_selection import train_test_split
import numpy as np

sample_data = np.random.random(size=(100, 5))
# print(sample_data)
train, test = train_test_split(sample_data, train_size=0.8)
# print(train)
# method-02: split, numpy random: indices
indices = np.random.choice(range(len(sample_data)), size=int(0.8 * len(sample_data)), replace=True)
print(indices)

二、归一化(Normalization,缩放到一个指定范围,一般是0到1之间)

在这里插入图片描述

test_large_data = [123, 234, 46, 209, 345, 99, 560, 850]
test_small_data = [0.000023, 0.00056, 0.0043, 0.00094, 0.00013, 0.0049, 0.00082, 0.0031]
def normalize(x):
    return (np.array(x) - np.min(x)) / (np.max(x) - np.min(x))

print(normalize(test_large_data))
print(normalize(test_small_data))

三、标准化(standardization)

在这里插入图片描述
从几何上理解就是,先将坐标轴零轴平移到均值这条线上,然后再进行一个缩放,涉及到的就是平移和缩放两个动作。这样处理以后的结果就是,对于每个属性(每列)来说,所有数据都聚集在0附近,方差为1。

test_stand_data = [24354651, 24354632, 24354613, 24354694, 24354625, 24354656, 24354687]
def standardize(x):
    return (np.array(x) - np.mean(x)) / np.std(x)

print(standardize(test_stand_data))

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值