(编辑:jimmy 日期: 2024/11/14 浏览:2)
使用散点图矩阵图,可以两两发现特征之间的联系
pd.plotting.scatter_matrix(frame, alpha=0.5, c,figsize=None, ax=None, diagonal='hist', marker='.', density_kwds=None,hist_kwds=None, range_padding=0.05, **kwds)
1、frame,pandas dataframe对象
2、alpha, 图像透明度,一般取(0,1]
3、figsize,以英寸为单位的图像大小,一般以元组 (width, height) 形式设置
4、ax,可选一般为none
5、diagonal,必须且只能在{‘hist', ‘kde'}中选择1个,'hist'表示直方图(Histogram plot),'kde'表示核密度估计(Kernel Density Estimation);该参数是scatter_matrix函数的关键参数
6、marker,Matplotlib可用的标记类型,如'.',',','o'等
7、density_kwds,(other plotting keyword arguments,可选),与kde相关的字典参数
8、hist_kwds,与hist相关的字典参数
9、range_padding,(float, 可选),图像在x轴、y轴原点附近的留白(padding),该值越大,留白距离越大,图像远离坐标原点
10、kwds,与scatter_matrix函数本身相关的字典参数
11、c,颜色
效果如下图
以 sklearn的iris样本为数据集
import matplotlib.pyplot as plt from scipy import sparse import numpy as np import matplotlib as mt import pandas as pd from IPython.display import display from sklearn.datasets import load_iris import sklearn as sk from sklearn.model_selection import train_test_split iris=load_iris() #print(iris) X_train,X_test,y_train,y_test = train_test_split(iris['data'],iris['target'],random_state=0) iris_dataframe = pd.DataFrame(X_train,columns=iris.feature_names) grr = pd.plotting.scatter_matrix(iris_dataframe,c=y_train,figsize=(15,15),marker='o',hist_kwds={'bins':20},s=60,alpha=.8) plt.show()