X [:, 0] в диаграмме рассеяния matplotlib - PullRequest
0 голосов
/ 03 февраля 2019

С учетом следующей строки:

plt.scatter(X[:, 0], X[:, 1], s=50);

Что означает X[:, 0], X[:, 1]?Во всех примерах, которые я просматривал, я просто вижу X,y.

Я также не понимаю цели X, y =.

Вывод Xниже, который включает значения X и y.Тем не менее, y сам имеет другой вывод, и я не могу понять, где он используется / почему?

array([[ 1.85219907,  1.10411295],
       [-1.27582283,  7.76448722],
       [ 1.0060939 ,  4.43642592],
       [-1.20998253,  7.83203579],
       [ 1.92461484,  1.06347673],
       [ 2.28565919,  0.79166208],
       [-1.57379043,  2.69773813],
       [ 1.04917913,  4.31668562],
       [-1.07436851,  7.93489945],
       [-1.15872975,  7.97295642]

Полный скрипт ниже:

#import the required libraries
# - matplotlib is a charting library
# - Seaborn builds on top of Matplotlib and introduces additional plot types. It also makes your traditional Matplotlib plots look a bit prettier.
# - Numpy is numerical Python
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
from sklearn.datasets.samples_generator import make_blobs
from sklearn.cluster import KMeans
#Generate sample data, with distinct clusters for testing
#n_samples = the number of datapoints, equally split across each clusters
#centers = The number of centers to generate (number of clusters) - a center is the arithmetic mean of all the points belonging to the cluster.
#cluster_std = the standard deviation of the clusters - a quantity expressing by how much the members of a group differ from the mean value for the group (how tight is the cluster going to be)
#random_state = controls the random number generator being used.  If you don't mention the random_state in the code, then whenever you execute your code a new random value is generated and the train and test datasets would have different values each time. However, if you use a particular value for random_state(random_state = 1 or any other value) everytime the result will be same,i.e, same values in train and test datasets.
X, y = make_blobs(n_samples=300, centers=4,
                       cluster_std=0.50, random_state=0)
#The below statement, will enable us to visualise matplotlib charts, even in ipython
#Using matplotlib backend: MacOSX
#Populating the interactive namespace from numpy and matplotlib
%pylab
#plot the chart
#s = the sizer of the points.
plt.scatter(X[:, 0], X[:, 1], s=50);

Ответы [ 2 ]

0 голосов
/ 03 февраля 2019

X является двумерным массивом.X[:,0] получает доступ ко всему в первом столбце, а X[:,1] обращается ко всему во втором столбце.

В случае вашего оператора plt.scatter, «x» и «y» графикаоба из X.

X, y = просто означают, что выход make_blobs() имеет два элемента, которые назначены X и y.Ассоциация с «x» и «y» на диаграмме рассеяния несколько сбивает с толку из-за имен, присвоенных переменным.«x» и «y» могут быть любой переменной или (как в этом случае) могут индексироваться отдельно от одного двумерного массива.

0 голосов
/ 03 февраля 2019

make_blobs генерирует «изотропные гауссовы капли» - X представляет собой массив с двумя столбцами, которые содержат (x, y) гауссовы координаты этих точек, тогда как y содержит список категорий для каждой из них.

In[1]:  X.shape
Out[1]: (300, 2)

X [:, 0] - это простой способ выбора каждой записи строки для столбца 0, т. Е. Один столбец из массива значений.

Вы можете видеть кластерыкоординаты легче, если вы строите их.В вашем коде отсутствует

plt.show()

, который отображал бы график. make_blob plot

Если вы нанесете один из этих столбцов на y, вы сможете более четко увидеть, что они классифицированы в соответствии с их координатами, но сам по себе этот график не особенно полезен., X [:, 0], построенное против y

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...