失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Python机器学习及分析工具

Python机器学习及分析工具

时间:2021-02-28 13:15:36

相关推荐

Python机器学习及分析工具

Python机器学习及分析工具

1.矩阵操作函数库(NumPy)

NumPy函数库是Python开发环境的一个独立模块,是Python的一种开源的数值计算扩展工具。这种工具可用来存储和处理大型多维数据矩阵,比Python自身的列表结构高效的多。

安装命令

pip install numpy

导入NumPy库的命令如下

from numpy inport *

random.rand(4,4) #随机生成一个4*4的矩阵

NumPy的基本使用

1.函数的导入

import numpy as np

2.数组的创建

a=np.array([1,2,3,4])

b=np.array([5,6,7,8])

c=np.array([[1,2,3,4],[5,6,7,8],[7,8,9,10]])

3.数组的大小可以通过shape属性获得

a.shape #(4,),表示为四行一列

c.shape #(3,4),表示这个数组是三行四列

c.shape=4,3

结果为

array([[1,2,3],

[4,5,6],

[7,8,7],

[8,9,10]])

4.当某个轴的元素为-1时,将根据数组元素的个数自动计算此轴的长度

c.shape=2,-1 #自动生成两行数据,每一行数据个数均分

5.d=a.reshape((2,2)) #创建了一个新数组,a,d共享内存区域,改变任意一个,两个数据都会变化

6. a.dtype #获取数组的元素类型

可以通过dtype参数在创建时指定元素类型

e=np.array([[1,2,3],[4,5,6],[7,8,9]],dtype=np,float)

7.f=np.arrange(0,1,0.1) #指定开始值,终值,步长来创建一维数组

2.科学计算的核心包SciPy

安装

在windows上不能直接通过pip安装SciPy。

需要登录到Python扩展包下载网站下载相应的安装文件

根据用户计算机的配置下载不同的文件。

64位处理器,下载scipy-0.19-cp36-cp36m-win_amd64.whl文件

将其存放在Python安装路径下的Scripts文件夹中,在命令窗口安装

安装命令

pin install scipy-0.19-cp36-cp36m-win_amd64.whl

测试

from scipy.optimise import fsolve

测试会出现错误,原因是SciPy依赖NumPy和MKL

解决措施

首先,将numpy和scipy都卸载

pip uninstall numpy

pip uninstall scipy

然后在扩展包下载网站上先下载NumPy,在下载SciPy即可

# -*- coding: utf-8 -*# 最小二乘法# 使用最小二乘法进行直线拟合import numpy as npfrom scipy.optimize import leastsq# 已知的训练数据如下Xi = np.array([8.19,2.72,6.39,8.71,4.7,2.66,3.78])Yi = np.array([7.01,2.78,6.47,6.71,4.1,4.23,4.05])# 然后分别定义要拟合的函数形式和误差def func(p,x):k,b=preturn k*x+bdef error(p,x,y):return func(p,x)-y# 随机给出初始值p0=[100,2]# 使用scipy的leastsq函数估计参数Para=leastsq(error,p0,args=(Xi,Yi))k,b=Para[0]print("k=",k,'\n',"b=",b)# 使用图形显示import matplotlib.pyplot as pltplt.figure(figsize=(8,6))plt.scatter(Xi,Yi,color="red",label="Sample Point",linewidth=3)x=np.linspace(0,10,1000)y=k*x+bplt.plot(x,y,color="orange",label="Fitting Line",linewidth=2)plt.legend()plt.show()#运行之后可看图

3.matplotlib

基本使用

时python的一个绘图库,最常用的可视化工具之一

安装

pip install matplotlib

基本使用

matplotlib的pyplot子库提供了和Matlab类似的绘图API,方便用户快速绘制2D表

import matplotlib.pyplot as plt

help(plt.plot)

以上代码可查看帮助文档

4.数据分析包Pandas

名称来自面板数据(Panel Data),和Python数据分析(Data Analysis)

引入了大量库和一些标准的数据模型,提供了高效的操作大型数据集所需的工具。

也提供了大量可以快速便捷的处理数据的函数和方法。

安装命令

pip install pandas

测试库是否可以正常使用

基本使用方法

在代码中使用Pandas需要使用下面的的代码装入函数库

from pandas import Series,DataFrame

import pandas as pd

5.Scikit-learn机器学习函数库

sklearn的主要功能包括一下6个部分

分类是指识别给定对象的所属类别,属于监督学习的范畴。

目前已实现的算法有支持向量机、K-近邻、逻辑回归、随机森林、决策树以及多层感知器神经网络

回归是指预测与给定对象相关联的连续值属性

聚类是指自动识别具有相似属性的给定对象,并将其分组为集合,属于无监督学习

数据降维是指使用主成分分析、非负矩阵分解或特征选择等将为技术来减少要考虑的随机变量的个数

模型选择是指对于给定参数和模型的比较、验证和选择,其主要目的是通过参数调整来提升精确度

数据预处理是指数据的特征提取和归一化,是机器学习过程中的第一个也是最重要的一个环节

调用数据集方法

# -*- coding: utf-8 -*from sklearn.datasets import load_iris # 导入鸢尾花数据及irisiris = load_iris()print(iris.data )print(iris.target) # 输出真实标签print(len(iris.target)) # 150个样本,每个样本4个特征print(iris.data.shape)print(iris.target_names) # 输出数据标签的名字from sklearn.datasets import load_bostonboston = load_boston()print(boston.data)

使用train_test_split对数据集进行划分

Scikit-learn库对数据集划分需要使用sklearn,model_selection函数,该函数的train_test_split是交叉验证中常用的函数

功能是从样本中随机按比例选取train_data和test_data

6.统计建模工具StatsModels

是SciPy函数的补充

包括的特性包括一般线性模型,离散选择模型,时间序列分析,一系列描述统计学及参数和非参数检验等

7深度学习矿建TensorFlow

第二代人工智能学习系统

支持CNN,RNN和LSTM算法

可以在很多地方应用,如语音识别,自然语言理解、计算机视觉、广告等

网络爬虫

网络爬虫是一种按照一定的规则,自动的抓取互联网上网页中相应信息的程序或脚本,然后把抓取的信息存储到自己的计算机上。

简单来说就是抓取目标网站内容的工具,一般是根据定义的行为自动进行抓取,更智能的爬虫会自动分析目标网站结构,类似于搜索引擎爬虫

从功能上来讲,网络爬虫一般分为数据采集、处理、储存3个部分

网络爬虫系统框架主要有控制器、解析器、资源库三部分组成

控制器:

主要负责根据系统传过来的URL链接,分配线程,然后启动线程调用爬虫抓取网页的过程

解析器:

负责网络爬虫的主要部分,其负责的工作主要有下载网页的功能、对网页的文本进行处理(如过滤功能、将一些js脚本标签、CSS代码内容、空格字符、HTML标签等内容处理掉),抽取特殊HTML标签、分析数据

资源库:

主要是用来存储网页中下载的数据记录的容器,并提出生成索引的目标源

网页抓取策略

待抓取URL队列中的URL以什么样的顺序排列

宽度优先策略:

在抓取过程中,在完成当前层次的搜索后,才进行下一层次的搜索。

缺点:随着抓取网页的增多,大量的无关网页被下载并过滤,算法效率低

深度优先策略:

是指从起始网页开始,选择一个URL进入,分析这个网页中的URL,一个链接一个链接的抓取下去,直到处理完一条线路之后在处理下一条URL中的路线

最佳优先策略:

按照一定的网页分析算法,预测候选URL与目标网页的相似度,或者与主题的相关性,并选取评价最好的一个或几个URL进行抓取

反向链接数策略:

是指一个网页被其他网页链接指向的数量,反向链接表示的是一个网页的内容受到其他人推荐的程度

Partial PageRank 策略:

借鉴了PageRank算法的思想,对于已经下载的网页,连同待抓取URL队列中的URL,形成网页集合,计算每个页面的PageRank值,计算完之后,将待抓取URL队列中的URL按照PageRank值的大小排列,并按照该顺序抓取页面

网页抓取的方法

分布式爬虫

Java爬虫

非Java爬虫

如果觉得《Python机器学习及分析工具》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。