多特征数据预处理的一种尝试

在一个实例中,有近60个特征,上千组数据样本。考虑到数据受噪声污染可能比较严重,希望能首先筛除部分不合理数据,也就是仅采用高度集中区域的数据。那么,问题就是,如何找到数据高度集中区域。找到数据密集区,数据之间的规律性更强,更利于接下来的识别。

首先考虑到的就是抽样,或者美其名曰蒙特卡洛抽样。这是一种正向问题解决方法,对于复杂问题往往有意想不到的效果。但是,此处有近60个特征,若每个特征分x个区间,总区间就是x^60,计算机根本无法解决。

那么,退一步,首先找到样本点在每个特征上的分布,找到最集中的区域,再合并,是否可行呢?事实上,每个特征的集中区域,并不一定是同时考虑多个特征的密集区。从二维投影到一维,会把另一个变量对应的各区间累积起来,并不要求在另一变量上的分布如何。

换个思路,从样本点出发是否可行呢?找到每个样本点周围一定范围内的样本点数目,样本点数目最大的那个对应的样本点,就是样本密集区的中心。需要计算各样本点相互之间的距离,会有n(n-1)/2个数据,显然增长的比较慢一点。如果样本点数据过多,仍然难以实现。

在寻找密集区的时候,是否可以降低样本点数目?如果样本的分布具有一定规律,那么如果随机抽样,如果抽样数目较多,将逼近样本的分布规律。此处寻找样本密集区,并不是非常强的要求,似乎可行。

小结一下,可以采用两步,首先对数据二次抽样,再计算任一样本点周边一定范围内样本点数目,最大者对应的样本点就是密集区的近似中心。为了提高精度,可以采用更多的样本,仅考虑任一样本点相对密集区内样本点的距离,再次比较一定范围内样本数目,从而提高样本点中心的精度。

找到中心之后,新数据的分类,就可以采用k近邻法。也可以训练神经网络、SVM,找到边界,再用于分类。

时间: 2024-09-30 00:45:19

多特征数据预处理的一种尝试的相关文章

使用pandas进行数据预处理01

数据预处理有四种技术:数据合并,数据清洗,数据标准化,以及数据转换. 数据合并技术:(1)横向或纵向堆叠合数据 (2)主键合并数据 (3)重叠合并数据 1.堆叠合并数据: 堆叠就是简单的把两个表拼接在一起,也被称作轴向连接,绑定,或连接.依照连接轴的方向,数据堆叠可分为横向堆叠和纵向堆叠. (1)横向堆叠,即将两个表在x轴向拼接在一起,可以使用concat函数完成.基本语法为pandas.concat().当两个表索引不完全一样时, ,可以使用join参数选择是内连接还是外连接.在内连接的情况下

第七篇:数据预处理(四) - 数据归约(PCA/EFA为例)

前言 这部分也许是数据预处理最为关键的一个阶段. 如何对数据降维是一个很有挑战,很有深度的话题,很多理论书本均有详细深入的讲解分析. 本文仅介绍主成分分析法(PCA)和探索性因子分析法(EFA),并给出具体的实现步骤. 主成分分析法 - PCA 主成分分析(principal components analysis, PCA)是一种分析.简化数据集的技术. 它把原始数据变换到一个新的坐标系统中,使得任何数据投影的第一大方差在第一个坐标(第一主成分)上,第二大方差在第二个坐标(第二主成分)上,依次

python数据分析入门——数据导入数据预处理基本操作

数据导入到python环境:http://pandas.pydata.org/pandas-docs/stable/io.html(英文版) IO Tools (Text, CSV, HDF5, ...)? The pandas I/O API is a set of top level reader functions accessed like pd.read_csv() that generally return a pandasobject. read_csv read_excel re

【深度学习系列】PaddlePaddle之数据预处理

上篇文章讲了卷积神经网络的基本知识,本来这篇文章准备继续深入讲CNN的相关知识和手写CNN,但是有很多同学跟我发邮件或私信问我关于PaddlePaddle如何读取数据.做数据预处理相关的内容.网上看的很多教程都是几个常见的例子,数据集不需要自己准备,所以不需要关心,但是实际做项目的时候做数据预处理感觉一头雾水,所以我就写一篇文章汇总一下,讲讲如何用PaddlePaddle做数据预处理. PaddlePaddle的基本数据格式 根据官网的资料,总结出PaddlePaddle支持多种不同的数据格式,

数据预处理(完整步骤)

原文:http://dataunion.org/5009.html 一:为什么要预处理数据?(1)现实世界的数据是肮脏的(不完整,含噪声,不一致)(2)没有高质量的数据,就没有高质量的挖掘结果(高质量的决策必须依赖于高质量的数据:数据仓库需要对高质量的数据进行一致地集成)(3)原始数据中存在的问题:不一致 —— 数据内含出现不一致情况重复不完整 —— 感兴趣的属性没有含噪声 —— 数据中存在着错误.或异常(偏离期望值)的数据高维度二:数据预处理的方法(1)数据清洗 —— 去噪声和无关数据(2)数

《数据挖掘概念与技术》--第三章 数据预处理

一.数据预处理 1.数据如果能够满足其应用的要求,那么他是高质量的. 数据质量涉及许多因素:准确性.完整性.一致性.时效性.可信性.可解释性. 2.数据预处理的主要任务:数据清洗.数据集成.数据规约.数据变换. 二.数据清理:试图填充缺失值,光滑噪声.识别利群点.纠正数据中的不一致. 1.缺失值的处理: 1)忽略元组:缺少类标号时通常这么做.但是忽略的元组其他属性也不能用,即便是有用的. 2)人工填写:该方法很费事费时,数据集很大.缺失值很多时可能行不通. 3)使用一个全局常量填充缺失值:将缺失

机器学习之数据预处理

归一化处理 from sklearn.preprocessing import StandardScaler X_scaler = StandardScaler() y_scaler = StandardScaler() X_train = X_scaler.fit_transform(X_train) y_train = y_scaler.fit_transform(y_train) X_test = X_scaler.transform(X_test) #同样的模型来训练转化测试数据 y_t

python data analysis | python数据预处理(基于scikit-learn模块)

原文:http://www.jianshu.com/p/94516a58314d Dataset transformations| 数据转换 Combining estimators|组合学习器 Feature extration|特征提取 Preprocessing data|数据预处理 1 Dataset transformations scikit-learn provides a library of transformers, which may clean (see Preproce

数据预处理(数据的操作2)

2.常用数据预处理方法 这个部分总结的是在Python中常见的数据预处理方法. 2.1标准化(Standardization or Mean Removal and Variance Scaling) 变换后各维特征有0均值,单位方差.也叫z-score规范化(零均值规范化).计算方式是将特征值减去均值,除以标准差. sklearn.preprocessing.scale(X) 一般会把train和test集放在一起做标准化,或者在train集上做标准化后,用同样的标准化去标准化test集,此时