【发布时间】:2018-12-05 03:36:02
【问题描述】:
假设我有一个这样的数据集:
import numpy as np
from sklearn.datasets import make_blobs
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
X,y = make_blobs(random_state=101) # My data
palette = sns.color_palette('bright',3)
sns.scatterplot(X[:,0], X[:,1],palette=palette,hue=y) # Visualizing the data
我想选择靠近集群中心的数据。说,我想从cluster '0'中选择靠近中心的数据,我目前是这样做的:
label_0 = X[y==0] # Want to select data from the label '0'
data_index = 2 # Manaully pick the point
sns.scatterplot(X[:,0], X[:,1],palette=palette,hue=y)
plt.scatter(label_0[data_index][0],label_0[data_index][1],marker='*')
由于离中心不近,我换了索引,再选一个。
data_index = 4
sns.scatterplot(X[:,0], X[:,1],palette=palette,hue=y)
plt.scatter(label_0[data_index][0],label_0[data_index][1],marker='*')
现在很接近了。但我想知道是否有更有效的方法来实现这一目标?像这样的小数据集是可以管理的,但是如果我的数据集有数千个点,我认为这种方法不再适用。
【问题讨论】:
标签: python-3.x seaborn data-science