数据的可视化

2022-04-11 17:30:20 浏览数 (1)

今天聊聊数据可视化。

在数据分析中,数据可视化是一道很重要的工序,毕竟人都是视觉动物,要想以最直观最震撼地方式,向不同知识背景的观众老爷展示我的数据分析结果,可视化是最佳也几乎是唯一的选择。

机器学习也一样。虽说模型不相信视觉,但毕竟人工智能人工智能,有多少人工才能有多少智能,数据探索差不多就成了不可缺少的重要工序,这时数据可视化就很重要了。

不过,“可视化”听着好像很酷很复杂,实现挺简单。

拿加利福利亚房价预测来说好了,这个数据集已然成为回归预测的Hello World,要获取也很容易:

代码语言:javascript复制
import sklearn.datasets as datasets
dataset = datasets.fetch_california_housing()

虽然内置了Api,不过数据还是要在线获取的。下好了可以通过变量dataset查看。dataset的类型是比较少见的sklearn.utils.Bunch,没必要深究,比较有用的属性有两个,data和feature_name,顾名思义,数据和属性名称。

看看都有哪些属性:

最后两个维度很重要,分别记录的是房子所在经度和维度,毕竟连猴哥都知道房子最重要的是位置。

那就看看位置分布好了。数据都在data里,不过是numpy.ndarray,要可视化先要做一些处理,转为DataFrame类型:

代码语言:javascript复制
dataset = pd.DataFrame(dataset.data)

DataFrame是可以直接plot的,不过得设置plot什么。这里要看位置分布,就画个散点图吧:

代码语言:javascript复制
dataset.plot(kind="scatter", x="Longitude", y="Latitude")

效果一言难尽,像是一群蚂蚁围攻两只正在约会的菜青虫:

对比一下加州的地图:

看得出来,散点图其实已经带了不少信息量,首先勾勒出了加州的大致轮廓,同时也反映出加州的发展重心在西边,和我国大多数地区正好相反——这不奇怪,加州毗邻西海岸。

大致趋势看出来来,不过,光知道哪是沿海城市未免太粗放了,好歹也得说一下哪是沿海一线城市。

这可以做到,将alpha调为0.5,这回菜青虫的内部结构也可以看清楚了:

下次再聊。

0 人点赞