单变量模型的解释技术也用于分类特征和预测
PredictionInterpreter的Python项目详细描述
预测解释程序
此包包含一个用于解释任何预测器的包装器。使用此软件包:
- 解释在服务上运行的机器学习模型
- 要用python解释经过训练的ML-model,它没有足够的特性进行解释
- 使用已经为您设置的方法,用python解释经过训练的ML-model
- 了解如何使用解释方法
通过使用已建立的解释技术,包只需要一个接受数据集并返回预测以及有关数据和列的一些信息的函数。 然后,该包自动设置一个包装器,其中包含运行解释的重要信息和配置。在
要设置预测器,请在给定的StartPredictionInterpreter文件中声明必要的信息: 在这里,我们使用一个DummyML模型来预测一天的游客量,这取决于是否是假日,票价是多少,天气如何。 (供您进一步了解:如果是节假日,或者价格低的时候,会有很多游客。游客数量对天气有随机影响。但在运行虚拟数据时,您将看到所有这些。)
除了DummyMLModel,有必要给出
- 在
将testdata作为panda数据帧
在 - 在
以及结果列的名称
在 - 在
所有数据列的名称
在 - 在
数字列名(如果有…)
在 - 在
结果列中的类别(类)
在 - 在
相反,结果是一个连续的值
#以正确的格式获取具有singlepredict的数据和对象 dm=dummymlmmodel() 数据=dm.测试数据在
为技术定义必要的变量 标准列=data.columns.to\u列表() resultcolumn=“今天的访问者” listOfNumericalColumns=[“ticketPrice”] classes=data[resultcolumn].unique().tolist() 结果连续=假
在
之后,使用前面定义的参数创建解释器,并运行您感兴趣的解释技术。在
#create interpreter
predictionInterpreter = PredictionInterpreterClass(dm.predict, listOfNumericalColumns, standardColumns, resultcolumn, _classes_, data, resultIsContinuous)
#call interpretation technique s you want to use:
predictionInterpreter.plotpdpOfDistanceToTrueResultSklearn() # only works if called without any prior methods
predictionInterpreter.plotpdpOfDistanceToTrueResultSklearn2D()
predictionInterpreter.writeDistribution("visitorsOnThisDay")
predictionInterpreter.plotConfusionTable()
predictionInterpreter.printImportanceEli5(exceptedColumns = resultcolumn)
predictionInterpreter.printImportanceEli5(distanceAnalysis=True)
predictionInterpreter.featureAnnulation(annulationValue = "0")
predictionInterpreter.plotIce()
predictionInterpreter.plotpdpOfDistanceToTrueResultPdpbox(featureToExamine="ticketPrice")
predictionInterpreter.plotpdpOfDistanceToTrueResultPdpbox(featuresToExamine=["holidayYN", "ticketPrice"])
predictionInterpreter.plotpdpOfDistanceToTrueResultPdpbox(featureToExamine="ticketPrice", featuresToExamine=["holidayYN", "ticketPrice"])
predictionInterpreter.globalSurrogateModel()
- 项目
标签: