我想根据 python 中距质心的距离对数据进行分类
i want to classify data by distance from centroids in python
我正在制作一个图像分类器,它可以在 Python 中判断图像是否是汽车。
这是我的步骤:
- 从大约 200 张有汽车的图像中获取 SIFT 描述符。
- 在所有这些 SIFT 描述符上使用 k-means 算法并找到大约 50
质心。
- 使用这些质心和新图像生成训练数据
对于支持向量机。
我只想找到这些 k-mean 质心一次,然后将它们保存在文件中以供重复使用。
我的问题如下:
我有 50 个预先计算的质心。我有带有 SIFT 描述符的新图像。我想为每个描述符找到最近的质心。
例如:质心 1 最接近 5 个描述符,质心 2 最接近 12 个描述符,依此类推。然后我会将这些数据提供给 SVM。
它类似于 kmeans.predict(),但我不想每次添加新图像时都计算 k-means。
那么 python 中是否有任何函数,我在超空间中给出 50 个点(质心),在同一超空间中给出 N 个点,它会 return 我根据最近的质心分布这 N 个点?
谢谢
查看 scikit-learn 文档中有关模型持久性的文章:http://scikit-learn.org/stable/modules/model_persistence.html
使用 pickle 保存模型:
import pickle
with open('kmeans.dat', 'w') as f:
pickle.dump(kmeans, f)
稍后您可以使用以下方式再次加载它:
with open('kmeans.dat', 'r') as f:
kmeans = pickle.load(f)
请注意,您只能加载由相同 python 版本存储的模型。
我正在制作一个图像分类器,它可以在 Python 中判断图像是否是汽车。
这是我的步骤:
- 从大约 200 张有汽车的图像中获取 SIFT 描述符。
- 在所有这些 SIFT 描述符上使用 k-means 算法并找到大约 50 质心。
- 使用这些质心和新图像生成训练数据 对于支持向量机。
我只想找到这些 k-mean 质心一次,然后将它们保存在文件中以供重复使用。
我的问题如下:
我有 50 个预先计算的质心。我有带有 SIFT 描述符的新图像。我想为每个描述符找到最近的质心。
例如:质心 1 最接近 5 个描述符,质心 2 最接近 12 个描述符,依此类推。然后我会将这些数据提供给 SVM。
它类似于 kmeans.predict(),但我不想每次添加新图像时都计算 k-means。
那么 python 中是否有任何函数,我在超空间中给出 50 个点(质心),在同一超空间中给出 N 个点,它会 return 我根据最近的质心分布这 N 个点?
谢谢
查看 scikit-learn 文档中有关模型持久性的文章:http://scikit-learn.org/stable/modules/model_persistence.html
使用 pickle 保存模型:
import pickle
with open('kmeans.dat', 'w') as f:
pickle.dump(kmeans, f)
稍后您可以使用以下方式再次加载它:
with open('kmeans.dat', 'r') as f:
kmeans = pickle.load(f)
请注意,您只能加载由相同 python 版本存储的模型。