scikit-learn包中DBSCAN功能的输入格式

时间:2014-07-16 17:54:14

标签: python numpy scikit-learn

计算DBSCAN

db = DBSCAN(eps=0.3, min_samples=10).fit(X)

以上是使用scikit-learn包计算DBSCAN的示例代码。 我自己的输入格式是这样的: [[37.9358,-122.3478],[33.8312,-117.6053]]。

示例输入格式如下: [[0.84022039 1.14802236]  [-1.15474834 -1.2041171]]

我创建自己的格式的方法是使用追加操作构建列表列表。 样本格式的结构是什么,我该如何构建它? 我遇到的错误消息是: TypeError:list indices必须是整数,而不是list

谢谢!

1 个答案:

答案 0 :(得分:2)

这是bugDBSCAN.fit应接受列表列表,但事实并非如此,因此您必须使用NumPy数组(*):

X = np.array([[37.9358, -122.3478], [33.8312, -117.6053]])
db = DBSCAN(eps=0.3, min_samples=10).fit(X)

工作正常。

(*)NumPy数组无论如何都是首选的数据格式;列表列表被接受为方便,但将在内部转换。