KNN算法2

本文详细介绍了归一化和标准化在数据预处理中的区别,归一化用于限定数据范围,适用于SVM、KNN等,而标准化使数据分布为标准正态,适用于线性模型。通过实例展示了如何使用Python库进行数据归一化和标准化操作。
摘要由CSDN通过智能技术生成

归一化和标准化的概念

•归一化和标准化都是数据预处理技术,旨在调整数据的尺度,但它们的方法和适用场景有所不同。以下是两者之间区别的详细介绍:12

  • 归一化(Normalization)主要是将数据缩放到或[-1,1]区间内,通常是通过将数据除以最大值或最小值来实现。这种方法适用于需要将数据限制在特定范围内的算法,如支持向量机(SVM)、K近邻(KNN)等,以及需要计算距离的算法,如K-means聚类和某些类型的神经网络。
  • 标准化(Standardization)也称为Z值归一化,是将数据的均值调整为0,标准差调整为1。这实际上是将数据转换为标准正态分布。标准化适用于大多数线性模型,如逻辑回归和线性回归,因为它保持了样本间的相对距离。

简而言之,归一化通常用于将数据限制在特定范围内,而标准化则是为了调整数据的分布,使其具有零均值和单位标准差。这两种方法都有助于提高数据的一致性和算法的性能。

为什么做归一化和标准化?

特征的单位或者大小相差较大,或者某特征的方差相比其他的特征要大出几个数量级,容易影响(支配)目标结果,使得一些模型(算法)无法学习到其它的特征。

数据归一化API:

import matplotlib.pyplot as plt
from sklearn.datasets import load_iris
import seaborn as sns
import pandas as pd
#加载数据集
iris_data = load_iris()
print(f'数据集-->\n{iris_data.feature_names}\n{iris_data.data[:10]}')
print(f'\n目标数-->\n{iris_data.target_names}\n{iris_data.target}')
#数据展示

iris_df = pd.DataFrame(iris_data['data'],columns=iris_data.feature_names)
iris_df['target'] = iris_data.target
print(iris_df)

feature_names = list(iris_data.feature_names)
print(feature_names)

for i in range(len(feature_names)):
    for j in range(i+1,len(feature_names)):
        col1 = feature_names[i]
        col2 = feature_names[j]

    sns.lmplot(x=col1,y=col2,hue='target',data=iris_df)
    plt.xlabel(col1)
    plt.ylabel(col2)
    plt.title(f'{col1} vs {col2}')
    plt.show()

标准化算法实现

from sklearn.preprocessing import StandardScalerdata = [[88, 90, 4], [77, 96, 6], [52, 95, 2], [89, 52, 7]]
    # 2. 初始化标准化对象
    transformer = StandardScaler()
    # 3. 对原始特征进行变换
    data = transformer.fit_transform(data)
    # 4. 打印归一化后的结果
    print(data)
    # 5 打印每1列数据的均值和标准差
    print('transfer.mean_-->', transformer.mean_)
    print('transfer.var_-->', transformer.var_

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值