python - Trying to plot outliers using DBSCAN
问题描述
I have never been great with Python plotting concepts, and now I'm still apparently missing something new.
Here is my code.
import pandas as pd
import matplotlib.pyplot as plt
import sys
from numpy import genfromtxt
from sklearn.cluster import DBSCAN
data = pd.read_csv('C:\\Users\\path_here\\wine.csv')
data
# Reading in 2D Feature Space
model = DBSCAN(eps=0.9, min_samples=10).fit(data)
array_flavanoids = data.iloc[:, 2]
# Slicing array
array_colorintensity = data.iloc[:, 3]
# Scatter plot function
colors = model.labels_
plt.scatter(array_flavanoids, array_colorintensity, c=colors, marker='o')
plt.xlabel('Concentration of flavanoids', fontsize=16)
plt.ylabel('Color intensity', fontsize=16)
plt.title('Concentration of flavanoids vs Color intensity', fontsize=20)
plt.show()
Here is my result.
I am expecting the outliers to be in a different color than the non-outliers. So, something like this.
Maybe one color for outliers and another for non-outliers. I am just trying to learn the concept in this exercise. I am trying to follow the example from this link.
https://towardsdatascience.com/outlier-detection-python-cd22e6a12098
I am using this data source.
https://www.kaggle.com/uciml/red-wine-quality-cortez-et-al-2009
解决方案
I am testing different data sets.
I got this to work.
from sklearn.cluster import DBSCAN
def dbscan(X, eps, min_samples):
ss = StandardScaler()
X = ss.fit_transform(X)
db = DBSCAN(eps=eps, min_samples=min_samples)
db.fit(X)
y_pred = db.fit_predict(X)
plt.scatter(X[:,0], X[:,1],c=y_pred, cmap='Paired')
plt.title("DBSCAN")
dbscan(data, eps=.5, min_samples=5)
I found this to be a great resource.
https://medium.com/@plog397/functions-to-plot-kmeans-hierarchical-and-dbscan-clustering-c4146ed69744
推荐阅读
- javascript - 为什么我的加载器只使用 Firefox?
- protractor - 在量角器黄瓜中, getAttribute(Value) 返回 Object (browser_, then, ...) 而不是返回数据
- memory-leaks - 在 MAT 中,我保留了 0 浅堆的堆(?!?)
- jenkins-pipeline - 在 Scripted Pipeline(从 SCM 中提取 Jenkinsfile)方法中,我们如何将工件发布到 Artifactory?
- java - 我的班级有一些未知错误,当运行时,JFrame 在输入值后没有响应
- excel - 动态选择要在 VBA 函数中使用的单元格
- installation - 在 Windows 10 上安装 autokeras 时出错
- javascript - 如何在 React 中用红色边框单击按钮突出显示空的强制(*)输入字段?
- openfin - 我可以在我的应用程序关闭后在 OpenFin 中推送通知吗?/ 如何让我的 OpenFin 应用在后台运行?
- oracle - ORA-00933: SQL 命令未正确结束“找不到解决方案”