python - 对数据使用 DBSCAN 算法
问题描述
我试图DBSCAN
在一个小数据帧上应用该算法,以便在之后进行异常值预测。所有列都有数值,但即使我没有空值,我也会不断收到相同的错误。
这是我调用算法的代码:
db = DBSCAN(eps=0.09, min_samples=10).fit(dfc)
m = loop.LocalOutlierProbability(dfc).fit()
scores_noclust = m.local_outlier_probabilities
m_clust = loop.LocalOutlierProbability(dfc,
cluster_labels=list(db.labels_)).fit()
scores_clust = m_clust.local_outlier_probabilities
print(list(scores_clust))
我收到此错误:
输入类型不支持 ufunc 'isnan',并且根据转换规则 ''safe'' 无法安全地将输入强制转换为任何支持的类型
我不明白为什么,因为我没有空值。
解决方案
根据您的评论,您似乎有一列包含需要转换为整数的对象。
dfc['Idade'] = pd.to_numeric(dfc['Idade']).astype(int)
仅仅做演员是不够的,它只是返回一个新的系列,但它不会修改旧的系列,你必须明确地这样做。
推荐阅读
- hibernate - Wildfly 11:不允许添加多个最后一个资源。尝试添加 LastResourceRecord
- angular - 对象对象作为 url 参数 angular
- html - 如何在 VSCode 中关闭 HTML 中的括号自动完成功能?
- javascript - React Native - {"name":"Invariant Violation","framesToPop":1}
- python - 如何在便笺文档中获取前五个值并放入列表(Python)
- python - 用python一次替换列表中的每个字符/字符串
- java - 在春季测试执行期间更改当前用户身份验证
- javascript - 有一个正则表达式匹配'aa'和'bb',但不是'ab'?
- html - 在其父框中显示一个元素
- git - 致命:协议错误:意外“运行 git 时出错:fork/exec /usr/bin/git-receive-pack:没有这样的文件或目录”