Python机器学习:KNN算法08scikit-learn中的Scaler
归一化
from sklearn import datasets
import numpy as np
iris = datasets.load_iris()
X = iris.data
y = iris.target
from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.2,random_state=666)
#sklearn中的StandarScaler
from sklearn.preprocessing import StandardScaler
standardScaler = StandardScaler()
standardScaler.fit(X_train)
standardScaler.mean_
array([5.83416667, 3.08666667, 3.70833333, 1.17 ])
standardScaler.scale_#数据分布范围,方差~
array([0.81019502, 0.44327067, 1.76401924, 0.75317107])
归一化
X_train = standardScaler.transform(X_train)
print(X_train)
部分结果
这个归一化使用的也是训练集中的均值和方差
X_test_standard = standardScaler.transform(X_test)
使用KNN算法看看分类效果
from sklearn.neighbors import KNeighborsClassifier
knn_clf = KNeighborsClassifier(n_neighbors=3
knn_clf.fit(X_train,y_train)
KNeighborsClassifier(n_neighbors=3)
knn_clf.score(X_test,y_test)#没归一化
0.3333333333333333
使用归一化的数据集,正确率100.。。
knn_clf.score(X_test_standard,y_test)
1.0
另外还自己封装了一个类,可以处理ndim=2的矩阵
import numpy as np
class StandardScaler():def __init__(self):self.mean_ = Noneself.scale_ = Nonedef fit(self,X):"""根据训练数据集X获得数据的均值和方差"""assert X.ndim == 2,"The dimension of X must be 2"self.mean_ = np.array([np.mean(X[:,i]) for i in range(X.shape[1])])self.scale__ = np.array([np.std(X[:,i]) for i in range(X.shape[1])])def transform(self,X):"""将X根据这个StandardScaler进行均值方差归一化处理"""assert X.ndim ==2,"The dimension of X must be 2"assert self.mean_ is not None and self.scale_ is not None,"must fit before transform"resX = np.empty(shape=X.shape,dtype=float)for col in range(X.shape[1]):resX[:,col] = (X[:,col] - self.mean_[col]) / self.scale_[col]return resX
fit之后就保存了均值和方差…
Python机器学习:KNN算法08scikit-learn中的Scaler相关推荐
- python实现KNN算法在电影分类中的应用
使用python实现KNN算法在电影分类中的应用 代码如下: import numpy as np import operator""" 使用KNN算法对电影进行分类 K ...
- Python实现kNN算法
Python实现kNN算法 1. 原理 k-最近邻: kNN(k-NearestNeighbor)分类算法机器学习中最简单的分类方法之一.所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用 ...
- 机器学习knn算法学习笔记使用sklearn库 ,莺尾花实例
** 机器学习knn算法学习笔记使用sklearn库 ,莺尾花实例. 具体knn算法是怎样的我这里就不再详细论述.在这里我注意总结我使用knn算法进行一个分类的分析 ** 分析过程 1.前期准备 引入 ...
- 课程设计(毕业设计)—基于机器学习KNN算法手写数字识别系统—计算机专业课程设计(毕业设计)
机器学习KNN算法手写数字识别系统 下载本文手写数字识别系统完整的代码和课设报告的链接(或者可以联系博主koukou(壹壹23七2五六98),获取源码和报告):https://download.csd ...
- 机器学习KNN算法实践:预测城市空气质量
出品:Python数据之道 作者:叶庭云 整理:Lemon 机器学习KNN算法实践 预测城市空气质量 「Python数据之道」导读: 之前在公众号上分享过 "图解KNN算法" 的内 ...
- 机器学习 —— KNN算法简单入门
机器学习 -- KNN算法简单入门 第1关:手动实现简单kNN算法 1 KNN算法简介 1.1 kNN 算法的算法流程 1.2 kNN 算法的优缺点 1.3 编程要求+参数解释 2. 代码实现 3. ...
- Python实现KNN算法(鸢尾花集)
不同颜色的鸢尾花花语不尽相同,蓝色鸢尾花语是精致的美丽,红色鸢尾花的花语代表着热情.适应力强.紫蓝色鸢尾花花语代表着好消息.想念你.黄色鸢尾花的花语代表着友谊永固.热情开朗,白色鸢尾花花语代表着纯真. ...
- 机器学习 KNN算法实践
作者 | 叶庭云 来源 | 修炼Python 头图 | 下载于视觉中国 KNN算法简介 KNN(K-Nearest Neighbor)最邻近分类算法是数据挖掘分类(classification)技术中 ...
- 机器学习——KNN算法
机器学习--KNN算法 文章目录 机器学习--KNN算法 前言 一.KNN原理基础 二.sklearn的基本建模流程 三.KNN算法调优:选取最优的K值 四.KNN中距离的相关讨论 1. KNN使用的 ...
- 用Python实现KNN算法(从原理到代码的实现)
用Python实现KNN算法(从原理到代码的实现) 环境 1.Pycharm 2.python3.6 声明:本栏的所有文章皆为本人学习时所做笔记而整理成篇,转载需授权且需注明文章来源,禁止商业用途,仅 ...
最新文章
- ubuntu下scp批量拷贝文件不需要输入密码
- 菲尔兹奖得主舒尔茨没做到的事,现在被计算机证明了
- 在Intellij Idea中使用jstl标签库
- hihoCoder - 1082 - 然而沼跃鱼早就看穿了一切 (字符串处理!!)
- oracle 用户 表空间绑定,ORACLE表空间绑定用户操作流程
- xgboost每次迭代取得最优值方法
- base标签在ie6下的恶心问题
- Relatively Prime Powers CodeForces - 1036F (莫比乌斯函数容斥)
- poj 3660 传递闭包 **
- hql可以使用distinct吗_输送食品可以使用白色PVC输送带吗?
- html5 标准结构_IT兄弟连 HTML5教程 HTML文件的主体结构
- css3组件实战--绚丽效果篇
- 回顾---对教师提出的5个问题的回答及个人感悟
- 吞食天地2完全版乱码怎么解决_PDF转Word如何转换?PDF转Word乱码怎么解决?
- APP开通支付宝支付 转账功能
- 如何在java中简单实现音乐播放
- 共享充电宝方案怎么做
- 为什么去开发一个MLSQL
- 专业函数绘图软件Origin 7.5中文版
- Android studio如何用GIF图作为背景
热门文章
- 算术运算导致溢出。_【S7200指令教程】数据运算指令ADD SUB MUL DIV
- 【英语学习】【English L06】U08 News L3 Was it drunk driving again?
- 【英语学习】【WOTD】imbroglio 释义/词源/示例
- Intel Core Enhanced Core架构/微架构/流水线 (9) - 执行单元发射口旁路时延
- 四.3D-2D:PnP问题求解 线性法
- 个人计算机的缩写英语,计算机中常用的英语缩写
- python的网络应用_python 网络编程的应用模块
- fastjson的一些常见用法
- Mono for Android 优势与劣势
- 行列式的本质是什么?(附MATLAB代码)