【机器学习】归一化特征值的处理

# -*- coding:utf-8 -*-
__author__ = ‘Ghostviper‘
"""
归一化特征值
"""
from numpy import *
def autoNorm(dataSet):
    minVals = dataSet.min(0)
    maxVals = dataSet.max(0)
    ranges = maxVals - minVals
    normDataSet = zeros(shape(dataSet))
    m = dataSet.shape[0]
    normDataSet = dataSet - tile(minVals, (m, 1))
    normDataSet = normDataSet / tile(ranges, (m, 1))
    return normDataSet, ranges, minVals
if __name__ == "__main__":
    dataSet = array([
        [0.1, 12345, 23],
        [-1.2, 456431, 46],
        [0.99, 23332, 89],
        [1.3, 97653, 123],
        [2, 10900, 23],
        [1, 54612, 9],
    ])
    normDataSet, ranges, minVals = autoNorm(dataSet)

输出结果:

array([[ 0.40625   ,  0.00324332,  0.12280702],
       [ 0.        ,  1.        ,  0.3245614 ],
       [ 0.684375  ,  0.02790378,  0.70175439],
       [ 0.78125   ,  0.19471821,  1.        ],
       [ 1.        ,  0.        ,  0.12280702],
       [ 0.6875    ,  0.09811214,  0.        ]])
array([  3.20000000e+00,   4.45531000e+05,   1.14000000e+02])
array([ -1.20000000e+00,   1.09000000e+04,   9.00000000e+00])

算法核心:(数据集 - 最小特征数据集)/ (最大特征-最小特征)数据集

用途:用于处理不同组特征数据差异较大的情况

时间: 2024-10-05 21:37:01

【机器学习】归一化特征值的处理的相关文章

机器学习-归一化

def autoNorm(dataSet):#归一化,使用公式为 newValue=(oldValue-min)/(max-min) minVals = dataSet.min(0) maxVals = dataSet.max(0) ranges = maxVals - minVals normDataSet = zeros(shape(dataSet)) m = dataSet.shape[0] normDataSet = dataSet - tile(minVals, (m,1)) norm

机器学习实战笔记2(k-近邻算法)

1:算法简单描述 给定训练数据样本和标签,对于某测试的一个样本数据,选择距离其最近的k个训练样本,这k个训练样本中所属类别最多的类即为该测试样本的预测标签.简称kNN.通常k是不大于20的整数,这里的距离一般是欧式距离. 2:python代码实现 创建一个kNN.py文件,将核心代码放在里面了. (1)   创建数据 #创造数据集 def createDataSet(): group = array([[1.0, 1.1], [1.0, 1.0], [0, 0], [0, 0.1]]) labe

2机器学习实践笔记(k-最近邻)

1:算法是简单的叙述说明 由于训练数据样本和标签,为测试数据的示例,从最近的距离k训练样本,此k练样本中所属类别最多的类即为该測试样本的预測标签. 简称kNN.通常k是不大于20的整数,这里的距离通常是欧式距离. 2:python代码实现 创建一个kNN.py文件,将核心代码放在里面了. (1)   创建数据 #创造数据集 def createDataSet(): group = array([[1.0, 1.1], [1.0, 1.0], [0, 0], [0, 0.1]]) labels =

机器学习--kNN算法案例

一.改进约会网站的配对效果 想要预测的目标变量:不喜欢的人.魅力一般的人.极具魅力的人 样本特征:每年获得的飞行常客里程数.玩视频游戏所耗时间百分比.每周消费的冰淇淋公升数 约会数据信息存放在文本文件datingTestSet.txt中,每个样本数据占据一行,共有1000行. 实现步骤 1.将文本文件中的数据进行解析 ################################### #功能:将文本文件中的数据解析为矩阵形式 #输入变量:filename 文件名字符串 #输出变量:retur

《机器学习实战》-k近邻算法

目录 K-近邻算法 k-近邻算法概述 解析和导入数据 使用 Python 导入数据 实施 kNN 分类算法 测试分类器 使用 k-近邻算法改进约会网站的配对效果 收集数据 准备数据:使用 Python 解析文本文件 分析数据:使用 Matplotlib 画二维散点图 准备数据:归一化数值 测试算法:验证分类器 使用算法:构建完整可用系统 手写识别系统 准备数据 测试算法 使用算法:构建完整可用系统 总结 K-近邻算法 k-近邻分类算法概述 使用 k-近邻算法改进约会网站的配对效果 手写识别系统

【机器学习实战】第2章 K-近邻算法(k-NearestNeighbor,KNN)

第2章 k-近邻算法 <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=default"></script> KNN 概述 k-近邻(kNN, k-NearestNeighbor)算法主要是用来进行分类的. KNN 场景 电影可以按照题材分类,那么如何区分 动作片 和 爱情片 呢? 动作片:打斗次数更多 爱情片

机器学习实战——第二章之改进约会网站的配对效果

三种类型:不喜欢的-1,魅力一般的-2,极具魅力的-3. 样本特征:每年获得的飞行常客里程数,玩视频游戏所耗时间百分比,每周消费的冰淇淋公升数. 1 from numpy import * 2 import matplotlib 3 import matplotlib.pyplot as plt 4 5 ''' 6 输入文本文件名字符串,输出训练样本矩阵和类标签向量 7 ''' 8 def file2matrix(filename): 9 fr = open(filename) 10 array

机器学习实战笔记--k近邻算法

1 #encoding:utf-8 2 from numpy import * 3 import operator 4 import matplotlib 5 import matplotlib.pyplot as plt 6 7 from os import listdir 8 9 def makePhoto(returnMat,classLabelVector): #创建散点图 10 fig = plt.figure() 11 ax = fig.add_subplot(111) #例如参数为

机器学习实战之第二章 k-近邻算法

第2章 k-近邻算法 KNN 概述 k-近邻(kNN, k-NearestNeighbor)算法主要是用来进行分类的. KNN 场景 电影可以按照题材分类,那么如何区分 动作片 和 爱情片 呢? 动作片:打斗次数更多 爱情片:亲吻次数更多 基于电影中的亲吻.打斗出现的次数,使用 k-近邻算法构造程序,就可以自动划分电影的题材类型. 现在根据上面我们得到的样本集中所有电影与未知电影的距离,按照距离递增排序,可以找到 k 个距离最近的电影. 假定 k=3,则三个最靠近的电影依次是, He's Not