我正在使用sklearn的内置数据集虹膜进行聚类。在KMeans中,我预先设置了群集数,但是对于DBSCAN而言并非如此。如果不预先设置聚类数,如何训练模型?
我尝试过:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
#%matplotib inline
from sklearn.cluster import DBSCAN,MeanShift
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split,KFold,cross_val_score
from sklearn.metrics import accuracy_score,confusion_matrix
iris = load_iris()
X = iris.data
y = iris.target
dbscan = DBSCAN(eps=0.3,min_samples=10)
dbscan.fit(X,y)
我被卡住了!
DBSCAN在Kmeans上的优势之一是,您无需将集群的数量指定为超参数。 DBSCAN中最重要的参数是对最终簇数有直接影响的epsilon。