Python深度学习:Python数据处理及可视化(读书笔记)

老铁们,我们Python的深度学习开始了,第一篇正式的文章就是数据处理和可视化,我们开始吧!

数据处理与可视化

一、NumPy的初步使用

表格是数据的一般表示形式,但对于机器来说是不可理解的,也就是无法辨识的数据,所以我们需要对表格的形式进行调整。
常用的机器学习表示形式为数据矩阵。

Python深度学习:Python数据处理及可视化(读书笔记)
我们观察这个表格,发现,矩阵中的属性有两种,一种是数值型,一种是布尔型。那么我们现在就建立模型描述这个表格:

import numpy as np
data = np.mat([[1,200,105,3,False],[2,165,80,2,False],[3,184.5,120,2,False],
              [4,116,70.8,1,False],[5,270,150,4,True]])
row = 0
for line in data:
    row += 1
print( row )
print(data.size)
print(data)

这里第一行代码的意思就是引入NumPy将其重命名为np。第二行我们使用NumPy中的mat()方法建立一个数据矩阵,row是引入的计算行数的变量。
这里的size意思就是5*5的一个表格,直接打印data就可以看到数据了:

Python深度学习:Python数据处理及可视化(读书笔记)

二、Matplotlib包的使用–图形化数据处理

我们还是看最上面的表格,第二列是房价的差异,我们想直观的看出差别是不容易的(因为只有数字),所以我们希望能够把它画出来(研究数值差异和异常的方法就是绘制数据的分布程度):

import numpy as np
import scipy.stats as stats
import pylab
data =  np.mat([[1,200,105,3,False],[2,165,80,2,False],[3,184.5,120,2,False],
              [4,116,70.8,1,False],[5,270,150,4,True]])
coll = []
for row in data:
    coll.append(row[0,1])

stats.probplot(coll,plot=pylab)
pylab.show()

这个代码的结果就是生成一个图:

Python深度学习:Python数据处理及可视化(读书笔记)
这样我们就能清晰的看出来差异了。

一个坐标图的要求,就是通过不同的行和列表现出数据的具体值。
当然,坐标图我们一样可以展示:

Python深度学习:Python数据处理及可视化(读书笔记)

三、深度学习理论方法–相似度计算(可以跳过)

相似度的计算方法有很多,我们选用最常用的两种,即欧几里得相似度和余弦相似度计算。

1、基于欧几里得距离的相似度计算

欧几里得距离,用来表示三维空间中两个点的真实距离。公式我们其实都知道,只是名字听的少:

Python深度学习:Python数据处理及可视化(读书笔记)
那么我们来看一看它的实际应用:
这个表格是3个用户对物品的打分:
Python深度学习:Python数据处理及可视化(读书笔记)
d12表示用户1和用户2的相似度,那么就有:
Python深度学习:Python数据处理及可视化(读书笔记)
同理,d13:
Python深度学习:Python数据处理及可视化(读书笔记)
可见,用户2更加相似于用户1(距离越小,相似度越大)。

; 2、基于余弦角度的相似度计算

余弦角度的计算出发点是夹角的不同。

Python深度学习:Python数据处理及可视化(读书笔记)
Python深度学习:Python数据处理及可视化(读书笔记)
可见相对于用户3,用户2与用户1更为相似(两个目标越相似,其线段形成的夹角越小)

四、数据统计的可视化展示(以我们亳州市降水为例)

数据的四分位

四分位数,是统计学中分位数的一种,也就是把数据由小到大排列,之后分成四等份,处于三个分割点位置的数据,就是四分位数。
第一四分位数(Q1),也称 下四分位数
第二四分位数(Q1),也称 中位数
第三四分位数(Q1),也称 下四分位数

第三四分位数与第一四分位数的差距又称为四分差距(IQR)。

若n为项数,则:
Q1的位置 = (n+1)0.25
Q2的位置 = (n+1)
0.50
Q3的位置 = (n+1)*0.75

四分位示例:
关于这个rain.csv,有需要的可以私我要文件,我使用的是亳州市2010-2019年的月份降水情况。

from pylab import *
import pandas as pd
import matplotlib.pyplot as plot
filepath = ("C:\\Users\\AWAITXM\\Desktop\\rain.csv")

dataFile = pd.read_csv(filepath)
summary = dataFile.describe()
print(summary)

array = dataFile.iloc[:,:].values
boxplot(array)
plot.xlabel("year")
plot.ylabel("rain")
show()

以下是plot运行结果:

Python深度学习:Python数据处理及可视化(读书笔记)
这个是pandas的运行
Python深度学习:Python数据处理及可视化(读书笔记)
这里就可以很清晰的看出来数据的波动范围。
可以看出,不同月份的降水量有很大差距,8月最多,1-4月和10-12月最少。

那么每月的降水增减程度如何比较?

from pylab import *
import pandas as pd
import matplotlib.pyplot as plot
filepath = ("C:\\Users\\AWAITXM\\Desktop\\rain.csv")

dataFile = pd.read_csv(filepath)
summary = dataFile.describe()
minRings = -1
maxRings = 99
nrows = 11
for i in range(nrows):
    dataRow = dataFile.iloc[i,1:13]
    labelColor = ( (dataFile.iloc[i,12] - minRings ) / (maxRings - minRings) )
    dataRow.plot(color = plot.cm.RdYlBu(labelColor),alpha = 0.5)
plot.xlabel("Attribute")
plot.ylabel(("Score"))
show()

结果如图:

Python深度学习:Python数据处理及可视化(读书笔记)
可以看出来降水月份并不规律的上涨或下跌。

那么每月降水是否相关?

from pylab import *
import pandas as pd
import matplotlib.pyplot as plot
filepath = ("C:\\Users\\AWAITXM\\Desktop\\rain.csv")

dataFile = pd.read_csv(filepath)
summary = dataFile.describe()
corMat = pd.DataFrame(dataFile.iloc[1:20,1:20].corr())
plot.pcolor(corMat)
plot.show()

结果如图:

Python深度学习:Python数据处理及可视化(读书笔记)
可以看出,颜色分布十分均匀,表示没有多大的相关性,因此可以认为每月的降水是独立行为。

今天就记录到这里了,我们下次再见!希望本文章对你也有所帮助。

Original: https://blog.csdn.net/awaitxm/article/details/122657531
Author: 芝士工具猿
Title: Python深度学习:Python数据处理及可视化(读书笔记)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/757809/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • before-after-hook钩子函数

    before-after-hook 最近看别人的代码,接触到一个插件,before-after-hook,百度搜一圈也没有看到什么地方有教程,看这个字面意思是一个hook,和axi…

    Python 2023年10月12日
    040
  • 一切皆对象和深浅拷贝

    1.元类 元类的来源是:python中一切皆对象。 1.1 什么是元类 元类就是用来实例化产生类的类 关系:元类—实例化—类(自定义的类)—实例…

    Python 2023年11月1日
    030
  • p6-day01 作业

    看图完成如下作业 创建workers应用,注册并定义模型类,参考图中的三张表;最后完成迁移, 添加三条以上测试数据。 使用serializers.Serializer定义三个模型类…

    Python 2023年8月4日
    074
  • R语言_格兰因果检验

    当前文件路径 getwd() 设置当前路径,注意转译 setwd(“C://Users//Administrator//Desktop//R_test”) …

    Python 2023年6月10日
    068
  • 腾讯云部署novel ai (stable-diffusion-webui)

    其实前几天就已经部署好了,图已经产出一斤了x凭借记忆写点记录。 因为纯粹是在凭着记忆写,所以肯定会有遗漏的步骤。 感谢腾讯云的打折,让只拎了个轻薄本到学校的自己还可以继续搞点有意思…

    Python 2023年9月28日
    039
  • Unity-粒子特效

    粒子特效 创建粒子系统 * 模块 创建粒子系统 方法一:创建一个空物体(游戏物体),给物体加上Particle System组件。方法二:在Hierarchy视图右击 选择 Eff…

    Python 2023年9月30日
    036
  • 关于打包pygame遇到的相关问题

    目录 一、更新pip和pygame 二、安装pyinstaller 三、用pyinstaller打包游戏 四、未解决的问题(使用了cxfreeze方法打包程序) ①方法一 ②方法二…

    Python 2023年9月21日
    048
  • Anaconda新手使用教程

    Anaconda使用教程一(新手友好) 前言 一、python和包以及anaconda的概念关系 * 关于python与包 关于anaconda 二、Anaconda安装问题 * …

    Python 2023年8月2日
    061
  • pandas合并Dataframe或Series操作——merge()函数_1

    在数据操作时,经常会遇到合并数据集的情况,使用merge()函数可以将Dataframe或Series快速合并 pd.merge()的主要参数 merge合并dataframe(s…

    Python 2023年8月6日
    063
  • python工具箱系列(二)

    python工具箱系列(二) 原创 西安衍舆航天科技有限公司2022-09-01 10:26:43博主文章分类:python系列 ©著作权 文章标签 python ide 嵌套 文…

    Python 2023年5月24日
    081
  • Flask-sqlalchemy一对多,多对一,一对一,多对多

    这里以作者和文章来演示一对多的关系:一个作者可以有多篇文章,但是一篇文章只能有一个作者。 配置项 首先,配置下数据库 config.py username = ‘xxxx’ pas…

    Python 2023年8月14日
    040
  • 事务的ACID特性

    技术是为了解决问题而生的,通过事务我们可以解决以下问题: 多个操作不是一个整体操作,出现了部分执行成功的情况,导致数据的状态不一致问题(原子性) 一组操作只有部分完成,没有全部完成…

    Python 2023年10月23日
    048
  • 【Tensorflow学习二】神经网络优化方法学习率、激活函数、损失函数、正则化

    文章目录 预备知识 * tf.where [tf.random.RandomState.rand() 返回一个0,1)之间的随机数 np.vstack() 将数组按照垂直方向叠加 …

    Python 2023年8月23日
    078
  • 模型驱动设计的构造块(上)——DDD

    为了保证软件实践得简洁并且与模型保持一致,不管实际情况如何复杂,必须运用建模和设计的实践。 某些设计决策能够使模型和程序紧密结合在一起,互相促进对方的效用。这种结合要求我们注意每个…

    Python 2023年10月12日
    053
  • 单元测试Pytest的使用

    unittest:Setup>> setupclass , teardown >> teardownclass Pytest: setup, setup_c…

    Python 2023年9月14日
    033
  • 使用计算机视觉和深度学习创建现代 OCR 管道

    在这篇文章中,我们将带您了解我们如何为[【移动文档扫描仪】构建最先进的光学字符识别(OCR)管道的幕后故事。我们使用了计算机视觉和深度学习的进步,如双向长短期记忆(LSTM),连接…

    Python 2023年10月27日
    057
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球