数据挖掘学习——数据预处理方法代码汇总(python)

2023-11-02

目录

一、归一化处理方法

(1)min-max方法(离散归一化)

(2)零-均值规范化方法

(3)小数定标规范化

二、插值法

(1)拉格朗日插值法

三、相关性分析

(1)pearson相关性系数

(2)spearman相关性系数

四、主成分分析(PCA)


一、归一化处理方法

归一化常用方法有:

(1)min-max方法(离散归一化)

对原始数据的线性变换,将数据点映射到了[0,1]区间(默认)

一般调用sklearn库中的min_max_scaler函数实现,代码如下:

from sklearn import preprocessing
import numpy as np

x =  np.array(
    [[1972, 685, 507, 962, 610, 1434, 1542, 1748, 1247, 1345],

[262, 1398, 1300, 1056, 552, 1306, 788, 1434, 907, 1374],])

# 调用min_max_scaler函数
min_max_scaler = preprocessing.MinMaxScaler()
minmax_x = min_max_scaler.fit_transform(x)

(2)零-均值规范化方法

    把特征值的分布变化到均值为零。这种做法可以消除不同特征(或样本)之间的量级差异,使得特征之间的分布更加接近的变化,这在某些模型(如SVM)中,能够极大地提升处理效果,促使模型更加稳定,提升预测准确度。

代码实现:

import numpy as np
# 零-均值规范化
def ZeroAvg_Normalize(data):
    text=(data - data.mean())/data.std()
    return text

(3)小数定标规范化

小数定标规范化就是通过移动小数点的位置来进行规范化。小数点移动多少位取决于属性A的取值中的最大绝对值。

实现代码如下:

import numpy as np

# 小数定标规范化
def deci_sca(data):
    new_data=data/(10**(np.ceil(np.log10(data.max()))))
    return new_data

二、插值法

在离散数据的基础上补插连续函数,使得这条连续曲线通过全部给定的离散数据点。

插值是逼近的重要方法,利用它可通过函数在有限个点处的取值状况,估算出函数在其他点处的近似值。

在图像的应用中,是填充图像变换时造成的空隙。

(1)拉格朗日插值法

在节点上给出节点基函数,然后做基函数的线性组合,组合系数为节点函数值的一种插值多项式。

可以通过调用scipy库中的lagrange方法实现,代码如下:

'''拉格朗日插值法实现'''
from scipy.interpolate  import lagrange
import numpy as np
x_known = np.array([987,1325,1092,475,2911])
y_known = np.array([372,402,1402,1725,1410])
new_data = lagrange(x_known,y_known)(4)
print(new_data)

三、相关性分析

(1)pearson相关性系数

协方差除以标准差的乘积,pearson相关系数是线性相关关系,pearson相关系数呈现连续型正态分布变量之间的线性关系。

调用corr()方法,定义参数为pearson方法即可实现,代码如下:

# pearson相关系数计算
corr_pearson = df.corr(method='pearson')

(2)spearman相关性系数

秩(有序)变量之间的Pearson相关系数,spearman相关系数呈现非线性相关,spearman相关系数不要求正态连续,但至少是有序的。

# spearman相关系数计算
corr_spearman = df.corr(method='spearman')

四、主成分分析(PCA)

主成分分析(Principal Component Analysis,PCA), 是一种统计方法,通过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量,转换后的这组变量叫主成分。

在数据预处理中,我们常用PCA的方法对数据进行降维处理,将n维特征映射到k维上,这k维是全新的正交特征也被称为主成分,是在原有n维特征的基础上重新构造出来的k维特征。

具体实现步骤如下:

1)首先对数据进行标准化,消除不同量纲对数据的影响,标准化可采用极值法

及标准差标准化法。

2)根据标准化数据求出方差矩阵。

3)求出共变量矩阵的特征根和特征变量,根据特征根,确定主成分。

4)结合专业知识和各主成分所蕴藏的信息给予恰当的解释。

可以直接调用sklearn中的pca方法实现,代码如下:

# 调用sklearn的PCA
from sklearn.decomposition import PCA
import numpy as np
import pandas as pd

df=pd.DataFrame({'能力':[66,65,57,67,61,64,64,63,65,67,62,68,65,62,64],

                '品格':[64,63,58,69,61,65,63,63,64,69,63,67,65,63,66],

                '担保':[65,63,63,65,62,63,63,63,65,69,65,65,66,64,66],

                '资本':[65,65,59,68,62,63,63,63,66,68,64,67,65,62,65],

                '环境':[65,64,66,64,63,63,64,63,64,67,64,65,64,66,67]
                 })

#调用sklearn中的PCA函数对数据进行主成分分析
pca=PCA()
pca.fit(df) # 用训练数据X训练模型

'''投影后的特征维度的方差比例'''
print('--------------投影后的特征维度的方差比例(每个特征方差贡献率)-------------------')
print(pca.explained_variance_ratio_)

'''投影后的特征维度的方差'''
print('--------------投影后的特征维度的方差-------------------')
print(pca.explained_variance_)
print('--------------模型的主成分对应的特征向量-------------------')
print(pca.components_)
print('--------------使用pca模型对数据进行降维-------------------')
print(pca.transform(df))# 对数据进行降维

运行结果:

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据挖掘学习——数据预处理方法代码汇总(python) 的相关文章

随机推荐

  • ADC基本原理

    ADC基本原理 1 ADC即为典型的模拟数字转换器将模拟信号转换为表示一定比例电压值的数字信号 2 对于32 1 ADC转换时间 最大转换速率 1us 最大转换速度为1MHz 在ADCCLK 14M 采样周期为1 5个ADC时钟下得到 2
  • f2fs文件系统 CP介绍

    前言 在前面的介绍中 f2fs保证一致性有两种方法 前滚恢复和后滚恢复 前滚恢复需要配合fsync流程使用 先不进行介绍 而后滚恢复就是本章节需要介绍的CheckPoint相关内容 所谓的文件系统一致性 可以简单类比交易操作 即交易双方中一
  • Selenium成长之路-08简单对象定位之class name方法

    class name 的定位方法与tag name 是差不多的 我们直接上代码 还是以百度首页输入框为例来进行演示 从截图中可以看出来 class name 就是 s ipt 下面我们就通过class name元素来进行定位 coding
  • Finding the Control Points of a Bezier Curve

    原文链接 https blog sklambert com finding the control points of a bezier curve Finding the Control Points of a Bezier Curve
  • 【HIT-计算机系统】ICS-Lab4 Buflab/AttackLab

    第1章 实验基本信息 1 1 实验目的 理解C语言函数的汇编级实现及缓冲器溢出原理 掌握栈帧结构与缓冲器溢出漏洞的攻击设计方法 进一步熟练使用Linux下的调试工具完成机器语言的跟踪调试 1 2 实验环境与工具 1 2 1 硬件环境 x64
  • Unity3D开发工程师

    岗位职责 1 完成Unity3D项目架构 2 负责项目相关逻辑开发 3 Unity 3D同PHP数据交互 4 Unity 3D通过javascript与数据库链接 职位要求 1 计算机相关专业 2 熟悉3D图形学 两年以上Unity3D经验
  • 6 种方法部署 TensorFlow2 机器学习模型,简单 + 快速 + 跨平台!

    当你创建或找到了一个完美的机器学习模型时 你一定想在各个平台上都使用到它 比如电脑 网页 移动端 甚至是 Docker 环境中 不但个人如此 在实际工作中 一个优秀的程序员除了要学会构建机器学习模型 也更应该学会将其成功部署 向用户提供便捷
  • Matlab坐标变换篇

    一 安装Robotics System Toolbox 二 弄懂左乘和右乘 介绍的第一个函数为欧拉 齐次矩阵 左手坐标系下 中指对着自己为x轴 z轴为拇指 T0 eul2tr 0 0 0 基坐标系 Tx transl 5 0 0 xyz T
  • linux系统下的ocr软件,Ubuntu下的ocr文字识别(pdf、tif等)

    平时使用扫描件或者pdf查看文档 但是在ipad上当文字比较小的时候不能有效放大 过着每次阅读需要移动屏幕 十分不方便 为此想将pdf或者图片中的文字截取出来 可以有效处理 当然需要ocr技术了 现在我们就来考虑和解决这个问题 1 技术准备
  • 手把手教你如何编写一个Makefile文件

    一 概念理解 彩蛋藏在某个地方 1 1 什么是Makefile C语言中 我们使用visual studio开发软件时候 写程序开始时候都会创建一个project项目文件 然后在文件里面编译 h 和 c 的文件 在Linux中 有一个叫ma
  • wordpress 导入数据后 为什么总是跳转到安装页面

    在WordPress导入数据后跳转到安装页面的问题可能由以下原因引起 数据库连接问题 在导入数据之前 确保您的WordPress配置文件中的数据库连接信息正确且完整 打开 wp config php 文件 确保数据库的名称 用户名 密码和主
  • [转]JDK、JRE、JVM三者间的关系

    注 原文链接 http playkid blog 163 com blog static 56287260201372113842153 JDK Java Development Kit 是针对Java开发员的产品 是整个Java的核心 包
  • git 版本控制操作流程 500字

    Git 版本控制操作流程 1 首先 通过Git Bash或命令行工具下载Git 并进行安装 2 接下来 配置Git的用户名和邮箱 3 然后 通过git init命令 创建一个新的Git仓库 4 接着 通过git add命令 将文件添加到Gi
  • rocketmq搭建2m2s踩坑版

    搭建过程中遇到了些问题百度了很久终于东拼西凑成功解决了 看看成果 console完美运行 代码生产消费也是正常的 言归正传开始搭建 0 服务器环境介绍 没有将master与对应的slave安装在同一个节点 如果在一个节点挂了master就挂
  • 小白安装ros系统必备以及解决raw.githubusercontent.com无法连接问题

    一 ubuntu16 04安装ros系统的过程 后面有安装过程填过的坑 安装注意事项 1 一定要确定安装的ros版本要考虑2个方面 系统版本和芯片架构 以官网为准 kinetic版本 http wiki ros org kinetic In
  • Nginx + Lua + API:实现精准城市级别的访问控制

    文章目录 前言 安装环境 软件版本说明 luarocks 和 lua环境安装 LuaJIT安装 依赖库安装 nginx编译 API设置及调用 百度地图API 创建Lua调用API LUA脚本配置说明 共享内存区域 必须 dns解析配置 黑名
  • python中百分号的含义_python里百分号什么意思

    最近在学习python过程中 发现了 百分号 的一些情况 这里就简单介绍一下 python里百分号有2个意思 计算数的时候 它是求余数的意思 另外一个是格式化字符串的作用 如 d s 12 abc 就把 d换成12 s换成abc 得到 12
  • 第一个flask网站

    首先先下载下flask模块 pip install flask 或者豆瓣安装 然后我是在pycharm上开发的 先创建一个项目 接着在项目下新建一个python文件 我是建的app py python目录下创建文件夹templates 和a
  • 李航统计学习方法之感知机学习(含感知机原始形式和对偶形式Python代码实现)

    感知机 感知机基本介绍 感知机是一个线性二分模型 输出取值为 1 1 是判别模型 感知机是为了求解一个超平面 该超平面能够将特征空间里的实例分解为正例和负例 设超平面方程为y w x b 因此 引入基于误分类点的损失函数 如果损失函数为误分
  • 数据挖掘学习——数据预处理方法代码汇总(python)

    目录 一 归一化处理方法 1 min max方法 离散归一化 2 零 均值规范化方法 3 小数定标规范化 二 插值法 1 拉格朗日插值法 三 相关性分析 1 pearson相关性系数 2 spearman相关性系数 四 主成分分析 PCA