用Spark Python构建分类模型上.docx
- 文档编号:14949887
- 上传时间:2023-06-28
- 格式:DOCX
- 页数:14
- 大小:27.24KB
用Spark Python构建分类模型上.docx
《用Spark Python构建分类模型上.docx》由会员分享,可在线阅读,更多相关《用Spark Python构建分类模型上.docx(14页珍藏版)》请在冰点文库上搜索。
用SparkPython构建分类模型上
用SparkPython构建分类模型(上)
原创:
2016年06月29日18:
16:
02声明:
版权所有,转载请联系作者并注明出处Learning的黑科技,对DeepLearning和ArtificialIntelligence充满兴趣,经常关注Kaggle数据挖掘竞赛平台,对数据、MachineLearning和ArtificialIntelligence有兴趣的童鞋可以一起探讨哦,个人CSDN博客:
预测互联网用户对在线广告的点击概率,这本质上是一个二分类问题(点击或者不点击);?
检测欺诈,这同样是一个二分类问题(欺诈或者不是欺诈);?
预测拖欠贷款(二分类问题);?
对图片、视频或者声音分类(大多情况下是多分类,并且有许多不同的类别);?
对新闻、网页或者其他内容标记类别或者打标签(多分类);?
发现垃圾邮件、垃圾页面、网络入侵和其他恶意行为(二分类或者多分类);?
检测故障,比如计算机系统或者网络的故障检测;?
根据顾客或者用户购买产品或者使用服务的概率对他们进行排序(这可以建立分类模型预测概率并根据概率从大到小排序);?
预测顾客或者用户中谁有可能停止使用某个产品或服务。
上面仅仅列举了一些可行的用例。
实际上,在现代公司特别是在线公司中,分类方法可以说是机器学习和统计领域使用最广泛的技术之一。
本文主要介绍如下内容:
?
讨论MLlib中各种可用的分类模型;?
使用Spark从原始输入数据中抽取合适的特征;?
使用MLlib训练若干分类模型;?
用训练好的分类模型做预测;?
应用一些标准的评价方法来评估模型的预测性能;?
使用博文spark机器学习系列:
(二)用SparkPython进行数据处理和特征提取中的特征抽取方法来说明如何改进模型性能;?
研究参数调优对模型性能的影响,并且学习如何使用交叉验证来选择最优的模型参数。
1分类模型的种类目前,Spark的MLlib库提供了基于线性模型、决策树和朴素贝叶斯的二分类模型,以及基于决策树和朴素贝叶斯的多类别分类模型。
本博文仅关注二分类问题。
1.1线性模型线性模型的核心思想是对样本的预测结果(通常称为目标或者因变量)进行建模,即对输入变量(特征或者自变量)应用简单的线性预测函数。
这里,y是目标变量,W是参数向量,X是特征向量,f称为连接函数。
实际上,通过简单改变连接函数f,线性模型不仅可以用于分类还可以用于回归。
标准的线性回归(见下期博文)使用对等连接函数(identitylink,即直接使用y=wTx),而线性分类器使用上面提到的连接函数。
举一个在线广告的例子。
如果网页中展示的广告没有被点击,则目标变量标记为0(在数学表示中通常使用-1),如果发生点击,则目标变量标记为1。
每次曝光的特征向量由曝光事件相关的变量组成(比如用户、网页、广告和广告客户,以及设备类型、事件、地理位置等其他因素相关的特征)。
我们要训练一个模型,将给定输入的特征向量(广告曝光)映射到预测的输出(点击或者未点击)。
对于一个新的数据点,我们将得到一个新的特征向量(此时不知道预测的目标输出),并将其与权重向量进行点积。
然后对点积的结果应用连接函数,最后函数的结果便是预测的输出(在一些模型中,还会将输出结果与设定的阈值进行判断后得到预测结果)。
给定输入数据的特征向量和相关的目标值,存在一个权重向量能够最好对数据进行拟合,拟合的过程即最小化模型输出与实际值的误差。
这个过程称为模型的拟合、训练或者优化。
具体来说,我们需要找到一个权重向量能够最小化所有训练样本的由损失函数计算出来的损失(误差)之和。
损失函数的输入是给定的训练样本的权重向量、特征向量和实际输出,输出是损失。
实际上,损失函数也被定义为连接函数,每个分类或者回归函数会有对应的损失函数。
本文不会讨论线性模型和损失函数的细节,只介绍MLlib提供的两个适合二分类模型的损失函数(更多内容请看Spark文档)。
第一个是逻辑损失(logisticloss),等价于逻辑回归模型。
第二个是合页损失(hingeloss),等价于线性支持向量机(SupportVectorMachine,SVM)。
需要指出的是,这里的SVM严格上不属于广义线性模型的统计框架,但是当制定损失函数和连接函数时在使用方法上相同。
下图展示了与0-1损失相关的逻辑损失和合页损失。
对二分类来说,0-1损失的值在模型预测正确时为0,在模型预测错误时为1实际中,0-1损失并不常用,原因是这个损失函数不可微,计算梯度非常困难并且难以优化。
而其他的损失函数作为0-1损失的近似可以进行优化。
1.1.1逻辑回归逻辑回归是一个概率模型,也就是说该模型的预测结果的值域为[0,1]。
对于二分类来说,逻辑回归的输出等价于模型预测某个数据点属于正类的概率估计。
逻辑回归是线性分类模型中使用最广泛的一个。
逻辑回归使用的连接函数如下:
逻辑回归的损失函数如下:
其中y是实际的输出值(正类为1,负类为-1)。
1.1.2线性支持向量机SVM在回归和分类方面是一个强大且流行的技术。
和逻辑回归不同,SVM并不是概率模型,但是可以基于模型对正负的估计预测类别。
SVM的连接函数是一个对等连接函数,因此预测的输出表示为:
因此,当wTx的估计值大于等于阈值0时,SVM对数据点标记为1,否则标记为0(其中阈值是SVM可以自适应的模型参数)。
SVM的损失函数被称为合页损失,定义为:
SVM是一个最大间隔分类器,它试图训练一个使得类别尽可能分开的权重向量。
在很多分类任务中,SVM不仅表现得性能突出,而且对大数据集的扩展是线性变化的。
在下图中,基于原先的二分类简单样例,我们画出了关于逻辑回归(蓝线)和线性SVM(红线)的决策函数:
从图中可以看出SVM可以有效定位到最靠近决策函数的数据点(间隔线用红色的虚线表示)。
1.2朴素贝叶斯模型朴素贝叶斯是一个概率模型,通过计算给定数据点在某个类别的概率来进行预测。
朴素贝叶斯模型假设每个特征分配到某个类别的概率是独立分布的(假定各个特征之间条件独立),这也是朴素贝叶斯叫法的原因。
基于这个假设,属于某个类别的概率表示为若干概率乘积的函数,其中这些概率包括某个特征在给定某个类别的条件下出现的概率(条件概率),以及该类别的概率(先验概率)。
这样使得模型训练非常直接且易于处理。
类别的先验概率和特征的条件概率可以通过数据的频率估计得到。
分类过程就是在给定特征和类别概率的情况下选择最可能的类别。
另外还有一个关于特征分布的假设,即参数的估计来自数据。
MLlib实现了多项朴素贝叶斯(multinomialnai?
veBayes),其中假设特征分布是多项分布,用以表示特征的非负频率统计。
上述假设非常适合二元特征(比如1-of-k,k维特征向量中只有1维为1,其他为0),并且普遍用于文本分类(博文spark机器学习系列:
(二)用SparkPython进行数据处理和特征提取中介绍的词袋模型是一个典型的二元特征表示)。
下图展示了朴素贝叶斯在二分类样本上的决策函数:
1.3决策树决策树是一个强大的非概率模型,它可以表达复杂的非线性模式和特征相互关系。
决策树在很多任务上表现出的性能很好,相对容易理解和解释,可以处理类属或者数值特征,同时不要求输入数据归一化或者标准化。
决策树非常适合应用集成方法(ensemblemethod),比如多个决策树的集成,称为决策树森林。
决策树模型就好比一棵树,叶子代表值为0或1的分类,树枝代表特征。
如图5-6所示,二元输出分别是“待在家里”和“去海滩”,特征则是天气。
决策树算法是一种自上而下始于根节点(或特征)的方法,在每一个步骤中通过评估特征分裂的信息增益,最后选出分割数据集最优的特征。
信息增益通过计算节点不纯度(即节点标签不相似或不同质的程度)减去分割后的两个子节点不纯度的加权和。
对于分类任务,这里有两个评估方法用于选择最好的分割:
基尼系数和熵。
2从数据中抽取合适的特征回顾博文spark机器学习系列:
(二)用SparkPython进行数据处理和特征提取,可以发现大部分机器学习模型以特征向量的形式处理数值数据。
另外,对于分类和回归等监督学习方法,需要将目标变量(或者多类别情况下的变量)和特征向量放在一起。
MLlib中的分类模型通过LabeledPoint对象操作,其中封装了目标变量(标签)和特征向量:
LabeledPoint(label:
Double,features:
Vector)虽然在使用分类模型的很多样例中会碰到向量格式的数据集,但在实际工作中,通常还需要从原始数据中抽取特征,包括封装数值特征、归一或者正则化特征,以及使用1-of-k编码表示类属特征,具体方法可以参考博文机器学习系列:
(三)特征提取与处理。
从Kaggle/StumbleUponevergreen分类数据集中抽取特征考虑到上一篇博文推荐模型中的MovieLens数据集和分类问题无关,本章将使用另外一个数据集。
这个数据集源自Kaggle比赛,由StumbleUpon提供。
比赛的问题涉及网页中推荐的页面是短暂(短暂存在,很快就不流行了)还是长久(长时间流行)。
数据的链接:
1dtrain.tsv>train_noheader.tsv读取数据:
rawData=sc.textFile('/Users/youwei.tan/Downloads/train_noheader.tsv')
records=rawData.map(lambdax:
x.split('\t'))
printrecords.first()输出结果:
[u'"u'"4042"',u'"{""title"":
""IBMSeesHolographicCallsAirBreathingBatteriesibmseesholographiccalls,air-breathingbatteries"",""body"":
""AsignstandsoutsidetheInternationalBusinessMachinesCorpIBMAlmadenResearchCentercampusinSanJoseCaliforniaPhotographerTonyAvelarBloombergBuildingsstandattheInternationalBusinessMachinesCorpIBMAlmadenResearchCentercampusintheSantaTeresaHillsofSanJoseCaliforniaPhotographerTonyAvelarBloombergBy2015yourmobilephonewillprojecta3DimageofanyonewhocallsandyourlaptopwillbepoweredbykineticenergyAtleastthatswhatInternationalBusinessMachinesCorpseesinitscrystalballThepredictionsarepartofanannualtraditionfortheArmonkNewYorkbasedcompanywhichsurveysits3000researcherstofindfiveideasexpectedtotakerootinthenextfiveyearsIBMtheworldslargestproviderofcomputerserviceslookstoSiliconValleyforinputgleaningmanyideasfromitsAlmadenresearchcenterinSanJoseCaliforniaHolographicconversationsprojectedfrommobilephonesleadthisyearslistThepredictionsalsoincludeairbreathingbatteriescomputerprogramsthatcantellwhenandwheretrafficjamswilltakeplaceenvironmentalinformationgeneratedbysensorsincarsandphonesandcitiespoweredbytheheatthrownoffbycomputerserversTheseareallstretchgoalsandthatsgoodsaidPaulSaffomanagingdirectorofforesightattheinvestmentadvisoryfirmDiscerninSanFranciscoInanerawhenpessimismisthenewblackalittledoseoftechnologicaloptimismisnotabadthingForIBMitsnotjustidlespeculationThecompanyisoneofthefewbigcorporationsinvestinginlongrangeresearchprojectsanditcountsoninnovationtofuelgrowthSaffosaidNotallofitspredictionspanoutthoughIBMwasoverlyoptimisticaboutthespreadofspeechtechnologyforinstanceWhentheideasdoleadtoproductstheycanhavebroadimplicationsforsocietyaswellasIBMsbottomlinehesaidResearchSpendingTheyhavecontinuedtodoresearchwhenalltheothergrandresearchorganizationsaregonesaidSaffowhoisalsoaconsultingassociateprofessoratStanfordUniversityIBMinvested58billioninresearchanddevelopmentlastyear61percentofrevenueWhilethatsdownfromabout10percentintheearly1990sthecompanyspendsabiggershareonresearchthanitscomputingrivalsHewlettPackardCothetopmakerofpersonalcomputersspent24percentlastyearAtAlmadenscientistsworkonprojectsthatdontalwaysfitinwithIBMscomputerbusinessThelabsresearchincludeseffortstodevelopanelectriccarbatterythatruns500milesononechargeafiltrationsystemfordesalinationandaprogramthatshowschangesingeographicdataIBMrose9centsto14604at1102aminNewYorkStockExchangecompositetradingThestockhadgained11percentthisyearbeforetodayCitizenScienceThelistismeanttogiveawindowintothecompanysinnovationenginesaidJosephineChengavicepresidentatIBMsAlmadenlabAllthisdemonstratesarealcultureofinnovationatIBMandwillingnesstodevoteitselftosolvingsomeoftheworldsbiggestproblemsshesaidManyofthepredictionsarebasedonprojectsthatIBMhasintheworksOneofthisyearsideasthatsensorsincarswalletsandpersonaldeviceswillgivescientistsbetterdataabouttheenvironmentisanexpansionofthecompanyscitizenscienceinitiativeEarlierthisyearIBMteamedupwiththeCaliforniaStateWaterResourcesControlBoardandtheCityofSanJoseEnvironmentalServicestohelpgatherinformationaboutwaterwaysResearchersfromAlmadencreatedanapplicationthatletssmartphoneuserssnapphotosofstreamsandcreeksandreportbackonconditionsThehopeisthatthesecasualobservationswillhelplocalandstateofficialswhodonthavetheresourcestodotheworkthemselvesTrafficPredictorsIBMalsoseesdatahelpingshortencommutesinthenextfiveyearsComputerprogramswillusealgorithmsandrealtimetrafficinformationtopredictwhichroadswillhavebackupsandhowtoavoidgettingstuckBatteriesmaylast10timeslongerin2015thantodayIBMsaysRatherthanusingthecurrentlithiumiontechnologynewmodelscouldrelyonenergydensemetalsthatonlyneedtointeractwiththeairtorechargeSomeelectronicdevicesmightditchbatteriesaltogetherandusesomethingsimilartokineticwristwatcheswhichonlyneedtobeshakentogenerateachargeThefinalpredictioninvolvesrecyclingtheheatgeneratedbycomputersanddatacentersAlmosthalfofthepowerusedbydatacentersiscurrentlyspentkeepingthecomputerscoolIBMscientistssayitwouldbebettertoharnessthatheattowarmhousesandofficesInIBMsfirstlistofpredictionscompiledattheendof2006researcherssaidinstantaneousspeechtranslationwouldbecomethenormThathasnthappenedyetWhilesomeprogramscanquicklytranslateelectronicdocumentsandinstantmessagesandotherappscanperformlimitedspeechtranslationtheresnothingwidelyavailablethatactsliketheuniversaltranslatorinStarTrekSecondLifeThecompanyalsopredictedthatonlineimmersiveenvironmentssuchasSecondLifewouldbecomemorewidespreadWhileimmersivevideogamesareaspopularaseverSecondLifesgrowt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 用Spark Python构建分类模型上 Spark Python 构建 分类 模型