machine-learning - 如何使用具有 dkb 值的集群算法?
问题描述
我有一个带有几何字段的数据框。我想hdbscan
在几何字段上运行集群算法(在这种情况下)。
我正在尝试执行以下步骤:
- 加载
df
- 创建类似的函数,将字符串转换为
wkb
并返回 2 点之间的距离。
继承人的代码:
import pandas as pd
import hdbscan
from shapely import wkb
def load_df():
# load dataframe with geometry column (values are in wkb format)
def sim(x, y):
wkb_x = wkb.loads(bytes.fromhex(x))
wkb_y = wkb.loads(bytes.fromhex(y))
return wkb_x.distance(wkb_y)
def main():
df = load_df()
clusterer = hdbscan.HDBSCAN(metric=sim)
clusterer.fit(df['geometry'])
print("finsie")
if __name__ == "__main__":
main()
但我收到错误(fit
在线):
ValueError: could not convert string to float: '010...."
如何hdbscan
在 wkb 值上运行(或任何其他集群算法)?
解决方案
推荐阅读
- reactjs - 如何获取对象数组存在的元素
- flutter - 使用 Flutter,如何拖动一个小部件并以另一种方式移动另一个小部件
- swift - 为什么使用 Kotlin Multiplatform 生成的 iOS 框架中的属性名称有下划线(下划线)?
- typescript - Nest Scheduler - 通过 applyDecorators 与其他装饰器组合时,Cron 装饰器缺少依赖项
- c++ - Google-snappy 压缩产生的尺寸比原始尺寸大
- html - 从 h1 中删除边距弄乱了标题
- angular - 如何在 Primeng 日历日期选择器中添加“/”以进行手动输入
- c++ - 特征矩阵[值],是什么意思?
- sql - 由于加入表而导致的记录重复
- flutter - 使用哪个构造函数?为什么?超级有什么用?