python - 如果我有一个“ground truth”数据集没有异常值用于初始训练来比较新数据,我可以使用隔离森林算法吗?
问题描述
我猜这是不可能的,但与“基本事实”数据集相比,我基本上想在新数据集中找到异常值或异常。如果我尝试使用 Isolation Forest 训练模型,则必须在训练时设置污染参数,但我认为在运行测试时我无法更改此污染设置。是否有人对解决此问题有任何其他建议,或者是否有我没有看到的解决方案?
解决方案
如果您有可用于训练的标记数据,我会使用监督方法。如果您只想使用地面实况数据集评估隔离森林,则必须提前提出污染因子,以便进行更诚实的评估。
假设您正在使用,scikit-learn
您还可以使用该score_samples
方法获取每个样本的分数:
https ://scikit-learn.org/stable/modules/generated/sklearn.ensemble.IsolationForest.html#sklearn.ensemble.IsolationForest.score_samples
推荐阅读
- mongodb - MongoDB 聚合。获取价值差异
- php - 在 WordPress Rest Api 中添加自定义端点
- linux - Elastic Beanstalk 上的 PostgreSQL (Amazon Linux 2)
- javascript - 通过 hapi/joi 验证对象时在现有错误中添加错误
- reactjs - 如何在页面更改时清除表单错误的 redux 状态
- python - AttributeError:“MLPClassifier”对象没有属性“decision_function”
- python - 为什么当我的播放器向右或向左移动时我的平台在移动
- sql-server - Microsoft SQL 根据其他表组创建汇总表
- javascript - 将 HTML 包含用于站点导航链接
- javascript - JavaScript 将选择从图像复制到图像