学习和验证曲线的简易绘图包装器

sk_modelcurves的Python项目详细描述


SK模型曲线

为软件工程师和研究人员构建的python包装器 从scikit learn轻松创建学习和验证曲线图

本模块旨在补充您在SciKit中的工作流程学习和简化 评估模型的过程

该模块包括许多生活质量功能,应该可以为您节省宝贵的 每当您想绘制学习曲线以检查偏差/方差或 绘制验证曲线以查看优化超参数的效果。

背景

对于那些不熟悉学习曲线的人来说,看看Andrew Ng的优秀。 讨论它们在http://cs229.stanford.edu/materials/ML-advice.pdf

在写许多研究论文和建立许多模型的过程中,我 我发现自己使用的样板代码几乎每一个 每当我想绘制学习曲线或验证曲线时 评估模型。

希望这个模块每次需要绘制时都能节省您几分钟的时间 一个学习或验证曲线,这样你就可以专注于其他事情。

安装

python的pip是推荐的安装方法。从终端:

$ pip install sk_modelcurves

示例用法

使用精度作为度量和5倍交叉验证生成学习曲线。

假设一个称为knn的sklearn估计器,训练数据矩阵称为X和 培训标签称为y:

$ from sk_modelcurves.learning_curve import draw_learning_curve
$ draw_learning_curve(knn, X, y, scoring='accuracy', cv=5)
$ plt.show()

用f1得分作为一个估计量,为多个估计量生成多条学习曲线 度量、5倍交叉验证和每个估计器的名称。

假设3个sklearn估计量称为knn2,knn20,knn40,训练数据矩阵 呼叫X和培训标签呼叫Y:

$ from sk_modelcurves.learning_curve import draw_learning_curve
$ draw_learning_curve([knn2, knn20, knn40], X, y, scoring='f1', cv=5,
  estimator_titles=['2 Neighbors', '20 Neighbors', '40 Neighbors'])
$ plt.show()

还有很多其他的选择查看源代码docstrings或 即将发布的文档。

依赖关系

经过测试,sk modelcurves适用于python 2.6和python2.7。python 3.3+有 未经测试,在测试前假定不起作用

必需的依赖项包括scikit learn(当然!),numpy>;=1.6.1, 而matplotlib>;=1.1.1。

要运行测试,您需要nose>;=1.1.2。

贡献

欢迎任何人!

如果你发现一个bug或者想讨论一个潜在的特性,请提交一个 先发布

测试

安装后,可以从源代码外部启动测试套件 目录(您需要安装nosepackage):

$ nosetests -v sk_modelcurves

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

推荐PyPI第三方库


热门话题
java是否在servlet中检索上一页路径?   Java抱怨在开关的默认情况下未初始化最终字段   Java泛型:为什么编译器不能判断这个类<t>对象与这个类的类型参数的对象的类具有相同的类型?   Java:继承方法中使用的私有变量   HibernateJava。ClassCastException:java。lang.Integer不能强制转换为abc。def。我的项目。奥姆。EmployeeTopMetaData   http java发布和下载文件   java改进条件检查   java如何将2d数组的条目作为键放在地图中   java如何获取传递给运行时的值。getRuntime。JUnit测试用例中的exit(value)   java注释来创建所有可能的构造函数   自动建议列表:java。lang.IllegalArgumentException:在XPath表达式为null时找不到元素   为什么MapAPI在Java中不提供流功能?   gradle不导入本地java库   尽管我使用的是SessionCreationPolicy,java Spring安全性似乎仍在使用会话。无国籍   使用java查找MongoDB中数组元素的平均值