【机器学习 - 3】:数据归一化(最值归一化、均值方差归一化)
创始人
2024-05-13 12:48:07
0

文章目录

  • 数据归一化的使用
  • 最值归一化
  • 均值方差归一化(常用)
  • 在sklearn中调用归一化(鸢尾花数据归一化)

数据归一化的使用


为什么要使用数据归一化?
举个例子,例如我们要使用KNN算法来预测肿瘤为良性肿瘤或恶性肿瘤。以下是一些数据:

肿瘤大小(厘米)发现时间(天)肿瘤类型
样本11200良性肿瘤
样本25100恶性肿瘤
样本32150良性肿瘤

根据以上数据,画出散点图

import numpy as np
import matplotlib.pyplot as plt# 训练集数据
X_train = np.array([[1, 200],[5, 100],[2, 150]
])
y_train = np.array([1,0,1]) # 1为良性,0为恶性# 绘制散点图
plt.figure(dpi=100)
plt.rcParams['font.sans-serif'] = ['SimHei'] # 设置中文
plt.scatter(X_train[y_train==1, 0], X_train[y_train==1,1], color='b') # 蓝色为良性
plt.scatter(X_train[y_train==0, 0], X_train[y_train==0,1], color='r')
plt.xlabel("肿瘤大小(厘米)")
plt.ylabel("发现时间(天)")
plt.legend(loc="best")
plt.show()

在这里插入图片描述
观察上图,并未发现任何问题。当我们计算样本1和样本2的距离时,公式为:
在这里插入图片描述
我们可发现纵坐标的数据远远大于横坐标的数据。这样在我们进行计算时,由于发现时间的影响远大于肿瘤大小的影响,所以预测相当于只采用了一个特征。

因此我们需要进行数据归一化

最值归一化


最值归一化:把所有数据映射到0-1之间。公式如下:
在这里插入图片描述
以上述例子为例:对发现时间的特征进行最值归一化。

import numpy as np
X = np.array([[1, 200],[5, 100],[2, 150]
])
X = np.array(X, dtype='float')
X[:,1] = (X[:,1]-np.min(X[:,1]))/(np.max(X[:,1])-np.min(X[:,1]))

在这里插入图片描述

均值方差归一化(常用)

均值方差归一化:它是把所有数据归到均值为0,方差为1的分布中。即确保最终得到的数据均值为0,方差为1。公式如下:
在这里插入图片描述
以上述例子为例:对发现时间的特征进行均值方差归一化。

import numpy as np
X = np.array([[1, 200],[5, 100],[2, 150]
])
X = np.array(X, dtype='float')
X[:,1] = (X[:,1]-np.mean(X[:,1]))/np.std(X[:,1]) #np.std()--求方差

在这里插入图片描述

在sklearn中调用归一化(鸢尾花数据归一化)

  1. 导入模块
import numpy as np
from sklearn.datasets import load_iris
from sklearn.preprocessing import StandardScaler # 均值方差归一化
from sklearn.model_selection import train_test_split
  1. 获取数据并预处理
iris = load_iris()
X = iris.data
y = iris.target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)std_scaler = StandardScaler()
std_scaler.fit(X_train) # 计算均值和方差X_std_train = std_scaler.transform(X_train) # 对训练集特征进行归一化处理
X_std_test = std_scaler.transform(X_test) # 对测试集特征进行归一化处理

在这里插入图片描述
在这里插入图片描述

  1. 调用sklearn中的KNN算法,计算出准确率
from sklearn.neighbors import KNeighborsClassifierknn_clf = KNeighborsClassifier()
knn_clf.fit(X_std_train, y_train)knn_clf.score(X_std_test, y_test)

在这里插入图片描述

相关内容

热门资讯

草的勇气初一作文【精简3篇】 草的勇气初一作文 篇一草的勇气草,生长在大地上的普通植物,虽然它不如树木高大,也没有鲜花的美丽,但它...
我的妈妈初中作文800字【精... 我的妈妈初中作文800字 篇一我妈妈是一个温柔而坚强的女人。她照顾我和家庭的同时,也努力工作,为我们...
夜色温柔初中作文【优选5篇】 夜色温柔初中作文 篇一夜色温柔初中作文夜晚,是一天中最安静、最神秘的时刻。当太阳沉入地平线,天空渐渐...
《翡翠森林》观后感900字(... 《翡翠森林》观后感900字 篇一《翡翠森林》是一部以自然为主题的纪录片,通过展示翡翠森林的美丽景色和...
我和妈妈的故事-初中记叙文(... 我和妈妈的故事-初中记叙文 篇一妈妈是我生命中最重要的人,她是我最亲密的伙伴,也是我最坚强的支持者。...
我们是一家人初中作文【优质6... 我们是一家人初中作文 篇一我们是一家人家,是我们生活的港湾,是我们心灵的归宿。而我们,是一个幸福温馨...
初中作文:飘落的樱花【实用5... 初中作文:飘落的樱花 篇一樱花是一种美丽而短暂的花朵,它的开放总是给人们带来无尽的惊喜和美好的回忆。...
解开缚心的绳索作文(优质6篇... 解开缚心的绳索作文 篇一绳索,是一种用来束缚的工具,它可以用来捆绑、困住甚至勒死人。然而,有时候,这...
我是谁作文【最新6篇】 我是谁作文 篇一我是谁?这是一个看似简单却又复杂的问题。每个人都有自己独特的身份和故事,我也不例外。...
我们一家人初中作文(经典6篇... 我们一家人初中作文 篇一我们一家人初中作文我是一个初中生,家中有爸爸、妈妈和一个比我小两岁的弟弟。我...
初中生作文600字【推荐6篇... 初中生作文600字 篇一:我的暑假生活暑假终于到了,这是我最期待的时刻。我有一个丰富多彩的暑假计划,...
尊重的作文【优选6篇】 尊重的作文 篇一尊重是一种基本的社会道德,是我们与他人相处时应当遵循的原则。尊重他人不仅能够维护社会...
十年后的我初中作文【优秀6篇... 十年后的我初中作文 篇一我的初中生活是我成长的重要阶段,十年后回顾起来,我深深地感慨万分。初中时期,...
我的生日_(精彩6篇) 我的生日_ 篇一今天是我的生日,我迫不及待地等待着这一天的到来。在这一天,我将和家人、朋友一起庆祝,...
学会放弃的初中作文【优选6篇... 学会放弃的初中作文 篇一在我们的成长过程中,学会放弃是一个非常重要的能力。放弃并不意味着失败,相反,...
闯江湖600字作文【实用6篇... 闯江湖600字作文 篇一:我的江湖初试江湖,是一个神秘而又充满诱惑的地方。作为一个热血青年,我无法抵...
初一作文祖国颂【优选3篇】 初一作文祖国颂 篇一祖国,是我们生活的家园,是我们永远的依靠和坚实的后盾。我深深地热爱着这片土地,因...
关于季节的作文七年级作文精选... 关于季节的作文七年级作文 第一篇如果用春夏秋冬来诠释人生,那么生机是夏的代言,清爽是秋的形象,冷漠是...
由你选择作文【精选3篇】 由你选择作文 篇一标题:友情的力量友情是一种无私的情感,它可以让我们感受到温暖和力量。在我们的生活中...
争当四好少年作文(精选3篇) 争当四好少年作文 篇一争当四好少年作文作为当代少年,我们要时刻牢记自己的使命和责任,争当四好少年。四...