为机器学习(ML)模型生成质量报告

model-quality-report的Python项目详细描述


模型质量报告

此包支持快速创建模型质量报告,并返回该报告 作为dict。在

主要成分是创建测试和 根据培训的各项规定和质量报告。 质量报告负责分割、拟合、预测和 最后得出质量指标。在

安装程序包

最新可用代码:

pip install git+https://gitlab.com/francesco-calcavecchia/model_quality_report.git

带pipenv:

^{pr2}$

特定版本:

pip install git+https://gitlab.com/francesco-calcavecchia/model_quality_report.git@vX.Y.Z

快速启动

  • RandomDataSplitter使用 sklearn.model_选择列车测试分割:
X=pd.DataFrame({'a':[1,2,3,4,5],'b':['a','b','c','d','e']})y=pd.Series(data=range(5))splitter=RandomDataSplitter(test_size=0.33,random_state=2)X_train,X_test,y_train,y_test=splitter.split(X,y)
  • TimeDeltaDataSplitter将数据从上一个 试验数据采用时长周期_δ。这里是 pd时间增量并且提供了日期列名称:
splitter=TimeDeltaDataSplitter(date_column_name='shipping_date',time_delta=pd.Timedelta(3,unit='h'))X_train,X_test,y_train,y_test=splitter.split(X,y)
  • SplitDateDataSplitter进行拆分,以便在提供的日期之后的数据 用作测试数据。此外,还必须提供日期列的名称:
splitter=SplitDateDataSplitter(date_column_name='shipping_date',split_date=pd.Timstamp('2016-01-01'))X_train,X_test,y_train,y_test=splitter.split(X,y)
  • SortedDataSplitter需要一个具有可排序值的列。对数据进行分割,以便测试 数据集包含最后一个分数test_size。排序可以按升序和降序进行。在
splitter=SortedDataSplitter(sortable_column_name='shipping_date',test_size=0.2,ascending=True)X_train,X_test,y_train,y_test=splitter.split(X,y)
  • 使用RegressionQualityReport类,可以将回归模型的质量报告创建为 以下内容:
splitter=SplitDateDataSplitter(date_column_name='shipping_date',split_date=pd.Timstamp('2016-01-01'))model=sklearn.linear_model.LinearRegression()quality_reporter=RegressionQualityReport(model,splitter)report=quality_reporter.create_quality_report_and_return_dict(X,y)

示范报告如下:

{'metrics':{'explained_variance_score':-6.018595041322246,'mape':0.3863636363636345,'mean_absolute_error':4.242424242424224,'mean_squared_error':29.426997245178825,'median_absolute_error':2.272727272727268,'r2_score':-10.03512396694206},'data':{'true':{3:10,4:12,2:8},'predicted':{3:12.272727272727268,4:20.999999999999964,2:6.545454545454561}}}

注意model必须有一个model.fit和一个model.predict函数。在

可用功能

数据拆分器

RandomDataSplitter:随机拆分

TimeDeltaDataSplitter:使用最后一段长度的数据作为测试数据

SplitDateDataSplitter:使用时间戳晚于分割日期的数据作为测试数据

SortedDataSplitter:沿给定列对数据进行排序,并将大小x\u测试的最后一部分作为 试验数据

TimeSeriesCrossValidationDataSplitter:生成一个时间数据拆分列表,这样每个连续的列车组多了一个观察集,少了一个测试集

质量报告

RegressionQualityReport:为回归模型创建质量报告

质量指标

RegressionQualityMetrics:包含以下函数:

  • 解释方差分
  • 平均绝对误差
  • 均方误差
  • 绝对误差中位数
  • r2分
  • 地图

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

推荐PyPI第三方库


热门话题
java如何比较二维交错数组中列中元素的长度   java依赖javafx是安全的。util。回电话?   用于格式化二进制数的正则表达式,在Java中,从右到左每4个字符使用空格   java我应该在基于Springboot的后端使用headless模式吗?   java Hibernate获取数据。list()已去润滑,表未映射。怎么办?   java Spring引导存储库,包括示例、规范和页面   java使用UUID。randomUUID()和多次调用方法?   每个客户端请求的Java DatagramSocket不同线程   字符串中的java表达式到arraylist   数组循环遍历word文档和图像,并存储到SQL java   java wsimport Xauthfile错误   java在适配器中返回相同的片段   charAt()方法如何从字符串中提取数字并将其放入Java中的新字符串中?   java我想在两部手机之间建立hfp连接   java如何添加priceAfterDiscount的公共方法,该方法返回折扣后的价格