python - 如何将多个特征组合到 KMeans 中
问题描述
我尝试根据边缘特征对图像进行聚类。
以下方法提取每个图像的边缘:
from skimage.filters import prewitt_h,prewitt_v
from skimage.filters import roberts_pos_diag, roberts_neg_diag
from sklearn.cluster import KMeans
features=[]
def extract_edges(img):
edges_h = prewitt_h(img)
edges_v = prewitt_v(img)
edges_d = roberts_pos_diag(img)
edges_nd = roberts_neg_diag(img)
return (edges_h, edges_v, edges_d, edges_nd)
features.append(extract_edges(img))
加载一些图像后,我尝试使 e KMeans 适合这些功能,引发以下异常:
kmeans_pca = KMeans(n_clusters=3, random_state=42).fit(features)
>> ValueError: Found array with dim 4. Estimator expected <= 2.
我还需要对特征进行矢量化吗?我将如何做到最好?
解决方案
推荐阅读
- asp.net-core - Blazor 未检测到模型已更新
- javascript - iFrame 重定向问题
- python - 如何从 numpy 文档正确运行 f2py 示例?
- r - MLR 未在 RStudio 作业中注册学习者
- python - 使用 knn 预测来自另一个 DataFrame 的值(Python 3.6)
- javascript - 如果字符匹配,则选择第 N 个字符 - RegEx
- python - 从子进程 Popen 进程中运行的烧瓶 localhost 应用程序获取端口
- html - 如何修复 Outlook 中两个 HTML 表格中的空白
- algorithm - a 的 b 次方 - 递归算法
- angular - Angular - 无法设置标题