python - scikit-learn 中 kmeans 的自定义标准
问题描述
我想在 scikit-learn 中运行一个聚类算法并在标准管道中使用它(即,我需要将其写入 . 对于这个聚类算法,我想运行 kmeansN
时间(即,具有N
不同的初始点),然后使用我自己的函数来选择最佳运行。当前实现的kmeans版本有一个内置的方式来运行N
迭代并根据最小化的集群内方差选择最好的。本质上我想复制这个kmeans函数,但是对“最佳”拟合使用不同的标准。
我试图找出最好的方法来做到这一点。一种有前途的方法似乎是编写我自己的估算器(例如,使用https://github.com/scikit-learn-contrib/project-template/上的工具)。这个估计器似乎需要实现fit
, fit_predict
, fit_transform
, get_params
, predict
, score
, set_params
, 和transform
. 在我看来,这个估计器可以在N
内部运行 kmeans 时间,然后根据我的标准返回单个最佳质心拟合。
有没有更简单的方法来做到这一点?
解决方案
您是否考虑过使用继承?
您可以在 Python 中执行 OOP。因此,您将仅覆盖 sklearn KMeans 类的外循环,并继承其他所有内容。
推荐阅读
- docker - 我的 Jenkins Dockerfile 上的安装问题:找不到存储库
- jquery - Kendo React Gauges 不随容器调整大小而调整大小
- html - 如何在不先写入 .Rmd 的情况下将 R 对象导出到 HTML 文件?
- c# - 将派生类映射到 BaseDto
- azure-powershell - 如何在 Azure PowerShell 中将 API 管理中的订阅从一个用户转移到另一个用户?
- xml - 我想在 FreeMarker 中将 XML 作为宏参数传递
- gatling - 如何在加特林中读取字符串响应数组?
- excel - 如果 Word 文档尚未打开,Excel VBA 代码会出错
- kerberos - 使用 Kerberos 身份验证和 Livy(通过 sparkmagic)时,文件路径变得无法访问
- d3.js - 如何继承工具提示的数字/日期格式,而不仅仅是轴?