gpt4 book ai didi

pandas - 实现 KNN 来找到最接近的颜色?

转载 作者:行者123 更新时间:2023-11-30 09:42:26 28 4
gpt4 key购买 nike

我有一堆包含两列的数据:给定对象的标签以及该对象的颜色(包含 [R,G,B] 的列表)值。有没有一种有效的方法来创建一个函数来告诉我与用户输入的颜色最相似的对象?这似乎是 KNN 的候选者。

我如何在 Python 中执行此操作,最好使用 SciKit?由于我有大约 10,000 个观察值,我可以做些什么来更有效地实现 KNN?

import pandas as pd

data = {
"Object": ["A", "B", "C", "A"],
"Color": [[100, 120, 120], [50, 75, 50], [60, 70, 100], [90, 150, 200]]
}


df = pd.DataFrame(data)

candidate = [50, 40, 90]

def nearest_match(df, candidate):
# something

return nearest_match

最佳答案

X = [[100, 120, 120], [50, 75, 50], [60, 70, 100], [90, 150, 200]]
y = ["A", "B", "C", "A"]
from sklearn.neighbors import KNeighborsClassifier
neigh = KNeighborsClassifier(n_neighbors=4)
neigh.fit(X, y)

print(neigh.predict([[100, 100, 100]]))

为了使其表现更好,您可以选择要用于距离的指标。另外,选择您要使用的算法。

您还可以使用此 tutorial 从头开始​​实现它。开箱即用的库可能更好用,因为它们经过了优化。

如果可以选择用 C 实现,那么您可以采用该方法。或者使用 Cythonsing 实现的部分。

P.s.可能值得微调邻居的数量。

关于pandas - 实现 KNN 来找到最接近的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57022014/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com