数据可视化(一):绘制散点图

=======================================================================                Machine Learning notebook
Python机器学习基础教程(introduction to Machine Learning with Python)
https://github.com/amueller/introduction_to_ml_with_python/blob/master/01-introduction.ipynb

=======================================================================

  检查数据的最佳方法之一就是将其可视化。一种可视化方法就是绘制散点图。
  数据散点图将一个特征作为x轴,另一个特征作为y轴,将每一个数据点绘制为图上的一个点。不幸的是,计算机屏幕只有两个维度,所以我们一次只能绘制两个特征(也有可能是3个,空间直角坐标系)。
缺点:
  用这种方法难以对多于3个特征的数据集作图。
解决方法:
  一种方法是绘制散点图矩阵(pair plot),从而可以两两查看所有的特征。如果特征数不多的话,这种方法是合理的。但是要记住,散点图矩阵无法同时显示所有特征之间的关系,所以这种可视化方法可能无法展示数据的某些有趣内容。

将NumPy数组转换成pandas DataFrame。pandas有一个绘制散点图矩阵的函数,叫做scatter_matrix。矩阵的对角线是每个特征的直方图:

(数据来源为scikit-learn的datasets模块中的load_iris函数,对数据集用train_test_split方法进行了随机的拆分,目的是使各类型的数据均匀分布。train set占75%,test set占25%
为了确保多次运行同一函数能够得到相同的输出,我们利用random_state参数指定了随机数生成器的种子。这样函数输出就是固定不变的,所以这行代码的输出始终相同)

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split

iris_dataset=load_iris()

X_train, X_test, y_train, y_test = train_test_split(
    iris_dataset['data'], iris_dataset['target'], random_state=0)

print("X_train shape:", X_train.shape)
print("y_train shape:", y_train.shape)

print("X_test shape:", X_test.shape)
print("y_test shape:", y_test.shape)
import mglearn
import pandas as pd

# 利用X_train中的数据创建DataFrame
# 利用iris_dataset.feature_names中的字符串对数据列进行标记
iris_dataframe = pd.DataFrame(X_train, columns=iris_dataset.feature_names)
# 利用dataframe创建散点图矩阵, 按y_train进行着色
pd.plotting.scatter_matrix(iris_dataframe, c=y_train, figsize=(15, 15),
                           marker='o', hist_kwds={'bins': 20}, s=60,
                           alpha=.8, cmap=mglearn.cm3)

#使用matplotlib.pyplot来显示图像
import matplotlib.pyplot as plt
plt.show()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值