我在这里有一个关于plt.scatter的新手问题。
我正在做一些机器学习教程,我们正在分析两种花的花瓣长度。
df = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data', header = None)print(df.tail())y = df.iloc[0:100,4].values #这将打印出数据集的第5列。y = np.where(y == 'Iris-setosa', -1, 1) #当y中含有'Iris-setosa'时,将返回-1,否则返回1。X = df.iloc[0:100, [0,2]].values #Iris数据集的第1列和第3列在线 #打印第1列和第3列plt.scatter(X[:50,0], X[:50, 1], color = 'red', marker = 'o', label = 'setosa')plt.scatter(X[50:100, 0], X[50:100, 1], color = 'blue', marker = 'x', label = 'versicolor')
我不太明白为什么在每个plt.scatter行中,都有两个X[:50,0]和X[:50, 1]。它们的目的是什么?我以为plt.scatter是用来展示散点图中的一种类型物品的。我以为它会像这样:你知道从第0行到第50行,你想绘制某一种花,所以它只是X[:50,0],依此类推…
非常感谢你对这个问题的任何建议。
回答:
数据存储在一个2 x 50的数组中。所以X[50,0]可能是50片叶子的宽度,而X[1,50]可能是同一50片叶子的长度。因此,你可以绘制宽度与长度的关系图,例如。这种组合构成了一组图表。数据将用红色圆圈表示。