机器学习之数据清洗

开通VIP,畅享免费电子书等14项超值服

首页

好书

留言交流

下载APP

联系客服

2023.02.27湖南

对于记录重复数据,一般采用直接删除方式:

subset:用来指定特定的列,默认所有列1.1.2特征重复:一个或多个特征名不同,但是数据完全一样pandas提供了一个corr函数可以进行相似度的检测,当相似度为1,表示两列数据一模一样。

#dataframe查看某列缺省值和非缺省值的数量data['temp'].isnull().sum()data['temp'].notnull().sum()1.2.1删除法:当缺省的个数非常少时可以采用直接删除的方式

importnumpyasnpfromscipy.interpolateimportinterp1dx=np.array([1,2,3,4,5,8,9,10])y=np.array([2,8,18,32,50,128,162,200])linearinsert=interp1d(x,y,kind='linear')x2=[6,7]#需要插值的x2值不能超过x的范围y2=linearinsert(x2)print(y2)[76.102.]1.3异常值:数据处理中,异常值是指偏离明显的数值,有时候也成为离群点,异常值在进行数据分析的时候,分析结果容易产生偏差甚至错误,对于异常值,一般采用删除的方法。3δ原则和箱型图用于做初步的数据探查,如果经过检验数据服从正态分布,就使用3δ原则,否则使用箱型图。1.3.13δ原则如果数据服从正态分布,在3σ原则下,异常值被定义为组测定值中与平均值的偏差超过三倍标准差的值。在正态分布下,距离平均值3σ之外的值出现的概率为P(|x-μ|>3σ)<=0.003,属于极个别的概率事件。如果数据不服从正态分布,也可以远离平均值的多少倍标准差来描述这个原则有个前提条件:数据需要服从正态分布。

数据标准化主要是应对特征向量中数据很分散的情况,防止小数据被大数据(绝对值)吞并的情况。

另外,数据标准化也有加速训练,防止梯度爆炸的作用。

为什么要标准化/归一化?

提升模型精度:标准化/归一化后,不同维度之间的特征在数值上有一定比较性,可以大大提高分类器的准确性。

加速模型收敛:标准化/归一化后,最优解的寻优过程明显会变得平缓,更容易正确的收敛到最优解。

如下图所示:左图表示未经过数据标准化处理的loss更新函数,右图表示经过数据标准化后的loss更新图。可见经过标准化后的数据更容易迭代到最优点,而且收敛更快。

哪些机器学习算法需要标准化和归一化:

1)需要使用梯度下降和计算距离的模型要做归一化,因为不做归一化会使收敛的路径程z字型下降,导致收敛路径太慢,而且不容易找到最优解,归一化之后加快了梯度下降求最优解的速度,并有可能提高精度。比如说线性回归、逻辑回归、adaboost、xgboost、GBDT、SVM、NeuralNetwork等。需要计算距离的模型需要做归一化,比如说KNN、KMeans等。

2)概率模型、树形结构模型不需要归一化,因为它们不关心变量的值,而是关心变量的分布和变量之间的条件概率,如决策树、随机森林。

[0,1]标准化是最基本的一种数据标准化方法,指的是将数据压缩到0~1之间。

标准化公式如下

#代码如下defMaxMinNormalization(x):'''[0,1]normaliaztion'''x=(x-np.min(x))/(np.max(x)-np.min(x))returnx

Z-score标准化是基于数据均值和方差的标准化化方法。标准化后的数据是均值为0,方差为1的正态分布。这种方法要求原始数据的分布可以近似为高斯分布,否则效果会很差。如果不服从高斯分布,可以考虑将原始数据取log或者开根号,再检验是否符合高斯分布。

#代码实现defZscoreNormalization(x):'''Z-scorenormaliaztion'''x=(x-np.mean(x))/np.std(x)returnx

某些数据不是数值型的数据,如性别等,在进行计算的时候,往往需要数值型的数据,此时,需要将这些数据进行数值型的转换。哑变量也称虚拟变量,当自变量x为多分类时,会将每一类用一个变哑变量表示。例如x1表示坐飞机,x2表示做火车,x3表示自驾等,当x1=1表示坐飞机,x1=0表示不坐飞机。

在此需要注意的是3值以上的离散变量需要进行哑变量处理,并且增加截距项intercept,同时进行训练集和测试集的拆分。(目的是防止模型过拟合)

若针对训练数据已经做好了独热编码并建立了模型,而新增的预测数据或分类数据的类别变量未包含完整的类别。此时直接使用pd.get_dummies,会发现与训练集得到的结果不一样。例如:训练数据中季节列中春、夏、秋、冬都出现过,而在新的测试数据中只出现了春与夏,两者的结果会不一样。可以在预测数据中新增以下代码,详见原文。

'category',categories=['春','夏','秋','冬'])3.2对循环特征比如24小时的编码,用cos和sin进行编码hour_x=cos(2pihour/24)andhour_y=sin(2pihour/24)

对于回归评价:

MAE会忽略异常值,而RMSE会注意到异常值并得到没有偏差的预测。那么应该使用哪个指标呢?很遗憾,不存在确定的答案。如果你是一名供应链领域的数据科学家,你应该多做试验:如果使用MAE作为性能评估指标会得到很大偏差,你可能需要使用RMSE。如果数据集包含很多异常值,导致预测结果产生偏移,你可能需要用MAE。

还需要注意的是,你可以选择一个或多个评估指标(如MAE&bias)来计算预测的误差,然后用另一个指标(RMSE?)来对模型进行优化。

对于分类则集中使用AUC

importnumpyasnpfromsklearn.metricsimportmean_squared_error,mean_absolute_error,mean_absolute_errordefcheck_error(orig,pred,name_col='',index_name=''):'''orig:实际值pred:预测值'''bias=np.mean(orig-pred)mse=mean_squared_error(orig,pred)rmse=sqrt(mean_squared_error(orig,pred))mae=mean_absolute_error(orig,pred)mape=np.mean(np.abs((orig-pred)/orig))*100res_smape=2.0*np.mean(np.abs(pred-orig)/(np.abs(pred)+np.abs(orig)))*100error_group=[bias,mse,rmse,mae,mape,res_smape]serie=pd.DataFrame(error_group,index=['BIAS','MSE','RMSE','MAE','MAPE','SMAPE'],columns=[name_col])serie.index.name=index_namereturnserie4.6AUC-二分类和多分类模型,采用AUC作为评价指标fromsklearn.metricsimportroc_auc_score

roc_auc_score(y_true,y_score,*,average='macro',sample_weight=None,max_fpr=None,multi_class='raise',labels=None)

THE END
1.数据挖掘类文章属于什么类型mob64ca12e83232的技术博客2. 数据预处理 在进行数据挖掘之前,我们需要对数据进行预处理,包括处理缺失值和类别变量的转换。 # 检查缺失值print(data.isnull().sum())# 处理缺失值(示例:用均值填充)data['年龄'].fillna(data['年龄'].mean(),inplace=True)# 将性别转换为数值编码data['性别']=data['性别'].map({'男':0,'女https://blog.51cto.com/u_16213397/12827058
2.数据挖掘之七种常用的方法经管文库(原现金交易docx 203.39 KB0个论坛币 GDP和人均GDP平减说明.xls 27 KB0个论坛币 关键词:数据挖掘 https://bbs.pinggu.org/thread-13312809-1-1.html
3.机器学习找不到创新点?三种特征选择的方法包你拿下顶会!文章介绍了一种新的特征选择框架shap-select,该框架通过在验证集上对目标变量与原始特征的SHAP值进行线性或逻辑回归,并根据回归系数的符号和显著性水平来实现高效的特征选择。在Kaggle信用卡欺诈数据集上的评估表明,shap-select在解释性、计算效率和性能方面均表现出色。 https://www.bilibili.com/read/cv40067807
4.数据挖掘研究(精选十篇)数据挖掘主要是在复杂的数据库中寻找自己有用的信息,以往的信息搜索需要采取手工分析的方式,如今通过数据挖掘可以快速的将符合数据本身的数据找出来;二是关联分析。关联性就是事物之间存在某种的联系性,这种事物必须要在两种以上,数据关联是在复杂的数据中存在一类重要的可被发现的`知识;三是概念描述。概念描述分为特征https://www.360wenmi.com/f/cnkey7ouwjk5.html
5.数据处理方式论文12篇(全文)数据处理方式论文 第4篇 1化工原理实验的特点 化工原理主要是指化工类以及与化学试验相关的技术基础,并在此基础上实现与工程实践的充分结合。在化学原理试验项目构建中,化工原理的课程较为重要,实践性的内容也相对较强,核心目的是实现高素质人才的培养,并使学生在学习中,帮助学生巩固化工原理,强化学生的化学素养。 同https://www.99xueshu.com/w/ikey5prh5bad.html
6.《传媒观察》主流媒体新闻海报传播撒于哪些变量本研究首先对每一张新闻海报进行编码,并将多海报微博的新闻海报各指标进行合并,最终传播效果分析单位为单条微博。 2.视觉框架相关变量的测量方式 本研究中,新闻主题和图文组成情况两个变量采用人工编码方式。招募3位北京师范大学珠海校区本科生(一男两女)作为编码员对清洗后的3302张新闻海报(以及对应的1111条微博)进行https://www.yangtse.com/zncontent/3549911.html
7.AI人工智能预处理数据的方法和技术有哪些?腾讯云开发者社区数据转换可以通过以下几种方式进行: 特征缩放:特征缩放是指将特征值按比例缩小或放大,以便它们具有相同的数量级。这可以减少特征值之间的差异,提高模型的性能。 特征编码:特征编码是将分类特征转换为数值特征的过程。这可以使分类特征可以被机器学习算法处理。 https://cloud.tencent.com/developer/article/2286934
8.数据挖掘的变量类型有哪些帆软数字化转型知识库名义变量的特点是各个类别之间没有内在的顺序或大小关系,这使得它们在统计分析中通常以哑变量的形式进行处理。哑变量是一种二进制编码方式,用于将名义变量转换为数值数据,以便在数据挖掘算法中使用。比如,在一个性别分类问题中,可以将“男”编码为0,“女”编码为1。名义变量在分类任务中起到关键作用,通过分析不同https://www.fanruan.com/blog/article/595687/
9.2018年全国邮政科技创新成果公示公示期间,有关单位和个人可从中国邮政集团公司OA系统《科技园地》栏目查阅、下载《全国邮政企业科技创新成果评审办法(试行)》,根据有关规定对评审结果提出异议,并通过信函、电话、电子邮件等方式向集团公司科技创新成果评审委员会办公室反映。通信地址:北京市西城区金融大街甲3号中国邮政集团公司,邮政编码:100808,联系电话http://www.chinapost.com.cn/xhtml1/report/190673/5624-1.htm
10.数据挖掘实践(金融风控):金融风控之贷款违约预测挑战赛(上篇)[xg赛题以金融风控中的个人信贷为背景,要求选手根据贷款申请人的数据信息预测其是否有违约的可能,以此判断是否通过此项贷款,这是一个典型的分类问题。通过这道赛题来引导大家了解金融风控中的一些业务背景,解决实际问题,帮助竞赛新人进行自我练习、自我提高。 https://xie.infoq.cn/article/4d588ac3a87184aaf67ae0a2a
11.用python3教你任意Html主内容提取功能python我们可以发现,这两种库还是有一些区别的: 1. 参数的构建:urllib需要对参数进行urlencode编码处理,比较麻烦;requests无需额外编码处理,十分简洁。 2. 请求发送:urllib需要额外对url参数进行构造,变为符合要求的形式;requests则简明很多,直接get对应链接与参数。 3. 连接方式:看一下返回数据的头信息的“connection”,使用https://www.jb51.net/article/150188.htm
12.机器学习中最常使用的10种数据编码方式机器学习中最常使用的10种数据编码方式 大家好,在机器学习中,很多算法都需要我们对分类特征进行转换(编码)。 为了方便讲解,下面创建示例DataFrame 数值型数据 让我们先来讨论连续型数据的转换,也就是根据Score列的值,来新增一列标签,即如果分数大于90,则标记为A,分数在80-90标记为B,以此类推。https://blog.csdn.net/qq_34160248/article/details/124292890
13.基于四元数的卷积核编码方式研究利用四元数理论可以很好的描述3D空间的几何变换。3D空间的几何变换共有三种形式:平移,膨胀和旋转。 (1) 平移:坐标x和y为两个纯虚四元数,三个虚轴可以编码到3D空间的三维向量。那么x、y的和:[x+y],即是坐标x在3D空间通过坐标y的偏移,类似于2D空间的向量相加方式。 https://www.fx361.com/page/2017/1211/2552482.shtml
14.的知识编码工具有()。A.群件B.知识仓库C.知识地图D.数据挖掘百度试题 题目知识编码工具的作用就在于将这些知识有效地分类、存储并且以简明的方式呈现给使用者。常用的知识编码工具有()。A.群件B.知识仓库C.知识地图D.数据挖掘 相关知识点: 试题来源: 解析 B,C 反馈 收藏 https://easylearn.baidu.com/edu-page/tiangong/bgkdetail?id=9d70fbf3f705cc17552709a8&fr=search
15.《数据挖掘导论实验》课程教学大纲9.提交日期及内容:在截止日期之前,每组提交书面实践报告1份,提交电子文档有:数据文档、数据说明文档、实践报告文档、数据挖掘技术报告、PPT发表文档。由各班负责人统一收交。 九、使用的主要仪器设备说明 十、主要消耗材料 无。 十一、考核方式及成绩评定 https://somex.nwpu.edu.cn/info/1012/1113.htm
16.《2020疫情数据报道分析报告》澎湃号·湃客澎湃新闻本研究以新冠疫情期间(2020年1月1日至8月31日)澎湃新闻“湃客·有数”栏目中入驻湃客号所刊发的425篇数据新闻,与澎湃“美数课”、财新网“数字说”、新华网“数据新闻”和网易“数读”发布的140条数据新闻为样本,对其进行编码分析。并将之与同期“湃客·镜相”“湃客·眼光”发布的疫情报道进行栏目间对比,https://www.thepaper.cn/newsDetail_forward_9182883
17.数据可视化的应用都有哪些?而在科学领域和社会领域,数据可视化的潜力有待进一步开发。这还有很长的路要走。 然后我们给大家介绍一下数据可视化在政治和社会领域中的应用,我们举一个例子,在美国在总统大选期间采用数据可视化新闻报道方式,有个英国的报纸分析官方公开的文件中相关数据,展开针对议员花销的调查性报道,推动了公共新闻的发展,充分发挥https://dl.cnoubao.cn/zsbk/202412-8694.html
18.Web日志安全分析浅谈4.无恶意webshell访问记录,刚才我们采用的方法是通过“webshell”这个文件名从日志中找到恶意行为,如果分析过程中我们没有找到这么一个恶意webshell访问,又该从何入手寻找攻击者的攻击路径呢? 5.分析过程中我们还使用恶意行为关键字来对日志进行匹配,假设攻击者避开了我们的关键字进行攻击?比如使用了各种编码,16进制、Bashttps://xz.aliyun.com/t/1121/
19.数据治理:元数据及元数据管理策略方法和技术数字化时代,企业需要知道它们拥有什么数据,数据在哪里、由谁负责,数据中的值意味着什么,数据的生命周期是什么,哪些数据安全性和隐私性需要保护,以及谁使用了数据,用于什么业务目的,数据的质量怎么样,等等。这些问题都需要通过元数据管理解决,缺乏有效的元数据管理,企业的数据资产可能会变成拖累企业利润的“包袱”。 https://maimai.cn/article/detail?fid=1764226521&efid=pZndI-4jw66BTIK70mfYmQ
20.[转载]一种基于深度神经网络的临床记录ICD自动编码方法Zeng M等人使用在不同的医疗数据集中进行迁移学习的方式,并引入多尺度卷积神经网络,实现较好的自动ICD编码能力。Mullenbach J等人仅使用MIMIC-III数据集的非结构化文本将卷积神经网络与标签注意力机制结合在一起,实现了自动ICD编码的最佳性能。 2.2 图卷积神经网络https://blog.sciencenet.cn/blog-3472670-1280973.html