我在训练数据集上使用DBSCAN来查找异常值,并在训练模型之前从数据集中删除这些异常值。我在包含8列的7697行训练数据上使用DBSCAN。以下是我的代码
from sklearn.cluster import DBSCANX = StandardScaler().fit_transform(X_train[all_features])model = DBSCAN(eps=0.3 , min_samples=10).fit(X)print (model)X_train_1=X_train.drop(X_train[model.labels_==-1].index).copy()X_train_1.reset_index(drop=True,inplace=True)
Q-1 这7个特征中有些是离散的,有些是连续的,是否可以同时对离散和连续特征进行缩放,或者只对连续特征进行缩放? Q-2 我是否需要将训练数据中学习到的聚类映射到测试数据上?
回答:
DBSCAN 将会为您处理这些异常值。这是它的设计目的。请看下面的示例,如果您有更多问题,请回复。