数据分析/数据挖掘

发布时间:2024-01-20 14:00

定位:

作为人工智能领域(数据挖掘/机器学习的方向)的基础课程,为长期从事人工智能方向打下坚实的基础。

面向过程的画图方法

目标:

  • 应用Matplotlib实现数据挖掘领域的可视化分析过程
  • 应用Numpy实现数据挖掘领域的数据计算过程
  • 应用Pandas实现数据挖掘领域的数据处理过程
  • 熟练应用金融股票数据的基本数据分析与挖掘

环境的搭建

  • 完成数据挖掘基础阶段的所有环境安装
  • 应用jupyter notebook完成代码编写运行
  • 整个数据挖掘基础阶段会用到Matplotlib、Numpy、Pandas、Ta-Lib等库,为了统一版本号在环境中使用,将所有的库及其版本号放到了文件requirements.txt中,然后统一安装

新建一个用于人工智能环境的虚拟环境

mkvirtualenv -p python3 ai
# 其中python3为python的版本号,ai为创建的虚拟环境的名字,如果没有安装mkvirtualenv,可以百度一下安装方法

安装库

pip install matplotlib
pip install pandas
pip install jupyter

JupyterNotebook

介绍:

\"数据分析/数据挖掘_第1张图片\"
\"数据分析/数据挖掘_第2张图片\"
\"在这里插入图片描述\"

为什么使用Jupyter Notebook

  • 传统软件开发:工称/目标明确
    • 需求分析,设计构架,开发模块,测试
  • 数据挖掘:艺术/目标不明确
    • 目的是具体的洞察目标,而不是机械的完成任务
    • 通过执行代码来理解问题
    • 迭代式地改进代码来改进解决方法
  • 实时运行的代码、叙事性的文本和可视化被整合在一起,方便使用代码和数据来讲述故事
总结:Jupyter Notebook 相比 Pycharm、Ipython在画图和数据展示方面更有优势。

快速上手 JupyterNotebook

启动:

  • 界面启动:
    环境搭建好后,本机输入jupyter notebook命令,会自动弹出浏览器窗口打开Jupyter Notebook
# 进入虚拟环境
workon ai
# 输入命令
jupyter notebook
# 也可以使用命令:ipython notebook	打开
# 本地notebook的默认URL为:http://localhost:8888
  • 想让notebook打开指定目录,只要进入此目录后执行命令即可

相关操作:

\"数据分析/数据挖掘_第3张图片\"
\"数据分析/数据挖掘_第4张图片\"

cell操作

\"数据分析/数据挖掘_第5张图片\"
\"数据分析/数据挖掘_第6张图片\"
\"数据分析/数据挖掘_第7张图片\"
\"数据分析/数据挖掘_第8张图片\"
\"在这里插入图片描述\"
\"数据分析/数据挖掘_第9张图片\"
\"数据分析/数据挖掘_第10张图片\"
\"数据分析/数据挖掘_第11张图片\"

中文版如下:

\"数据分析/数据挖掘_第12张图片\"

二级缩进的前面是tab键+中横线

\"数据分析/数据挖掘_第13张图片\"
\"数据分析/数据挖掘_第14张图片\"

Jupyter Lab的介绍:

pip install jupyterlab
# 输入命令
jupyter lab

Matplotlib

学习目标

\"数据分析/数据挖掘_第15张图片\"

什么是Matplotlib

\"数据分析/数据挖掘_第16张图片\"
添加链接描述

为什么要学习Matplotlib:

\"数据分析/数据挖掘_第17张图片\"

其他的一些绘图库:

https://echarts.apache.org/zh/index.html
https://d3js.org/

提示:由于数据知识给我们自己看进行分析的,所以,一些酷炫的效果,需要写更多的代码,为了节省时间,所以,机器学习和深度学习中一般是使用matplotlib

总结:

\"数据分析/数据挖掘_第18张图片\"

快速上手Matplotlib

\"在这里插入图片描述\"

import matplotlib.pyplot as plt
%matplotlib inline
# %matplotlib inline是jupyter notebook里的命令, 意思是将那些用matplotlib绘制的图显示在页面里而不是弹出一个窗口。
# 1、创建画布(容器层)
plt.figure()
# 2、绘制折线图(图像层)
plt.plot([1,0,9],[4,5,6])
# 3、显示图像
plt.show()

\"数据分析/数据挖掘_第19张图片\"

完善折线图(画布层)

  • 为了更好的理解所有基础绘图功能,我们通过天气温度变化的绘图来融合所有的基础API使用。
demo:展现上海一周的天气

\"数据分析/数据挖掘_第20张图片\"

设置画布属性(设置画布大小):

\"数据分析/数据挖掘_第21张图片\"
\"数据分析/数据挖掘_第22张图片\"

图片保存:

\"在这里插入图片描述\"
\"数据分析/数据挖掘_第23张图片\"
\"数据分析/数据挖掘_第24张图片\"

修改x、y轴刻度:

\"数据分析/数据挖掘_第25张图片\"

  • random.uniform(x, y) 方法将随机生成一个实数,它在 [x,y] 范围内。
    • x – 随机数的最小值,包含该值。
    • y – 随机数的最大值,不包含该值。
    • 返回一个浮点数。
      \"数据分析/数据挖掘_第26张图片\"
      \"数据分析/数据挖掘_第27张图片\"
      \"数据分析/数据挖掘_第28张图片\"
api如下:

\"数据分析/数据挖掘_第29张图片\"
\"数据分析/数据挖掘_第30张图片\"

具体演示如下:

\"数据分析/数据挖掘_第31张图片\"

我们发现y轴的刻度太密了,想要稀疏一下

\"数据分析/数据挖掘_第32张图片\"

也可以下面这样:

\"数据分析/数据挖掘_第33张图片\"
\"数据分析/数据挖掘_第34张图片\"
\"数据分析/数据挖掘_第35张图片\"

在x轴刻度上想要显示中文:

\"数据分析/数据挖掘_第36张图片\"
\"数据分析/数据挖掘_第37张图片\"

注意:x轴的刻度说明数量需要与x轴的数据数量一致。

中文问题解决:

\"在这里插入图片描述\"
\"数据分析/数据挖掘_第38张图片\"
\"数据分析/数据挖掘_第39张图片\"
\"数据分析/数据挖掘_第40张图片\"
\"数据分析/数据挖掘_第41张图片\"
\"数据分析/数据挖掘_第42张图片\"
\"数据分析/数据挖掘_第43张图片\"
\"数据分析/数据挖掘_第44张图片\"
\"数据分析/数据挖掘_第45张图片\"
\"数据分析/数据挖掘_第46张图片\"

import matplotlib.pyplot as plt
%matplotlib inline

plt.rcParams[\'font.sans-serif\'] = [\'Simhei\']  # 显示中文
plt.rcParams[\'axes.unicode_minus\'] = False    # 显示负号

\"数据分析/数据挖掘_第47张图片\"
\"数据分析/数据挖掘_第48张图片\"

添加网格显示:

\"数据分析/数据挖掘_第49张图片\"
\"数据分析/数据挖掘_第50张图片\"
\"数据分析/数据挖掘_第51张图片\"

第一个参数不写也可以,因为默认就是显示网格:

\"数据分析/数据挖掘_第52张图片\"

在jupyter notebook中查看源码(文档说明)

\"数据分析/数据挖掘_第53张图片\"

或是:

\"数据分析/数据挖掘_第54张图片\"
\"数据分析/数据挖掘_第55张图片\"
\"数据分析/数据挖掘_第56张图片\"
\"数据分析/数据挖掘_第57张图片\"
\"数据分析/数据挖掘_第58张图片\"
\"在这里插入图片描述\"

具体演示如下:

\"数据分析/数据挖掘_第59张图片\"
\"数据分析/数据挖掘_第60张图片\"
\"数据分析/数据挖掘_第61张图片\"
\"数据分析/数据挖掘_第62张图片\"
\"数据分析/数据挖掘_第63张图片\"
\"数据分析/数据挖掘_第64张图片\"
\"数据分析/数据挖掘_第65张图片\"

显示图例

\"在这里插入图片描述\"
\"数据分析/数据挖掘_第66张图片\"

调整图例的位置:

\"在这里插入图片描述\"
\"数据分析/数据挖掘_第67张图片\"
\"在这里插入图片描述\"
\"数据分析/数据挖掘_第68张图片\"

上面是面向过程的画图方法,下面是面向对象的画图方法

面向对象的画图方法

\"数据分析/数据挖掘_第69张图片\"
\"数据分析/数据挖掘_第70张图片\"
\"在这里插入图片描述\"
\"在这里插入图片描述\"
\"数据分析/数据挖掘_第71张图片\"

北京和上海的天气图显示在同一个图的不同坐标系当中

  • 提示:下面的nrows和ncols表示将画布分为了一行两列的区域,然后就可以在不同的区域中显示不同的图。
  • 提示:plt.subplots()它的返回值有两个,figure表示图对象,axes表示可以设置各种属性的方法,比如设置标题…
    \"数据分析/数据挖掘_第72张图片\"
    \"数据分析/数据挖掘_第73张图片\"
    \"数据分析/数据挖掘_第74张图片\"
    \"数据分析/数据挖掘_第75张图片\"
    https://matplotlib.org/api/axes_api.html#ticks-and-tick-labels
    \"数据分析/数据挖掘_第76张图片\"
    \"数据分析/数据挖掘_第77张图片\"
    \"数据分析/数据挖掘_第78张图片\"
    \"数据分析/数据挖掘_第79张图片\"

下面是数学的正弦函数图

\"数据分析/数据挖掘_第80张图片\"
\"数据分析/数据挖掘_第81张图片\"

  • numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
  • 产生从start到stop的等差数列,num为元素个数,默认50个,多用于模型训练。
    \"数据分析/数据挖掘_第82张图片\"
    \"数据分析/数据挖掘_第83张图片\"
    \"数据分析/数据挖掘_第84张图片\"
    \"数据分析/数据挖掘_第85张图片\"
    \"数据分析/数据挖掘_第86张图片\"
    \"数据分析/数据挖掘_第87张图片\"
    \"数据分析/数据挖掘_第88张图片\"
    \"数据分析/数据挖掘_第89张图片\"
    \"数据分析/数据挖掘_第90张图片\"
    \"数据分析/数据挖掘_第91张图片\"

\"在这里插入图片描述\"

常见图形种类以及意义:

\"数据分析/数据挖掘_第92张图片\"
\"数据分析/数据挖掘_第93张图片\"
\"数据分析/数据挖掘_第94张图片\"
\"数据分析/数据挖掘_第95张图片\"
\"数据分析/数据挖掘_第96张图片\"
\"数据分析/数据挖掘_第97张图片\"
\"数据分析/数据挖掘_第98张图片\"
\"数据分析/数据挖掘_第99张图片\"
\"数据分析/数据挖掘_第100张图片\"
散点图的具体演示:探究房屋面积和房屋价格的关系。
房屋面积数据:
x = [225.98, 247.07, 253.14, 457.85, 241.58, 301.01, 20.67, 288.64,
163.56, 120.06, 207.83, 342.75, 147.9 , 53.06, 224.72, 29.51,
21.61, 483.21, 245.25, 399.25, 343.35]

房屋价格数据:
y = [196.63, 203.88, 210.75, 372.74, 202.41, 247.61, 24.9 , 239.34,
140.32, 104.15, 176.84, 288.23, 128.79, 49.64, 191.74, 33.1 ,
30.74, 400.02, 205.35, 330.64, 283.45]

import matplotlib.pyplot as plt
%matplotlib inline

plt.rcParams[‘font.sans-serif’] = [‘Simhei’] # 显示中文
plt.rcParams[‘axes.unicode_minus’] = False # 显示负号
\"数据分析/数据挖掘_第101张图片\"
\"数据分析/数据挖掘_第102张图片\"
散点图的应用场景:探究不同变量之间的内在关系。

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号