机器学习——数据科学包(四)

mac2025-11-15  4

文章目录

机器学习——数据科学包(四)一、环境搭建(一)背景知识(二)操作系统(三)Anaconda(四)pycharm 二、Numpy简介(一)Numpy什么(二)ndarray(三)常用函数(1)创建numpy的方法a、具体操作:将python的list对象转换为numpy的ndarray对象b、通过numpy的内置函数直接生成c、从文件读取数据 (2)矩阵加减乘法(3)索引和切片(4)常用函数 三、散点图(一)概念(二)实践(1)举例:身高和体重的散点图(2)、正相关(3)负相关(4)不相关(5)股票价格涨幅 (三)外观调整![在这里插入图片描述](https://img-blog.csdnimg.cn/20191101214842982.png) 四、折线图(一)概念(二)实践(1)举例(2)参数 五、条形图垂直条形图水平条形图:组合图层叠图 六、直方图用条形图的高低表示频率大小用颜色的深浅表示频率的大小(用来绘制双变量的直方图) 七、饼状图八、箱型图:主要用于显示数据的分散情况九、颜色和样式(一)颜色(二)点,线的样式(1)点(2)线(3)样式字符串 十、面向对象 VS Matlab Style(一)三种方式简介 十一、子图—subplot十二、多图—figure十三、网格(一)plt进行交互式绘图(二)面向对象的方式:没有交互式效果,不能进行改变 十四、图例_legend(一)plt交互式方式(二)面向对象方式 十五、坐标轴范围的调整十六、坐标轴刻度十七、添加新坐标轴(一)pylot方式(二)交互式(1)共用x轴(2)共用y轴

机器学习——数据科学包(四)

一、环境搭建

(一)背景知识

(二)操作系统

(三)Anaconda

(四)pycharm

是一个开发环境,相当于编译器的功能。 应用实例: 创建文件

二、Numpy简介

(一)Numpy什么

(二)ndarray

(三)常用函数

(1)创建numpy的方法

a、具体操作:将python的list对象转换为numpy的ndarray对象

b、通过numpy的内置函数直接生成
import numpy as np x = np.arange(11) x Out[14]: array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
c、从文件读取数据

loadtxt(‘文件名’,数据空格方式,跳过第几行(从1开始),用哪几列(从0开始),unpack) 通过shape查看矩阵大小

把三列分开放在三个变量里

(2)矩阵加减乘法

(3)索引和切片

(4)常用函数

min max median mean variance sort 1、np.func(x)用此形式对数组排序,会生成一个新的数组,x本身不会发生变化 2、x.func() x本身会发生变化,且并不会产生一个新的序列 y未生成新的数据

三、散点图

(一)概念

(二)实践

(1)举例:身高和体重的散点图

(2)、正相关

(3)负相关

(4)不相关

(5)股票价格涨幅

取得每天的开盘价和收盘价,然后得出每天的价格变化幅度,画出前一天和后一天涨幅关系的散点图。

(三)外观调整

注:可以改变点的面积,颜色,透明度

四、折线图

(一)概念

(二)实践

(1)举例

(2)参数

用日期数据作为x的输入,导入开盘价和收盘价

import numpy as np import matplotlib.pyplot as plt import matplotlib.dates as mdates # x=np.linspace(-10,10,100) # y=x**2 # plt.plot(x,y) # plt.show() date, open, close= np.loadtxt('C:/Users/forever/Desktop/000001.csv', delimiter=',', converters={0:mdates.bytespdate2num('%m/%d/%Y')}, skiprows=1, usecols=(0, 1, 4),unpack=True) #plt.plot_date(date, open,'-') 常用线性 plt.plot_date(date, open,linestyle = '--', color = 'green', marker = '<')#设置颜色形状和点的形状 plt.plot_date(date, close,linestyle = '-', color = 'red', marker = '<')

五、条形图

垂直条形图

import numpy as np import matplotlib.pyplot as plt N=5 y=[20,10,30,25,15] index = np.arange(N) p1 = plt.bar(index,height=y,color='red',width=0.5) plt.show()

水平条形图:

import numpy as np import matplotlib.pyplot as plt N=5 y=[20,10,30,25,15] index = np.arange(N) p1 = plt.bar(0,bottom=index+0.25,width=y,height=0.5,color='red',orientation='horizontal') plt.show()

组合图

层叠图

六、直方图

直方图通常用来显示连续性的数值型数据,用连续的方式分组,并且是自定义的 条形图是用来展示不同类别的数据,且通常是不连续且不能自定义的。

用条形图的高低表示频率大小

import numpy as np import matplotlib.pyplot as plt mu = 100 # mean of distribution 均值 sigma = 20 # standard deviation of distribution 标准差 x = mu + sigma * np.random.randn(2000) #随机函数生成2000个数据的数组 #plt.hist(x, bins=10,color='red',normed=True) #normed表示是否要对数据进行标准化 plt.hist(x, bins=50,color='green',normed=False) plt.show()

用颜色的深浅表示频率的大小(用来绘制双变量的直方图)

import numpy as np import matplotlib.pyplot as plt x = np.random.randn(1000)+2 #生成1000个随机变量,其中心在2 y = np.random.randn(1000)+3 #生成1000个随机变量,其中心在3 plt.hist2d(x, y, bins=40) plt.show()

七、饼状图

import matplotlib.pyplot as plt from matplotlib.gridspec import GridSpec # Some data labels = 'A', 'B', 'C', 'D' fracs = [15, 30, 45, 10] explode = (0, 0.05, 0, 0)# 表示每一部分离圆中心的距离,用来突出显示某一块 # Make square figures and axes plt.axes(aspect=1) ##使得画出正圆 #explode = (0, 0.05, 0, 0) #plt.pie(fracs, labels=labels, autopct='%1.1f%%', shadow=True) plt.pie(fracs, explode=explode, labels=labels, autopct='%.0f%%', shadow=True) #autopct将每一部分占的比例用格式化字符串显示出来, # shadow给每一块饼状图加上阴影,是图形更有立体感 plt.show()

八、箱型图:主要用于显示数据的分散情况

import numpy as np import matplotlib.pyplot as plt np.random.seed(100) data = np.random.normal(size=1000, loc=0.0, scale=1.0) #生成大小为1000的数组 plt.boxplot(data,sym='o',whis=1.5)#whis代表虚线长度,默认值是1.5 plt.show()

在一张图上把数据的一些统计量(上边缘,上四分位数,中位数,下四分位数,下边缘,异常值)直观的表示出来。 同时画几组数据的箱型图:

import numpy as np import matplotlib.pyplot as plt np.random.seed(100) data = np.random.normal(size=(1000,4), loc=0.0, scale=1.0)#创建4*1000的数组,即4组数据 labels = ['A','B','C','D'] plt.boxplot(data, labels=labels) plt.show()

九、颜色和样式

(一)颜色

(二)点,线的样式

(1)点

显示指定marker时会默认画出线段

(2)线

(3)样式字符串

十、面向对象 VS Matlab Style

(一)三种方式简介

# #pyplot # import matplotlib.pyplot as plt # import numpy as np # x=np.arange(0,10,1) # y=np.random.randn(len(x)) # plt.plot(x,y) # plt.title('pyplot') # plt.show() # #pylab # from pylab import * #通过pylab直接导出所有的函数,后面可以不加np. plt.(不推荐) # x=arange(0,10,1) # y=randn(len(x)) # plot(x,y) # title('random numbers') # show() #改成面向对象的方式 import matplotlib.pyplot as plt import numpy as np x=np.arange(0,10,1) y=np.random.randn(len(x)) fig=plt.figure() #生成画布对象 ax=fig.add_subplot(111) #生成坐标轴对象 l,=plt.plot(x,y) t=ax.set_title('object oriented') plt.show()

十一、子图—subplot

在一张图上画多个子图。

import matplotlib.pyplot as plt import numpy as np x=np.arange(1,100) plt.subplot(221) plt.plot(x,x) plt.subplot(222) plt.plot(x,-x) plt.subplot(223) plt.plot(x,x*x) plt.subplot(224) plt.plot(x,np.log(x)) plt.show()

交互式画图

十二、多图—figure

运用多个figure生成子图

import matplotlib.pyplot as plt fig1=plt.figure() ax1=fig1.add_subplot(111) ax1.plot([1,2,3],[3,2,1]) fig2=plt.figure() ax2=fig2.add_subplot(111) ax2.plot([1,2,3],[1,2,3]) plt.show()

十三、网格

(一)plt进行交互式绘图

(二)面向对象的方式:没有交互式效果,不能进行改变

十四、图例_legend

(一)plt交互式方式

(二)面向对象方式

十五、坐标轴范围的调整

十六、坐标轴刻度

坐标是日期的调整

十七、添加新坐标轴

(一)pylot方式

(二)交互式

(1)共用x轴

(2)共用y轴

最新回复(0)