首页 >知识讲堂 >数据分析知识>如何在python中使用Scikit-learn进行数据预处理

如何在python中使用Scikit-learn进行数据预处理

2020-12-31 11:15:47 阅读(193 评论(0)

本文使用了贷款预测数据集的子集(缺乏观察值被丢弃)。您可以从这里下载培训集和测试集:下载。注:提供给您的测试数据是“贷款预测”问题的培训数据的子集。现在让我们从引入重要的包和数据集开始。#Importingpandas>>importpandasaspd#Importingtrainingdataset>>X_train=pd.read_csv(‘X_train.csv’)>>Y_train=pd.read_csv(‘Y_train.csv’)#Importingtestingdataset>>X_test=pd.read_csv(‘X_test.csv’)>>Y_test=pd.read_csv(‘Y_test.csv我们来详细了解一下这个数据集的概况。>>print(X_train.head())Loan_IDGenderMarriedDependentsEducationSelfEmployed15LP001032MaleNo0GraduateNo248LP001824MaleYes1GraduateNo590LP002928MaleYes0GraduateNo246LP001814MaleYes2GraduateNo38LP002244MaleYes0GraduateNoApploantIncoomeCoapploancomeLoancoateLoamoAmount0126.0288288.01288.0128.0128.048.048.05.03.018.018.0.028888.018.03.03.018.03.03.03.03.03.018.03.03.0188.018.018.03.018.018.03.018.01.03.03.03.03.03.03.03.03.03.03.03.03.03.01.03.03.018.018.0188.018.018.018.01.0.0.0.0.0.0.0.0.0.0.0.0.0.0.036.0.0.0.0.0.0.0.0.0.0.0.0288888.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.036.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0Credit_HistoryProperty_Area151.0urban2481.0semiurban5901.0semiurban2461.0urban3881.0urban特征缩放特征缩放是限制变量范围的一种方法,可以在同一基础上进行比较。数据集是连续变量,让我们绘制数据集中所有连续变量的分布图。>>importmatplotlib.pyplotasplt>>X_train[X_train.dtypes[(X_train.dtypes==float64″) |(X_train.dtypes==”int64″)].index.values].hist(figsize=[11,11])在理解了这些图片后,我们推断aplicantincome和coaplantantcome在几乎相同的范围内(0-5万美元),而loanamount以千为单位,从0到600美元的范围。Loan_Amount_Term与其它变量完全不同,因为它的单位是月,而其它变量的单位是美元。Loan_Amount_Term与其他变量完全不同,因为它的单位是月,其他变量单位是美元。如果我们尝试将这些特征应用于基于距离的方法,如KNN,最大范围的特征将主导预测结果,因此我们将得到不准确的预测。我们可以用特征缩放来克服这个问题。让我们练习一下。学习资源:查看这篇关于KNN的文章,以便更好地理解。让我们尝试使用KNN算法来理解其性能。#InitializingandFittingak-NNmodel>>fromsklearn.neighborsimportKNeighborsClassifier>>knn=KNeighborsClassifier(n_neighbors=5)>>knn.fit(X_train[[‘ApplicantIncome’,‘CoapplicantIncome’,’LoanAmount’,‘Loan_Amount_Term’,‘Credit_History’]],Y_train)#Checkingtheperformanceofourmodelonthetestingdataset>>fromsklearn.metricsimportaccuracy_score>>accuracy_score(Y_test,knn.predict(X_test[[‘ApplicantIncome’,‘CoapplicantIncome’,‘LoanAmount’,‘Loan_Amount_Term’,‘Credit_History’]]))Out:0.614583333333337我们的预测模型已经获得了大约61%这并不坏,但在现实世界中就足够了吗?我们能用这个模型来处理现实世界的问题吗?我们能用这个模型来处理现实世界中的问题吗?为了回答这个问题,让我们来看看训练数据集中Loan_Status的分布。>>Y_train.Target.value_counts()/Y_train.Target.count()Out:Y0.705729N0.2947:Loan_Status,dtype:float64700%批准贷款,因为有更多的批准贷款,我们会有预测,所有贷款都被批准,让我们继续检查我们预测的准确性。>>Y_test.Target.value_counts()/Y_test.Target.count()Out:Y0.Name335417:Loan_Status,dtype:float64哇!>>Y_test.Target.value_counts()/Y_test.Target.count()Out:Y0.635417N0.3645:Loan_Status,dtype:float64哇!!我们仅通过猜测获得的准确性是63%,这是什么意思?比我们的预测模型更准确?这是可能的,因为一些不重要的变量会主导目标函数,范围很大。通过将所有特征缩小到同一范围,我们可以消除这个问题。Sklearn为MinMaxScaler提供了一个工具,它将所有特征缩小到0和1之间。MinMaxScaler的数学公式是:让我们尝试使用这个工具。#ImportingMinMaxScalerandinitializingit>>fromsklearn.preprocessingimportMinMaxScaler>>min_max=MinMaxScaler()#Scalingdownbothtrainandtestdataset>>X_train_minmax=min_max.fit_transform(X_train[[‘ApplicantIncome’,‘CoapplicantIncome’,‘LoanAmount’,‘Loan_Amount_Term’,‘Credit_History’]])>>X_test_minmax=min_max.fit_transform(X_test[[‘ApplicantIncome’,‘CoapplicantIncome’,‘LoanAmount’,‘Loan_Amount_Term’,‘Credit_History现在,我们已经完成了数据缩放,让我们应用KNN算法来检查缩放数据的准确性。#Fittingk-NNonourscaleddataset>>knn=KNeighborsClassifier(n_neighbors=5)>>knn.fit(X_train_minmax,Y_train)#Checkingthemodel’saccuracy>>accuracy_score(Y_test,knn.predict(X_test_minmax))Out:0.75太棒了!我们的准确性从61开始%提高到了75%。我们的准确性从61开始%提高到了75%。这意味着一些基于距离的方法具有广泛的特征(KNN)预测结果。应该记住,在实施基于距离的方法时,我们必须尝试缩放数据,这样重要性小的特征就不会因为其范围大而主导目标函数。此外,不同单位的特征也应缩放,以赋予每个特征相等的初始权重,从而最终获得更好的预测模型。尝试使用逻辑回归模型(参数:penalty=’l2’,C=0.01)进行相同的练习,并在注释中注明缩放前后的预测准确性。在标准化阅读本节之前,我建议你先完成练习一。在最后一节中,我们研究了贷款预测数据,并在数据集中拟合了一个KNN学习器。缩放数据后,我们的准确率达到了75%,这是相当好的。我试图用逻辑回归做同样的练习,得到了以下结果:缩放数据前:缩放数据后61%:缩放后63%的正确率接近我们通过猜测做出的预测,结果并不令人满意。那这里发生了什么呢?为什么正确率没有KNN算法提高那么大?学习资源:通过本文更好地理解逻辑回归logisticregression。答案是:在逻辑回归中,每个特征都会被赋予权重或系数。如果具有较大范围的特征,且其对目标函数没有显著影响,则逻辑回归本身将对其系数分配非常低,从而中和特定特征的主导作用,而KNN等基于距离的方法没有这种内置策略,因此需要缩放。我们忘了什么吗?我们的逻辑模型仍然保持着接近猜测的准确性。现在我将在这里介绍一个叫做标准化的新概念。Sklearn中的许多机器学习算法都需要标准化数据,指的是零平均值和单位方差的数据。标准化是特征值重新缩放的过程,是的,它们具有预期为0、标准差为1的标准正态分布属性。标准分数(也成为z分数)的计算公式如下:如线性模型中的l1、l2正则化器(logistic在此类别下)和学习器SVM中的RBF核函数所认为的,所有特征以零为中心,具有相同阶数的方差。具有较大方差阶数的特征将主导目标函数,就像前文中具有较大范围的特征一样。正如我们在练习1中看到的,对数据没有预处理的准确性是61%,让我们标准化我们的数据,然后应用逻辑回归。Sklearn提供标准化数据的scale函数。#Standardizingthetrainandtestdata>>fromsklearn.preprocessingimportscale>>X_train_scale=scale(X_train[[‘ApplicantIncome’,‘CoapplicantIncome’,‘LoanAmount’,‘Loan_Amount_Term’,‘Credit_History’]])>>X_test_scale=scale(X_test[[‘ApplicantIncome’,‘CoapplicantIncome’,‘LoanAmount’,‘Loan_Amount_Term’,‘Credit_History’]])#Fittinglogisticregressiononourstandardizeddataset>>fromsklearn.linear_modelimportLogisticRegression>>log=LogisticRegression(penalty=’l2′,C=.01)>>log.fit(X_train_scale,Y_train)#Checkingthemodel’saccuracy>>accuracy_score(Y_test,log.predict(X_test_scale))Out:0.75我们在缩放后再次获得了KNN获得的最大精度。这意味着标准化数据有助于我们在使用l1或l2正则化估计器时提高预测模型的准确性。这意味着标准化数据有助于我们在使用l1或l2正则化估计器时提高预测模型的准确性。其他学习器,如KNN和欧几里德之间的距离测量,K平均值,SVM,传感器、神经网络、线性判别分析、主要成分分析在标准化数据中具有更好的预测性能。然而,我建议你首先了解你的数据和算法的特征;一段时间后,你将能够判断你的数据是否标准化。缩放和标准化之间的选择通常会让人感到困惑。在做决定之前,你必须深入了解你的数据和学习器。对于初学者,你可以尝试这两种方法,并比较交叉验证的正确性来做出选择。资源:阅读本文,更好地理解crosvalidation的交叉验证。练习2尝试使用SVM模型进行相同的练习,并且

以上就是关于如何在python中使用Scikit-learn进行数据预处理的相关介绍,更多如何在python中使用Scikit-learn进行数据预处理相关内容可以咨询我们或者浏览页面上的推荐内容。我们将让你对如何在python中使用Scikit-learn进行数据预处理有更深的了解和认识。

内容来源:数据分析网,以上内容来源于网络,不代表本站观点,如有侵权,请联系删除。

推荐阅读

日本商标注册对跨境商家有哪些好处呢?这几点要收好

随着我国不断的强大,跟世界的经济水平差距也越来越小,甚至已经成为了世界中的强国之一,自然跟每个国家之间也有频繁的交流。作为企业来说,想要增加自己的业务范围,或者是增加知名度,可以申请其他国家的商标,比如说日本商标…查看详情

消除马赛克还原图片的软件哪个好?这几款实用性高

可能大家在生活中,想要保留的一些图片都得有马赛克,其实可以选择一款,能够帮助消除马赛克还原图片的软件,这样不仅可以减少马赛克的影响,也能够了解到图片的本来面目,使用起来也比较简单,手机就能够完成操作,那么消除马赛…查看详情

规避所得税方法有哪些?

合理规避企业所得税的方法有哪些?合理规避企业所得税的方法主要包括以下几种:1、加大成本。一般来说影响企业所得税的缴纳额度大小的因素,主要包括税率和利润。如果企业的成本变大了,那么相对的企业的利润也会降低,这样企业的所…查看详情

什么软件看电视都是免费 免费看电视剧软件排行榜

  许多购买了智能电视的朋友,在电视上找了半天也没有找到看电视直播的地方。下面*就给大家来推荐一下什么软件看电视都是免费 免费看电视剧软件排行榜这一块的相关内容,下面的这些软件看电视剧都是非常的不错的,希望下面的…查看详情

拓客平台有哪些

  拓客平台是指帮助企业拓展(拓客)客户群体的平台。拓客平台通常为企业提供一系列的营销工具、技术和咨询服务,用于吸引、挖掘和维护客户关系。随着互联网和移动互联网的快速发展,拓客平台也越来越多元化和专业化。下面将就…查看详情

新加坡上市条件,新加坡上市和港股上市有什么区别

我国境外上市外资股包括哪些?存在境外上市外资股(H股、N股、S股分别是香港纽约和新加坡的首字母,表示在该地上市交易)和境内上市外资股(B股)安发国际是上市公司吗?不是上市公司安发国际控股集团成立于1998年新西兰,是一家经营范…查看详情

元素决定类型丨课件版权登记,涉及汇编不得侵犯他人版权

课件版权登记在教育培训行业比较常见,但这方面的概念还相对比较模糊,在法律上也没有规范的解释和对应条款,但是。这类作品在进行版权登记的时候,主管部门是根据课件包含的元素进行划分,依照划分类型开展登记工作。下文就围绕…查看详情

CRM管理系统对于企业管理的必要性

商场竞争激烈,明枪暗战早已不足为奇。面临各种意外情况,富有智慧和魄力的管理者总能化险为夷。但面对客户流失,许多管理者却只能摇头,客户流失,防不胜防! 客户流失的原因有许多:从产品来说,产品质量、种类、价格不能使得…查看详情

window10正式版多少钱

  作为目前最新的操作系统,Windows10正式版价格各个国家和地区会有所不同。在中国大陆地区,Windows10正式版家庭版售价为899元,专业版为1999元,教育版和企业版则需要咨询微软官方渠道获取报价。  相比起之前的Windows...查看详情

浅析常见的网络推广的方式7个方式?

随着科技的发展,网上销售已经成为主流,网络销售,主要是指以销售理论为基础,借助自媒体技术、网络通信技术,来实现企业营销活动。常见的网络营销推广方式都有那些呢?本文将对网络推广的方式7个方式进行浅析。 第一种模式:…查看详情

实用专利需要哪些资料?实用专利需要的材料

    在平时很多的小伙伴都不知道实用专利需要什么资料的基本情况,而且对实用专利需要什么资料都不是很熟悉,下面万商云集*就为大家整理了实用专利需要什么资料这方面的相关内容,希望下面的内容能帮助到各位。    一、实…查看详情

免费恶搞p图软件哪个好用,可以换头的p图软件

现在正是爱美的年纪,有哪个女生不爱美呢?试问现在哪个女生手机里没有几个美颜相机,P图软件呢!这都是再正常不过的事情了,但是在哪找免费又好用的P图软件呢?来让我为大家介绍几款吧!1.王者P图大师王者P图大师APP是一款非常好用…查看详情

实用的手机录屏软件,高清录屏不卡顿

对自己的手机使用轨迹进行记录,这是很多人在手机使用过程当中都需要应用到的一种功能,那么能够在智能手机上完成高清录屏的都有哪些呢?今天就为大家介绍几款比较实用的手机录屏软件。1、录屏大师炫酷特效录屏版该款录屏软件能够…查看详情

免费聊天软件有哪些 聊天软件排行榜

  随着单身大龄男女性越来越多,找对象脱单成为了热门话题,婚介所也是愈来愈络绎不绝。但是婚介所需要缴费,最后可能没有找到对象钱也白花。今天*就给大家来详细介绍一下免费聊天软件有哪些  聊天软件排行榜这一块的内容…查看详情

推荐给大家励志书籍排行榜前十名,对生活不再迷茫

读书,可以进步;读励志的书,可以让你的进步得更加明显。当你感到迷茫、不想奋斗时,你可以看看励志书籍激发斗志。下面是我给大家推荐的我自己我在看的励志书籍排行榜前十名,内容如下:1.被讨厌的勇气它的作者是岸见一郎和古贺史…查看详情

首页

产品

万商学院

客户服务

会员中心

当前站点

h

选择站点

全国站成都

一 客户顾问-张三

已为0个客户提供专业互联网服务咨询
  • 手机号码
  • 验证码图形验证码换一张
  • 短信校验码

    电话咨询

    在线咨询