- 博客(39)
- 收藏
- 关注
原创 数据预处理
对于许多数据预处理任务,我们希望知道关于数据的中心趋势和离中趋势特征,中心趋势度量包括均值(mean)、众数(mode)、中位数(median)和中列数(midrange),而离中心趋势度量包括四分位数(quartiles)、四分位数极差(interquariles range,IQR)和方差(variance)。
2023-10-07 18:02:12
301
原创 自动求梯度
Pytorch中是根据前向传播生成计算图的,如果最终生成的函数是标量,那么这是一般情况下的backward反向传播。如果y不是一个标量,MXNet将默认先对y中元素求和得到新的变量,再求该变量有关x的梯度。下面定义有关变量x的函数。我们需要调用record函数来要求MXNet记录与求梯度有关的计算。我们经常需要对函数求梯度(gredient),本文将介绍如何使用MXNet提供的autograd模块来对自动求梯度。为了求有关变量x的梯度,我们需要先调用attach_grad函数来申请存储梯度所需要的内存。
2023-10-01 18:20:46
202
原创 _模型评估
return r2#创建评分函数(评分器),并且定义分数越高代表模型越好#创建岭回归(Ridge Regression)对象使用scikit-learn的make_scorer函数,我们能很轻松地创建自定义指标函数。首先,定义一个函数,它接受两个参数——真实的目标向量和预测值,并返回一个分数。然后使用make_scorer创建一个评分器对象,并指定较高的分数代表模型性能较好或较差(使用greater_is_better参数)
2023-09-18 15:24:15
270
原创 使用特征选择进行降维
前文讨论了如何在尽可能不丢失特征原始信息的情况下,通过创建新特征矩阵的维度,这种方法被称为特征提取(feature extraction)。本文将学习另一种降维方法:特征选择(feature selection)特征选择会保留信息量较高的特征而丢失信息量较低的特征。特征选择的方法可分为三类:过滤器、包装器和嵌入式方法。过滤器方法根据特征的统计信息来选择最优特征。包装器方法通过不断试错,找出一个可以产生高质量预测值的的模型的特征子集。嵌入式方法则将选择最优特征子集作为机器学习算法训练过程的一部分。
2023-09-16 10:16:52
397
原创 利用特征提取进行特征降维
对于给定的一组特征,在保留信息量的同时减少特征的数量。主成分分析法是一种最流行的线性降维方法。它的目标是用方差(Variance)来衡量数据的差异性,并将差异性较大的高维数据投影到低维空间中进行表示。绝大多数情况下,我们希望获得两个主成分因子:分别是从数据差异性最大和次大的方向提取出来的,称为PC1(Principal Component 1) 和 PC2(Principal Component 2)。
2023-09-14 19:42:19
332
原创 处理数值型数据
在机器学习中,缩放是一个很常见的预处理任务。后面很多算法都假设所有的特征是在同一取值范围中的,最常见的范围是[0,1]或[-1,1]。用于缩放的方法有很多,其中最简单的一种被称为min-max缩放。min-max缩放利用特征的最小值和最大值,将所有特征都缩放到同一个范围中。scikit-learn的MinMaxScaler支持两种方式来缩放特征。第一种方式是使用fit计算特征的最小值和最大值,然后使用transform来缩放。第二种方式是使用fit_transform一次性执行上面所说两个操作。
2023-09-10 15:58:05
319
原创 数据整理_
使用head可以查看数据集的前几行(默认查看前5行),使用tail可以查看最后几行;使用shape可以查看DataFrame中包含多少行多少列;使用describe可以查看任何数值型的列的基本描述统计量。
2023-09-09 18:04:02
229
原创 _加载数据_
在make_regression和make_classification中,n_informative确定了用于生成目标向量的特征的数量。如果n_informative的值比总的特征数(n_features)小,则生成的数据集将包含多余的特征,这些特征可以通过特征选择技术识别出来。另外,make_classification包含了一个weights参数,可以利用它来生成不均衡的仿真数据集。
2023-09-08 20:41:05
172
原创 吴恩达机器学习第二课
小结一下使用神经网络时的步骤:网络结构:第一件要做的事是选择网络结构,即决定选择多少层以及决定每层分别有多少个单元。第一层的单元数即我们训练集的特征数量。最后一层的单元数是我们训练集的结果的类的数量。如果隐藏层数大于1,确保每个隐藏层的单元个数相同,通常情况下隐藏层单元的个数越多越好。我们真正要决定的是隐藏层的层数和每个中间层的单元数。训练神经网络:参数的随机初始化利用正向传播方法计算所有的编写计算代价函数的代码利用反向传播方法计算所有偏导数利用数值检验方法检验这些偏导数。
2023-09-03 16:27:50
127
原创 数据分析二
当数据量较大时,将数据所有信息输出到控制台中会显得过于冗杂,可通过查看部分数据信息,简要了解数据的特性。(1)查看数据前5行和尾部倒数5行数据,列名和索引信息,数据行列形状(2)查看各列数据描述性统计信息,如最小值、最大值、均值、标准差等(3)查看数据是否有缺失及每列数据的类型csv.info()缺失值处理对Pandas做数据时不可避免会因为一些原因出现缺失值NaN(Not a number),比如两个DataFrame对象进行运算时对于无法匹配的位置就会出现缺失值。
2023-09-02 20:26:52
188
2
原创 数据分析一
NumPy 最重要的一个特点是其 N 维数组对象 ndarray,它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。ndarray 内部由以下内容组成:一个指向数据(内存或内存映射文件中的一块数据)的指针。数据类型或 dtype,描述在数组中的固定大小值的格子。一个表示数组形状(shape)的元组,表示各维度大小的元组。一个跨度元组(stride),其中的整数指的是为了前进到当前维度下一个元素需要"跨过"的字节数。
2023-08-26 23:43:59
98
原创 吴恩达机器学习2022第一课
监督学习指的就是我们给学习算法一个数据集。这个数据集由“正确答案”组成。比如预测房价和预测是否是恶性肿瘤回归这个词的意思是,我们在试着推测出这一系列连续值属性。分类指的是,我们试着推测出离散的输出值:0或1良性或恶性,而事实上在分类问题中,输出可能不止两个值。
2023-08-26 23:02:33
156
原创 其他数据库对象篇
视图是一种虚拟表,本身是不具有数据的,占用很少的内存空间,它是 SQL 中的一个重要概念。, 视图赖以建立的这些表称为。视图的创建和删除只影响视图本身,不影响对应的基表。但是当对视图中的数据进行增加、删除和修改操作时,数据表中的数据会相应地发生变化,反之亦然。向视图提供数据内容的语句为 SELECT 语句, 可以将视图理解为在数据库中,视图不会保存数据,数据真正保存在数据表中。当对视图中的数据进行增加、删除和修改操作时,数据表中的数据会相应地发生变化;反之亦然。
2023-08-20 10:50:41
99
原创 SQL之DDL、DML、DCL使用篇
创建数据库方式2:判断数据库是否已经存在,不存在则创建数据库CREATE DATABASE IF NOT EXISTS 数据库名 CHARACTER SET 字符集;
2023-08-20 03:44:23
279
原创 使用XPath中
这里使用*代表匹配所有节点,也就是整个HTML文本中的所有节点都会被获取。返回形式是一个列表,每个元素是Element类型,其后跟了节点的名称。[0]代表去除其中第一个对象。
2023-07-09 20:34:52
109
原创 使用XPath上
这里列出了XPath的常用规则,示例如下:这就是一个XPath规则,它代表选择所有名称为title,同时属性lang的值为eng的节点。
2023-07-09 15:39:26
115
1
原创 抓取猫眼电影排行下
我们将提取的结果,这里直接写入到一个文本文件中。这里通过JSON库的dumps()方法实现字典的序列化,并指定ensure_ascii参数为False,这样可以保证输出结果是中文形式而不是Unicode编码。通过调用write_to_file()方法即可实现字典写入到文本文件的过程,此处的content参数就是一部电影的提取结果,是一个字典。
2023-07-02 22:54:25
146
1
原创 抓取猫眼电影排行上
首先抓取第一页的内容。我们实现了get_one_page()方法,并给它传入url参数。然后将抓取的页面结果返回,再通过main()方法调用。这样运行后,就可以成功获取首页的源代码了。然后就需要解析页面,提取出我们想要的信息。
2023-07-02 21:45:30
132
1
原创 正则表达式的其它用法
search()在匹配时会扫描整个字符串,然后返回第一个成功匹配的结果。也就是说,正则表达式可以是字符串的一部分,在匹配时,search()方法会依次扫描字符串,直到找到第一个符合规则的字符串,然后返回匹配内容,如果搜索完了还找不到,就返回None。因此,为了匹配方便,我们可以尽量使用search()方法。
2023-07-01 22:45:38
102
原创 正则表达式之match()
正则表达式是处理字符串的强大工具,有自己特定的语法结构,可以实现字符串的检索、替换、匹配验证。,输入待匹配的文本,然后选择常用的正则表达式就可以得出相应的匹配结果了。对于URL来说,可以用下面的正则表达式匹配:[a-zS-z]+://[^\s]*。用这个正则表达式去匹配一个字符串,如果中国字符串包含类似URL的文本,就会被提取出来。这个正则表达式看上去是乱糟糟的一团,其实不然。如a-z代表匹配任意小写字母,\s表示匹配任意的空白字符,*就代表匹配前面的字符可以任意多个。
2023-06-25 21:15:59
3045
原创 python爬虫基础(十四)高级用法下
通过这样的方式,我们可以将超时时间设置为1秒,如果1秒内没有响应,就会抛出异常。实际上,请求分为两个阶段,即连接和读取。上面设置的timeout将用作连接和读取这二者的timeout总和。
2023-06-25 19:10:58
627
原创 python爬虫基础(十三)高级用法中
当发送HTTP请求时,它会检查SSL证书,我们可以使用verify参数控制是否检查此证书。如果不加,默认是True,会自动验证。如果请求一个HTTPS站点,但是证书验证错误的页面时,就会提示错误SSLError。如果报了警告,建议我们给它指定证书。当然,上面的代码是演示,我们需要有crt和key文件,并且指定它们的路径。注意,本地私有证书的key必须是解密状态,加密状态的key是不支持的。
2023-06-24 23:06:15
562
1
原创 python爬虫基础(十二)高级用法 上
在前文中我们保存了一个文件favicon.ico,这次用它来模拟文件上传的过程。需要注意的是,favicon.ico需要和当前脚本在同一目录下。
2023-06-18 21:53:49
576
原创 python爬虫基础(十一)使用requests
urllib库中的urlopen()方法实际上是以GET方式请求网页,而requests中相应的方法就是get()方法。运行结果如下:它的返回类型是requests.models.Response,响应体的类型是字符串str,Cookies的类型、状态码、响应体的类型、内容以及Cookies。
2023-06-18 15:57:23
765
原创 pyhton爬虫基础(九)urllib中的解析链接
这里我们用urlparse()方法进行了一个URL的解析。运行结果如下:可以看到,返回结果是一个ParseResult类型的对象,它包含6个部分,分别是scheme、netloc、path、params、query和fragment。观察该实例的URL,可以发现,urlparse()方法将其拆分成了6个部分。://前面是scheme,代表协议:第一个/符号前面便是netloc,即域名,后面是path,即访问路径;分号;前面是params,代表参数;问号?
2023-06-11 23:05:04
1103
原创 python爬虫基础(八)urllib中的高级用法
这时CookieJar就需要换成MozillaCookieJar,它在生成文件时会用到,是CookieJar的子类,可用来处理Cookies和文件相关事件,比如读取和保存Cookies,可以将Cookies保存成Mozilla型浏览器的Cookies格式。先介绍urrllib.request模块里的BaseHandler类,它是其他Handler的父亲,它提供了最基本的方法,如default_open()、protocol_request等。接下来利用Opener的open()方法打开链接。
2023-06-10 23:03:50
527
原创 python爬虫基础基础(七)urllib中的Request
可以发现我们依然是用urlopen()方法来发送这个请求,只不过这次该方法的参数不再是URL,而是一个Request类型的对象。这里我们通过4个参数构造一个请求,其中url即请求URL,headers中指定了User-Agent和Host,参数data用urlopen()和bytes()方法转成字节流。另外,指定了请求方式为POST。第三个参数headers是一个字典,它就是请求头,我们可以在构造请求时通过headers参数直接构造,也可以通过调用请求实例的add_header()方法添加。
2023-06-05 22:57:07
1079
1
原创 pyhton爬虫基础(六)urllib中的urlopen
学习爬虫,最初的操作便是模拟浏览器向服务器发出请求。我们只需要关心请求的链接是什么,需要的参数是什么,以及如何设置可选的请求头就行了,不需要深入了解它是怎样传输和通信的。
2023-06-04 22:25:24
1155
1
原创 python爬虫基础(五)代理的基本原理
对于爬虫来说,由于爬虫的爬取速度过快,在爬取过程中可能遇到同一个IP访问过于频繁的问题,此时网站就会让我们输入验证码登录或直接封锁IP,所以我们就需要代理来防止发生。
2023-06-04 14:54:56
1068
1
原创 Pytyon爬虫基础(四)会话和Cookies
在浏览网站的过程,我们经常会遇到登录的情况。其中自动登录就涉及会话和Cookies的相关知识。
2023-06-01 21:37:52
156
1
原创 python爬虫基础(二)网页基础
网页可分为三个部分——HTML、CSS和JavaScript。如果把网页比作一个人的话,HTML相当于骨架,JavaScript相当于肌肉,CSS相当于皮肤,三者结合起来才能形成一个完善的网页。
2023-05-27 21:06:30
374
1
原创 Python入门 (一)
本文以温度转换问题为例,介绍程序设计的基本方法,并给出python语言的具体实现。下条代码表示华氏温度和摄氏温度的相互转化:TempStr = input("请输入带有符号的温度值: ")print("转换后的温度是{:.2f}C".format(C))print("转换后的温度是{:.2f}F".format(F))else:print("输入格式错误")
2023-04-26 19:32:59
662
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅