为机器学习(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分
- 地图
- 项目
标签: