Как построить парную диаграмму с оттенком после разделения набора данных

#python #machine-learning #scikit-learn #seaborn

Вопрос:

У меня проблема с классификацией набора данных iris,я могу создать парную диаграмму на необработанном наборе данных, которая выглядит следующим образом, когда hue='species'

введите описание изображения здесь

Но как я могу использовать hue после разделения набора данных на X_train,y_train в качестве разделяемого класса видов ?

 X = DATA.drop(['class'], axis = 'columns') y = DATA['class'].values  X_train, X_test, y_train, y_test=train_test_split(X,y, test_size=0.20,random_state =42)  gbl_pl=[] gbl_pl.append(('standard_scaler_gb', StandardScaler()))     gblpq=Pipeline((gbl_pl))  scaled_df=gblpq.fit_transform(X_train,y_train)  sns.pairplot(data=scaled_df) plt.show()  

выход

введите описание изображения здесь

Ожидание (что-то вроде этого с разделенным набором данных, исключая тестовые данные) введите описание изображения здесь

Комментарии:

1. Можете ли вы привести пример или любую ссылку на такой способ реализации?

Ответ №1:

Вы можете объединить y_train в виде столбца с X_train.

 from matplotlib import pyplot as plt from sklearn.model_selection import train_test_split import seaborn as sns import pandas as pd import numpy as np  iris = sns.load_dataset('iris') X = iris.drop(columns='species') y = iris['species']  X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.20, random_state=42)  sns.pairplot(data=pd.concat([X_train, y_train], axis=1), hue=y_train.name)  

sns.схема пары объединенных X_trains и y_train