turicreate.image_similarity.ImageSimilarityModel.query¶
-
ImageSimilarityModel.
query
(dataset, label=None, k=5, radius=None, verbose=True, batch_size=64)¶ For each image, retrieve the nearest neighbors from the model’s stored data. In general, the query dataset does not need to be the same as the reference data stored in the model.
Parameters: - dataset : SFrame | SArray | turicreate.Image
Query data. If dataset is an SFrame, it must contain columns with the same names and types as the features used to train the model. Additional columns are ignored.
- label : str, optional
Name of the query SFrame column with row labels. If ‘label’ is not specified, row numbers are used to identify query dataset rows in the output SFrame.
- k : int, optional
Number of nearest neighbors to return from the reference set for each query observation. The default is 5 neighbors, but setting it to
None
will return all neighbors withinradius
of the query point.- radius : float, optional
Only neighbors whose distance to a query point is smaller than this value are returned. The default is
None
, in which case thek
nearest neighbors are returned for each query point, regardless of distance.- verbose: bool, optional
If True, print progress updates and model details.
- batch_size : int, optional
If you are getting memory errors, try decreasing this value. If you have a powerful computer, increasing this value may improve performance.
Returns: - out : SFrame
An SFrame with the k-nearest neighbors of each query observation. The result contains four columns: the first is the label of the query observation, the second is the label of the nearby reference observation, the third is the distance between the query and reference observations, and the fourth is the rank of the reference observation among the query’s k-nearest neighbors.
See also
Notes
- If both
k
andradius
are set toNone
, each query point returns all of the reference set. If the reference dataset has \(n\) rows and the query dataset has \(m\) rows, the output is an SFrame with \(nm\) rows.
Examples
>>> model.query(queries, 'label', k=2) +-------------+-----------------+----------------+------+ | query_label | reference_label | distance | rank | +-------------+-----------------+----------------+------+ | 0 | 2 | 0.305941170816 | 1 | | 0 | 1 | 0.771556867638 | 2 | | 1 | 1 | 0.390128184063 | 1 | | 1 | 0 | 0.464004310325 | 2 | | 2 | 0 | 0.170293863659 | 1 | | 2 | 1 | 0.464004310325 | 2 | +-------------+-----------------+----------------+------+