簡體   English   中英

我想按距Python中質心的距離對數據進行分類

[英]i want to classify data by distance from centroids in python

我正在用Python創建一個圖像分類器,該分類器將判斷圖像是否是汽車。

這是我的步驟:

  1. 從約200張帶有汽車的圖像中獲取SIFT描述符。
  2. 在所有這些SIFT描述符上,均使用k-means算法並找到約50個質心。
  3. 使用這些質心和新圖像會生成SVM的訓練數據。

我只想找到這些k均值質心,然后將它們保存在文件中以供重用。

我的問題如下:

我有50個預先計算的質心。 我有帶有SIFT描述符的新圖像。 我想為每個描述符找到最接近的質心。

例如:質心1最接近5個描述符,質心2最接近12個描述符,依此類推。 然后,我會將這些數據提供給SVM。

就像kmeans.predict()一樣,但是我不想每次添加新圖像時都計算k均值。

那么在python中是否有任何函數在超空間中給我50個點(質心),在同一個超空間中給N點,它會根據最近的質心向我返回這些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版本存儲的模型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM