单变量模型的解释技术也用于分类特征和预测

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()

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java Date作为MyBatis中Oracle SELECT查询的参数[not get Response]   来自两个独立线程的并行java访问队列   如果数据已经存在,java Android Studio SQLite不会将数据插入数据库   mysql java spring项目仅在第一次运行时显示错误,再次运行后运行正常。为什么呢?   java SQL错误:1364,SQLState:HY000字段“rating_id”没有默认值/保存具有onetoone关系的子实体时   Tomcat中无cookie的java支持会话#重复   JAVAlang.RuntimeException:Android Studio   java CheckboxMultipleChice存储在SQL中   Kafka Java SimpleConsumer奇怪的编码   使用Hibernate保存servlet中处理的数据时遇到java错误   JavaSpring在运行时添加数据源   java使用一个类中另一个类的方法   java空值随Spring Rest资源更新   java Spring引导:为什么要使用OncePerRequestFilter?   java Android异步任务重用   java JTextField未按预期填充列?