Построение матрицы разброса в Python с использованием библиотеки pandas
Не могли бы вы сообщить мне, что не так с кодом?
import pandas as pd
import numpy as np
url = "https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data" # load dataset into Pandas DataFrame
df = pd.read_csv(url, names=['sepal length','sepal width','petal length','petal width','target'])
data = df.values[:,0:4]
label = df.target.values
features = df.columns.values[0:4]
#create train Data
trainData = np.delete(data, list(range(0, data.shape[0], 3)), axis=0)
trainLabel = np.delete(label, list(range(0, label.shape[0], 3)), axis=0)
#create test Data
testData = data[0::3,:]
testLabel = label[0::3]
#visualize train Data
temp = pd.DataFrame(data=trainData,columns=features)
temp["target"] = trainLabel
color_palette = {1: "#0392cf",
2: "#7bc043",
3: "#ee4035"}
lab = list(np.unique(trainLabel))
labNum = temp['target'].apply(lab.index)
colors = labNum.map(lambda x: color_palette.get(x + 1))
temp["target"] = list(labNum)
ax = pd.plotting.scatter_matrix(temp, color=colors, alpha=0.6, figsize=(10, 10), diagonal='hist')
Я ожидал какой - то матрицы сюжета, как это. Однако это всего лишь одна гистограмма. Я не уверен, что случилось.
Кроме того, есть ли простой способ добавить легенду к этому типу матричного графика?
Недавно я пытаюсь переключиться с MATLAB на python; Итак, я новичок в питоне.
Обновление: по-видимому, проблема построения решена путем изменения только одной строки -
temp = pd.DataFrame(data=trainData,columns=features,dtype=float)