用于置信度估计和新颖性检测的密度森林库

density_forest的Python项目详细描述


密度森林

该图书馆是在2018年春季学期的EPFL硕士项目中开发的。

github存储库:https://github.com/CyrilWendl/SIE-Master

使用DensityForest类:

拟合密度森林

假设你有你的训练数据和测试数据,在[N, D]维度中有N数据点:

fromdensity_forest.density_forestimportDensityForestclf_df=DensityForest(**params)# create new class instance, put hyperparameters hereclf_df.fit(X_train)# fit to a training setconf=clf_df.decision_function(X_test)# get confidence values for test setoutliers=clf_df.predict(X_test)# predict whether a point is an outlier (-1 for outliers 1, for inliers)

超参数记录在docstring中。要找到最佳超参数,请考虑下面的部分。

查找超参数

要找到最佳超参数,请使用helpers.cross_validator中的ParameterSearch,它允许cv和超参数搜索。

fromhelpers.cross_validatorimportParameterSearch# define hyperparameters to testtuned_params=[{'max_depth':[2,3,4],'n_trees':[10,20]}]# optionally add non-default arguments as single-element arraysdefault_params=[{'verbose':0,...}]# other default parameters # do parameter searchps=ParameterSearch(DensityForest,tuned_parameters,X_train,X_train_all,y_true_tr,f_scorer,n_iter=2,verbosity=0,n_jobs=1,default_params=default_params)ps.fit()# get model with the best parameters, as aboveclf_df=DensityForest(**ps.best_params,**default_params)# create new class instance with best hyperparameters...# continue as above

检查docstrings以获取ParameterSearch类的更详细文档。

文件结构

代码

所有用于密度林的库、用于语义分段和基线的辅助库。

density_forest/

决策树、随机林、密度树和密度林实施包

  • create_data.py:生成带标签和未带标签数据的函数
  • decision_tree.py:决策树节点的数据结构
  • decision_tree_create.py:生成决策树的函数
  • decision_tree_traverse.py:遍历决策树和预测标签的函数
  • density_forest.py:创建密度林的函数
  • density_tree.py:密度树节点的数据结构
  • density_tree_create.py:生成密度树的函数
  • density_tree_traverse.py:用于降低密度树并检索其群集参数的函数
  • helper.py:各种帮助函数
  • random_forests.py:创建随机林的函数

helpers/

用于语义分段的通用帮助程序库

  • data_augment.py:应用于图像和地面真相的自定义数据增强方法
  • data_loader.py:苏黎世数据集的pytorch数据加载器
  • helpers.py:用于导入、裁剪、填充图像和其他相关图像传输的函数
  • parameter_search.py:寻找密度森林、oc-svm和gmm最优超参数的函数(如上所述)
  • plots.py:用于标记和未标记二维和三维绘图的通用绘图机函数,用于T-SNE和PCA绘图

baselines/

置信估计基线的辅助函数msr、margin、熵和mc dropout

keras_helpers/

keras的助手函数

  • helpers.py:获取激活
  • callbacks.py:每个历元后要计算的回调
  • unet.py:苏黎世数据集网络培训的unet模型

可视化

density_forest/

基本决策树和密度树的可视化

  • Decision Forest.ipynb:随机生成的标记数据上的决策树和随机林
  • Density Forest.ipynb:随机生成的未标记数据上的密度树

主管:

  • 瓦赫宁根大学迪夫图亚教授
  • 瓦赫宁根大学迭戈·马科斯·冈萨雷斯
  • Fran_ois Golay教授,EPFL

西里尔·温德尔,2018年

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

推荐PyPI第三方库


热门话题
javagae/JPA/Datastore如何查询无主列表   java从xml中读取未知元素   java如何在控制台上显示MavReplugin单元测试覆盖率报告   java什么被认为是遍历LDAP DIT的正确方法?   Eclipse(Java)在创建了一个新包之后,我无法向其中添加源文件   java new REngine启动并立即停止   java Android:如何从保存在SQLite数据库中的listview中删除项目?   找不到java Gradle DSL方法:“compile()”错误   java使用POI获取具有特定列名的每一行中的值   java解析JSON文件   java中断for循环,返回4个结果,而不是2个   LDAP处理过程中发生java未分类异常;嵌套的异常是javax。命名。NamingException   当表单在基于spring3注释的控制器中验证失败时,java引用数据将丢失   java Android,从web获取数据并更新UI(多线程和MVC设计模式)   用于OS X Yosemite的java优化Swing程序