
数据处理
文章平均质量分 50
gulie8
这个作者很懒,什么都没留下…
展开
-
groupby组内排序如取前n名
def sortv(x): return x.sort_values(ascending=False)[:5]tips.groupby(by='sex')['tip'].apply(sortv)原创 2021-08-25 11:51:31 · 560 阅读 · 0 评论 -
特征工程之数据预处理-数据标准化
数据标准化(也称为数据归一化),它的主要目的是消除不同特征变量量纲级别相差太大造成的不利影响。对于以特征距离为算法基础的机器学习算法(如K近邻算法),数据标准化尤为重要。数据标准化的两种方法——min-max标准化及Z-score标准化。#(1)min-max标准化min-max标准化(Min-Max Normalization)也称离差标准化,它利用原始数据的最大值和最小值把原始数据转换到[0,1]区间内,转换公式如下:import pandas as pdx=pd.DataFra原创 2021-07-21 15:32:25 · 722 阅读 · 0 评论 -
特征工程之数据预处理-重复值缺失值及异常值处理
#重复值处理import pandas as pddata=pd.DataFrame([[1,2,3],[1,2,3],[4,5,6]],columns=['c1','c2','c3'])data.head()data[data.duplicated(keep='last')]#可以用duplicated()函数来查询重复的内容data.duplicated().sum()#统计重复行的数量,可以用sum()函数data=data.drop_duplicates()#用drop_duplica.原创 2021-07-20 17:45:32 · 724 阅读 · 0 评论 -
矩阵运算说明
在机器学习中用到矩阵运算的情况非常多。值得庆幸的是,Python的NumPy工具包中恰好也提供了矩阵运算的功能。1.创建矩阵首先,我们来看如何通过前面的二维数组创建矩阵。二维数组和矩阵在外形上非常相似,但不同的是,数组可以有多维,而矩阵则只能是二维的,由行和列构成。相同数据构成的二维数组和矩阵在Python中主要通过array(数组)和matrix(矩阵)这些关键字来加以区分。data=np.array([[1,2,3],[4,6,8]])dataOut[14]: array([[1,原创 2021-06-30 21:44:17 · 161 阅读 · 0 评论 -
解决样本类别分布不均衡的问题
解决样本类别分布不均衡的问题所谓的不均衡指的是不同类别的样本量差异非常大。样本类别分布不均衡主要出现在分类相关的建模问题上。样本类别分布不均衡从数据规模上可以分为大数据分布不均衡和小数据分布不均衡两种。·大数据分布不均衡;这种情况下整体数据规模大,只是其中的小样本类的占比较少。但是从每个特征的分布来看,小样本也覆盖了大部分或全部的特征。例如拥有1000万条记录的数据集中,其中占比50万条的少数分类样本便于属于这种情况。·小数据分布不均衡;这种情况下整体数据规模小,并且占据少量样本比例的分类数量也少原创 2021-06-15 11:53:32 · 3292 阅读 · 0 评论 -
关于数据降维
需要进行数据降维的情况:数据降维可以降低模型的计算量并减少模型运行时间、降低噪音变量信息对于模型结果的影响、便于通过可视化方式展示归约后的维度信息并减少数据存储空间。因此,大多数情况下,当我们面临高维数据时,都需要对数据做降维处理。是否进行降维主要考虑以下方面:1)维度数量。降维的基本前提是高维,假如模型只有几个维度,那就不一定需要降维,具体取决于维度本身的重要性、共线性以及其他排除关系,而不是出于高维的考虑。2)建模输出是否必须保留原始维度。某些场景下,我们需要完整保留参与建模的原始维度并在最原创 2021-06-11 16:21:29 · 1877 阅读 · 1 评论 -
运用标志方法处理分类和顺序数据
分类数据和顺序数据要参与模型计算,通常都会转化为数值型数据。当然,某些算法是允许这些数据直接参与计算的,例如分类算法中的决策树、关联规则等。将非数值型数据转换为数值型数据的最佳方法是:将所有分类或顺序变量的值域从一列多值的形态转换为多列只包含真值的形态,其中的真值可通过True、False或0、1的方式来表示。这种标志转换的方法有时候也称为真值转换。以用户性别变量为例,原有的用户数据如表3-2所示。经过转换后的数据如表3-3所示。...原创 2021-06-09 16:54:39 · 619 阅读 · 0 评论 -
使用Z标准化得到的阈值判断异常值
有关异常值的确定有很多规则和方法,这里使用Z标准化得到的阈值作为判断标准:当标准化后的得分超过阈值则为异常。完整代码如下:import pandas as pd # 导入Pandas库# 生成异常数据df = pd.DataFrame({'col1': [1, 120, 3, 5, 2, 12, 13],'col2': [12, 17, 31, 53, 22, 32, 43]})print (df) # 打印输出# 通过Z-Score方法判断异常值df_zscore = df.copy原创 2021-06-08 17:52:56 · 2660 阅读 · 0 评论 -
不抛弃异常值的几种情况
异常数据是数据分布的常态,处于特定分布区域或范围之外的数据通常会被定义为异常或“噪音”。产生数据“噪音”的原因很多,例如业务运营操作、数据采集问题、数据同步问题等。对异常数据进行处理前,需要先辨别出到底哪些是真正的数据异常。从数据异常的状态看分为两种:·一种是“伪异常”,这些异常是由于业务特定运营动作产生,其实是正常反映业务状态,而不是数据本身的异常规律。·一种是“真异常”,这些异常并不是由于特定的业务动作引起的,而是客观地反映了数据本身分布异常的个案。大多数数据挖掘或数据工作中,异常值都原创 2021-06-08 16:36:22 · 1691 阅读 · 0 评论