连续数值变量的一些特征工程方法:二值化、多项式、数据倾斜处理

二值化处理:将细粒度的度量转化成粗粒度的度量,使得特征的差异化更大。

from sklearn.datasets import load_iris
import pandas as pd

X,y = load_iris(return_X_y=True)    

df_X = pd.DataFrame(X,columns=list("ABCD"))

from sklearn.preprocessing import Binarizer

df_X["A"].describe()

bn = Binarizer(threshold=5.843333)

df_X["A"] = bn.transform(df_X["A"].values.reshape(-1,1))

特征多项式交互:捕获特征之间的相关性

from sklearn.datasets import load_iris
import pandas as pd

X,y = load_iris(return_X_y=True)    

df_X = pd.DataFrame(X,columns=list("ABCD"))

from sklearn.preprocessing import PolynomialFeatures

pnf = PolynomialFeatures(degree=2,interaction_only=True)

temp  = pnf.fit_transform(df_X[["A","B"]].values)

for i,column in enumerate(list("EFGH")):
    df_X[column] = temp[:,i]

数据分布倾斜的处理:

  log变化:log变化倾向于拉高那些落在较低的幅度范围内自变量的取值,压缩那些落在较高的幅度范围内自变量的取值,log变化能够稳定数据的方差,使数据的分布接近于正太分布并使得数据与分布的均值无关。Box_Cox变换也有相似的效果,出现负数,使用常数进行偏移。

from sklearn.datasets import load_iris
import pandas as pd
import numpy as np

X,y = load_iris(return_X_y=True)    

df_X = pd.DataFrame(X,columns=list("ABCD"))

df_X["A"].hist(bins=10)

df_X["log_A"] = np.log10(df_X["A"])

df_X["log_A"].hist(bins=10)

原文地址:https://www.cnblogs.com/wzdLY/p/9671214.html

时间: 2024-11-09 00:51:39

连续数值变量的一些特征工程方法:二值化、多项式、数据倾斜处理的相关文章

二值化方法:Minimum Error Thresholding

Kittler二值化方法,是一种经典的基于直方图的二值化方法.由Kittler在1986年在论文“Minimum Error Thresholding”提出. 参考了ImageShop提供的C#版本(http://www.cnblogs.com/Imageshop/p/3307308.html),做了简单修改得到了C++版本的,代码如下: /*灰度图像的二值化方法*/ class CxThreshold { public: static int CalcKittlerMinError(int*

SpringMVC入门(二)—— 参数的传递、Controller方法返回值、json数据交互、异常处理、图片上传、拦截器

一.参数的传递 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Helvetica } 1.简单的参数传递 1 /* @RequestParam用法:入参名字与方法名参数名不一致时使用{ 2 * value:传入的参数名,required:是否必填,defaultValue:默认值 3 * } 4 */ 5 @RequestMapping("itemEdit") 6 public ModelAndView itemEdit(@R

一维最大熵二值化方法

static int Get1DMaxEntropyThreshold(const int* HistGram, int const in_Start, int const in_End) { int X, Y, Amount = 0; double HistGramD[256]; double SumIntegral, EntropyBack, EntropyFore, MaxEntropy; int MinValue = in_Start, MaxValue = in_End; int Th

数学思想方法-python计算战(8)-机器视觉-二值化

二值化 hreshold Applies a fixed-level threshold to each array element. C++: double threshold(InputArray src, OutputArray dst, double thresh, doublemaxval, int type) Python: cv2.threshold(src, thresh, maxval, type[, dst]) → retval, dsthighlight=cvthresho

机器学习:数据准备和特征工程

对于数据挖掘,数据准备阶段主要就是进行特征工程. 数据和特征决定了模型预测的上限,而算法只是逼近了这个上限. 好的特征要少而精,这会使模型更简单.更精准. 一.特征构造 1.’常见提取方式 文本数据的特征提取 词袋向量的方式:统计频率 图像数据的特征提取 像素点RGB 用户行为特征提取 特征提取总结: 特征设计时需要与目标高度相关: 这个特征对预测目标是否有用 如果有用,这个特征的重要程度如何 这个特征的信息是否在其他特征重体现过 特征需要专业领域知识.直觉和一定的数学知识 初始提取的特征后续还

评分卡系列(二):特征工程

文章很长,理论和实现都讲的很细,大家可以先收藏,有时间再看. 在上一篇文章中,我们对LendingClub的数据有了一个大致的了解,这次我将带大家把10万多条.145个字段的原始数据一步一步处理成建模所需输入的数据. 我们先按照上次一样导入数据,这里我将逾期15天以上的都当作正类 import pandas as pd import numpy as np import reportgen as rpt import matplotlib.pyplot as plt import seaborn

1. 特征工程之特征预处理

1. 前言 "数据决定了机器学习的上限,而算法只是尽可能逼近这个上限",这里的数据指的就是经过特征工程得到的数据.特征工程指的是把原始数据转变为模型的训练数据的过程,它的目的就是获取更好的训练数据特征,使得机器学习模型逼近这个上限.特征工程能使得模型的性能得到提升,有时甚至在简单的模型上也能取得不错的效果.特征工程在机器学习中占有非常重要的作用,主要包括数据与特征预处理.特征选择和数据的降维三部分.接下去会通过3篇文章对这三方面进行介绍.今天首先讲讲数据与特征的预处理. 2. 数据与特

特征工程之降维

真理之言 特征工程决定了机器学习的上限,而算法和模型只是逼近这个上限. 特征工程是什么 模型设计.算法训练之前的所有针对数据的准备工作,都称之为特征工程. 特征工程包含哪些工作 分析任务.获取数据.特征数据处理-异常值.空值.重复值.标准化等.特征处理-衍化.二值化.哑编码.降维等.这个过程中很多环节都要依赖高度的业务理解程度. 降维前面的都不再细说了,该如何已了然于心.至于降维,工作过程中用的最多的还是根据经验人工识别后手动删除或者赋不同权重.其实这是非常有效的方法:二八法则保留黄金特征,往往

使用Python做单机特征工程

目录 1 特征工程是什么?2 数据预处理 2.1 无量纲化 2.1.1 标准化 2.1.2 区间缩放法 2.1.3 无量纲化与正则化的区别 2.2 对定量特征二值化 2.3 对定性特征哑编码 2.4 缺失值计算 2.5 数据变换 2.6 回顾3 特征选择 3.1 Filter 3.1.1 方差选择法 3.1.2 相关系数法 3.1.3 卡方检验 3.1.4 互信息法 3.2 Wrapper 3.2.1 递归特征消除法 3.3 Embedded 3.3.1 基于惩罚项的特征选择法 3.3.2 基于