• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >编程技巧 > python数据分析

python数据分析

作者: 字体:[增加 减小] 来源:互联网 时间:2018-08-06

通过本文主要向大家介绍了python,数据分析等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

总结一下近期了解到的数据分析预处理的方法。

1、均值移除

  统一样本矩阵中不同特征的基准值和分散度,将各个特征的平均值调整为0,标准差调整为1。

  例如某矩阵的一列值分别是a,b,c,m表示均值,s表示标准差,均值移除后的对应数据是 (a-m)/s,(b-m)/s,(c-m)/s。

  使用情况:某样本有些特征的数值比较大,而有的特征的数值比较小,在分析时大的数值可能会覆盖小的数值,就可以使用均值移除来解决。

   在python中方法:sklearn.preprocessing.scale(原始样本矩阵)  -> 均值移除后的样本矩阵

示例:

import numpy as np
import sklearn.preprocessing as sp

raw_samples = np.array([
    [3, 20, 200, -5400],
    [0, 40, -100, 2100],
    [1, 30, 190, -4300]
], dtype='float')

std_sample = sp.scale(raw_samples)
print(std_sample)

  输出结果为:

# [[ 1.33630621 -1.22474487  0.74274138 -0.86687558]
# [-1.06904497  1.22474487 -1.41360456  1.40111286]
# [-0.26726124  0.          0.67086318 -0.53423728]]

  2、范围缩放

  统一样本矩阵中不同特征的最大值和最小值的范围。

  请问考试成绩100分和90分哪个分高?那如果考100分的满分是200分,90分的满分是100分呢?如果两次回答的答案不一样,是因为我们没有把两个分数放在统一评分标准中比较。在对数据进行处理时,有可能也会遇到相同的情况,这就需要我们使用范围缩放和统一比较范围。

  python中方法:sklearn.preprocessing.MinMaxScaler(feature_range=(期望最小值,期望最大值))  ->  范围缩放器

                            缩放器函数.fit_transform(原始样本矩阵)  ->  范围缩放后的样本矩阵

  示例:

import numpy as np
import sklearn.preprocessing as sp

raw_samples = np.array([
    [3, -1.5, 2, -5.4],
    [0, 4, -0.3, 2.1],
    [1, 3.3, -1.9, -4.3]
])

mms = sp.MinMaxScaler(feature_range=(0, 1))
mms_samples = mms.fit_transform(raw_samples)
print(mms_samples)

  输出结果:

# [[ 1.          0.          1.          0.        ]
#  [ 0.          1.          0.41025641  1.        ]
# [ 0.33333333  0.87272727  0.          0.14666667]]

3、归一化处理

  为了用户占比表示特征,用每个样本的特征的值除以该样本的特征值绝对值之和,以使每个样本的特征值的绝对值之和为1.

  例如:

                         A           B            C              D

              1        30         35          20             40

              2        20         20          10             30

    1和2表示两个服装店,A,B,C,D代表某种衣服的不同颜色的购买数量,请问在1和2中,购买该产品的人中,喜欢A颜色比较多的是?这就需要考虑到A颜色在售出商品中的占比

  在python中的方法:sklearn.preprocessing.normalize(原始样本数据,norm='l1')  -> 归一化后的样本矩阵

                                  'l1'表示 1-范数

  示例:

import numpy as np
import sklearn.preprocessing as sp

raw_samples = np.array([
    [30, 35, 20, 40],
    [20, 20, 10, 30],
])

nor_samples = sp.normalize(raw_samples, 'l1')
print(nor_samples)

   输出结果:

# [[ 0.24   0.28   0.16   0.32 ]
# [ 0.25   0.25   0.125  0.375]]

     

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • python里函数怎么样使用元组或字典作为参数调用
  • 字符串常用内置方法-python3
  • Python 多线程 Selenium 跨浏览器测试
  • python数据分析
  • python ----将数组的值输出为一行
  • 每个程序员都应该学习使用Python或Ruby
  • 学编程选什么语言好?是PHP、Python还是Ruby?
  • 国外开发者谈为何放弃PHP而改用Python
  • 手把手教你将Vim改装成一个IDE编程环境(图文) 吴垠

相关文章

  • 2017-05-12IIS 301重定向与程序代码实现301重定向的差别
  • 2017-05-12IE 浏览器安全级别详情及区别小结
  • 2017-08-28Elasticsearch如何更新mapping
  • 2017-05-12程序员开发项目是选择效率还是质量呢?
  • 2017-05-12进制转换算法原理(二进制 八进制 十进制 十六进制)
  • 2017-05-12一个30多年编程经验的程序员总结
  • 2017-05-12分享五个最佳编程字体
  • 2017-05-12微信 小程序Demo导入详细介绍
  • 2017-05-12Mercurial入门学习介绍
  • 2017-05-12会员下线加积分,实现原理分享(有时间限制)

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 5个Linux平台程序员最爱的开发工具汇总
    • 微信小程序学习之初探小程序
    • 删除SVN三种方法delSvn(windows+linux)
    • 关于页面刷新,事件重复提交的方法分享
    • 比较全的获得ip地理信息的几种方法小结
    • 让程序员都费解的10大编程语言特性
    • python ----将数组的值输出为一行
    • 编程之显示/隐式声明
    • 网站分站的实现方法
    • Git基本常用命令

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有