自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

原创 SQL 常用语句总结

SQL 常用语句总结(基于MySQL)基本用法SELECT a.column_name1, a.column_name2, … , b.column_name1, b.column_name2 …FROM table_name1 a(LEFT/RIGHT/OUTER/INNER(default)) JOIN table_name2 bON a.key = b.keyWHERE <some conditions>GROUP BY <some columns>HAVING

2021-11-28 07:12:48 242

原创 关于数理统计你需要知道的

参考:概率论与数理统计教程(第2版)茆诗松以下列出了数理统计中最最基本的知识点,供参考基本概念样本经验分布函数样本均值(sample mean)样本方差(sample variance)样本矩次序统计量三大抽样分布χ2\chi^2χ2分布FFF分布ttt分布点估计(point estimation)无偏性(unbiasedness)有效性(efficiency)相合性(consistency)矩估计(method of moments)极大似然估计(ma.

2021-08-17 19:20:06 1108

原创 关于概率论你需要知道的

Reference: All of Statistics A Concise Course in Statistical以下列出了概率论中最最基本的知识点,供参考概率的基本概念样本空间(sample space)元素(element)事件(events)互斥(disjoint)概率的公理化定义概率的连续性事件独立(independent events)的定义条件概率(conditional probability)的定义贝叶斯公式(Bayes’ .

2021-08-17 19:11:38 324

原创 吴恩达深度学习网课小结

Coursera上吴恩达的深度学习网课,很适合那些想了解和学习深度学习的人来入门。这个深度学习的专项网课共包含了五门课,包含了神经网络、卷积神经网络(CNN)、循环神经网络(RNN)、长短期记忆网络(LSTM)等等内容,覆盖面还是比较广的,不过讲的不是很深,很多东西都是点到为止,尤其是数学方面的推导和证明,基本都是一带而过,或者给出一种直观的思路。这个课程门槛不是很高,对数学的要求基本是学过微积分,线性代数,概率论和数理统计就可以了,对编程能力要求也比较低,只需要掌握python的基本语法和numpy库

2021-05-06 19:28:53 189

原创 用 Python 刷 Leetcode 小结

由于自己以后有去互联网公司当打工人996的想法,正好最近闲来无事,所以我花了二个月左右的时间,刷了200道Leetcode算法题,觉得还挺有意思,于是写篇文章来记录一下自己刷题的经历和心得,也希望能给读者有所启发。我是从1月份开始刷 Leetcode 题,真正每天持续地练习是这学期开学之后。在此之前,我在网上看过普林斯顿的算法课,这门课讲的比较深入,让我对算法有了大概的认识。之后又看过用 python 讲数据结构和算法的一个网站,这个讲的比较浅显易懂,适合初学者入门。建议最好在开始刷 Leetcod

2021-03-27 16:13:53 744

原创 python 爬虫实战七:用 selenium 爬取知乎2021fall的回答

作者计划 2021 fall 出国留学,偶然在知乎上看到这个问题(原问题网页):2021 fall你都申请了哪些学校的MS/PhD?录取结果如何?我出于好奇,爬取了这个问题下所有的回答,以便各位分析。我本人打算申请统计类相关的专业,于是写了一个简单的关键词搜索。找出所有回答里和统计沾边的回答,共197个(真卷,要失学)读者可以自行进行关键词搜索,或者自己写函数,分析每位答主的三维,本科院校,目标院校,录取结果等等。具体代码如下:爬取部分:# -*- coding: utf-8 -*-""

2021-01-18 17:00:14 676 2

原创 普林斯顿算法课作业 part II 的python实现(四)Boggle

Boggle问题思路代码结果总结问题原问题网页:Boggle问题大致描述如下:有一个 4×44\times44×4 的方格图,每一个格子上标有一个英文字母,现要从中寻找出英文单词。规则如下:该单词由一系列 相邻 的格子组成。这里的相邻指上下左右和对角该单词长度至少为3每一个格子只能用一次该单词必须在一个预先给定的字典集内然后按每一个单词的长度进行计分该问题要在给定一个单词集合一个字母网格的前提下,给出所有符合条件的单词,以及计算它们的分数之和。思路首先要存储字典集和字母网

2021-01-14 09:52:01 583

原创 普林斯顿算法课作业 part II 的python实现(三)Baseball Elimination

Baseball Elimination问题思路代码结果总结问题原问题网页:Baseball Elimination问题大致描述如下:有一个棒球锦标赛,赛到中途,几个球队积分情况如下:显然, Montreal 已无缘第一。因为就算它剩下的比赛全胜,也只有77+3=80 分,还是没有目前的第一Atlanta高(83分)。而这次的作业就是判断一支球队是否已经无缘第一。这个问题并没有上面这种情况这么简单显然。如下图:目前的最后一名 Detroit 最多可以获得 49+27=76分,比目前的第一Ne

2021-01-05 16:39:46 398 1

原创 普林斯顿算法课作业 part II 的python实现(二)Seam-carving

Seam-carving问题思路代码结果总结问题原问题网页:Seam-carving问题大致描述如下:接缝裁剪(Seam-carving)是一种图像处理的方法。它不是简单地将图片进行等比例缩放,而是在缩放的同时,尽可能地保留了原图片的最主要的特征。换句话说,它是将原图片中一些无关紧要的地方给丢弃了。而这次作业就是要实现这个功能。关于接缝裁剪(Seam-carving)的更多信息,可以参见 视频(需FQ)思路这是一个图像处理的问题,python里面有几个常用的图像处理的库,比如pillow、O

2021-01-03 14:59:10 1006 6

原创 数据科学(Data science)学习清单(持续更新)

数据科学一、数学篇二、Python篇三、编程篇四、大数据篇一、数学篇微积分线性代数概率论与数理统计离散数学最优化理论二、Python篇基础知识numpypandasmatplotlibsciki-learn三、编程篇数据结构算法数据库(SQL)爬虫机器学习自然语言处理四、大数据篇HadoopSpark...

2021-01-01 19:59:01 675 2

原创 普林斯顿算法课作业 part II 的python实现(一)wordnet

wordnet问题思路代码结果总结问题原问题网页:wordnet问题大致描述如下:有一个词网(Wordnet),即由很多个单词所构成的一个网络。某些单词之间存在有上下级的关系,比如说跑(run)是猛冲(dash)的上位词(hypernym)。某些单词是同义或者近义词(synset),比如说冲刺(sprint)和猛冲(dash)。需要用有向图(Digraph)的方式,来构建出单词之间的这种关系,并利用构建的有向图,来完成一个幼儿园小朋友玩的 找不同 游戏:给出一些词,找出不同于其他单词的词。比如

2020-12-30 20:11:00 260 4

原创 python 爬虫实战六:用 selenium 爬取豆瓣电影

今天帮朋友爬取豆瓣电影的数据,以便进行社交网络分析。首先打开豆瓣电影,然后点击 分类 ,选择要爬取的特定电影这里以国产喜剧片为例:依次点击 电影、喜剧、中国大陆然后点击一个小的列表按键找到我们要爬取的数据下拉到最底部,有一个 加载更多点击会出现新的电影数据。说明这是一个动态网站,需要使用selenium来爬取。selenium 是一个非常简单方便的库,用来模拟人进行上述操作。但是需要提前安装好这个库,而且需要安装火狐或者Chrome浏览器的geckodriver,具体的细节可以阅读官

2020-12-20 11:44:10 6875 7

原创 普林斯顿算法课作业的python实现(四)8 Puzzle

8 Puzzle问题思路代码结果问题这一次的编程作业是完成一个类似于“华容道”的游戏——8 puzzle:给定一个 N×NN\times NN×N 的网格图,其中有一个网格被挖空,其余网格标记为 1,2,3,⋯ ,N×N−11,2,3,\cdots, N\times N-11,2,3,⋯,N×N−1。每次可以将被挖空的网格与相邻被标记数字的网格交换,目标是移至成 1,2,3,4⋯ ,N×N−11,2,3,4\cdots, N\times N-11,2,3,4⋯,N×N−1 依次排列,最后一个网格被挖空

2020-12-19 19:41:33 987

原创 普林斯顿算法课作业的python实现(三)Collinear Points

Collinear Points问题思路代码结果问题这一次的编程作业是判断共线点。问题大致描述如下:给定平面上一些点,判断其中是否有四个及以上的点共线,把所有这些点找出来并连线。原题链接思路一种做法是暴力求解,遍历所有四个点,判断其是否共线。这种做法简单粗暴,但是时间复杂度在 O(N4)O(N^4)O(N4)。另一种做法是以其中一个点为坐标原点,计算其他点到该点的倾角,按倾角的大小对其他点排序,找出三个以上连续相同的点,与该点本身,构成共线。遍历所有的点,重复上述操作,可得到所有共线组。这

2020-12-07 19:09:59 521 2

原创 用 python 实现五种常见的排序算法

用python实现五种常见的排序算法

2020-11-18 20:15:36 714

原创 普林斯顿算法课作业的python实现(二)Randomized Queues and Deques

这一讲主要介绍了两种数据结构:stack 堆设想放了一堆书,放的时候是从下往上放,拿的时候是从上往下拿,先拿最上面的,也就是最后放上的去的。所以是后进先出。quene 队列设想在排队,先到先得(First come, first served)。也就是说,先进来排队的人,先离开队伍。所以是先进先出。这一周题目在此:题目使用 python 来写数据结构的话非常方便。第一个部分是写RandomizedQueue,它和 stack、quene类似,不同之处在于移除元素是随机的。代码

2020-11-12 17:10:55 163 4

原创 普林斯顿算法课作业的python实现(一)Percolation

由于自己想补一下数据结构和算法,所以我最近开始在刷coursera上普林斯顿的算法课。coursera上视频播放不流畅,建议可以在B站上看,地址在此。这门课,专门有个课程网站,里面有配套的教科书和作业题。本次第一个作业Percolation作业网站代码如下:...

2020-11-10 23:28:44 747 4

原创 python 爬虫实战五:用 selenium 爬取知乎某一问题下的图片

爬取图片主要是用到了 urlretrieve 这个函数:话不多说,直接上代码:# -*- coding: utf-8 -*-"""Created on Sat Oct 31 14:41:46 2020@author: zxw"""# 引入必要的库from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriv

2020-11-02 23:45:32 273

原创 python 爬虫实战四:用 selenium 爬取知乎某一问题下所有回答

用 selenium 爬取知乎某一问题下所有回答前言模拟登录动态爬取完整代码效果展示前言最近我又重新拾起了爬虫,想实现一下前几次爬虫所没有涉及到的两个点:模拟登录和动态网页爬取,所采用的方法是利用 selenium 这个库,例子是爬取知乎某一问题下所有回答。模拟登录很多网站,比如知乎、微博、豆瓣,都需要登录之后,才能浏览某些内容。所以想要爬取这类网站,必须先模拟登录。比较简单的方式是利用这个网站的 cookie。cookie 相当于是一个密码箱,里面储存了用户在该网站的基本信息。在一次登录之后,网站

2020-10-31 15:32:03 2345 1

原创 ISLR读书笔记终

花了一个月左右的时间,统计学习暂告一段落。接下来准备去Kaggle上找点项目练练手,有时间的话再看一下NLP。

2020-10-25 15:52:27 220

原创 ISLR读书笔记二十:聚类分析(Clustering)

123

2020-10-25 15:22:42 573

原创 ISLR读书笔记十九:主成分分析(PCA)

前面写的一些统计学习方法都是属于监督学习(supervised learning),这篇主成分分析(principal components analysis,简称 PCA )和下一篇聚类分析(clustering)都是属于非监督学习(unsupervised learning)。之前 ISLR读书笔记十二 中已经提到过主成分这一概念。其主要目的是利用一小部分数据组合,尽可能多地体现 全部数据的特征,从而实现降维的作用。这里的 尽可能多地体现 可以有两种解读:数据方差最大最近似。...

2020-10-23 16:28:33 699

原创 ISLR读书笔记十八:支持向量机(Support Vector Machines)

上一篇讲到的支持向量分类器适用于两类的边界是线性的情况,如果边界是非线性的,用支持向量分类器得到的结果并不好。所以,对于一般的非线性边界的问题,需要采用新的方法:支持向量机。其基本思想是用核的方法来扩大特征空间。出发点如下:可以证明,支持向量分类器的解maximize⁡β0,β1,…,βp,ϵ1,…,ϵnM subject to ∑j=1pβj2=1yi(β0+β1xi1+β2xi2+…+βpxip)≥M(1−ϵi)ϵi≥0,∑i=1nϵi≤C\begin{arra

2020-10-21 10:41:10 336

原创 ISLR读书笔记十七:支持向量分类器(Support Vector Classifier)

上一篇讲到的最大边际分类器存在两个问题:无法解决线性不可分的情况,即如果不存在分离平面,那么最大边际分类器就失效了。鲁棒性较差。如果添加一个观测数据,可能会导致最大边际超平面产生较大变化。针对这两个问题,引入支持向量分类器(Support Vector Classifier)。其大致思想是:以小范围的错误,换取更大范围的正确。即边际未必完美地将数据分离成两类,允许犯错,允许一些数据错误地划分到边际的一边,甚至允许一些数据错误地划分到超平面的一边,以牺牲小部分分类错误为代价,建立一个更加

2020-10-20 12:05:59 1274

原创 ISLR读书笔记十六:最大边际分类器(maximal margin classifier)

最大边际分类器前言超平面分离超平面最大边际超平面前言本篇和接下来的两篇将介绍一种重要的分类方法:支持向量机(support vector machines)。本篇主要讲的是最大边际分类器(maximal margin classifier),是支持向量机的基础。接下来两篇将分别介绍支持向量分类器(support vector classifier)、支持向量机(support vector machines)。超平面超平面(hyperplane)指的是 ppp 维空间的 p−1p-1p−1 维线性子

2020-10-17 11:22:49 2147 1

原创 ISLR读书笔记十五:Bagging, Random Forests, Boosting

Bagging, Random Forests, BoostingBaggingRandom ForestsBoostingBagging前一篇的决策树模型,有一个问题:预测结果的方差会很大,可以通过 bagging的方法来降低方差。其主要思想如下:用自助法(bootstrap)的方式得到 BBB 个不同的训练数据集,设第 bbb 个数据集上的得到的预测结果为 f^∗b(x)\hat{f}^{*b}(x)f^​∗b(x),对于回归问题,最终的预测结果可表示为f^bag(x)=1B∑b=1Bf^∗b

2020-10-16 21:00:41 250

原创 ISLR读书笔记十四:决策树(decision tree)

决策树回归树分类树优缺点回归树基本思想:将自变量 X1,X2,⋯ ,XpX_1,X_2,\cdots,X_pX1​,X2​,⋯,Xp​ 构成的空间,划分成 JJJ 个不同的区域 R1,R2⋯ ,RJR_1,R_2\cdots,R_JR1​,R2​⋯,RJ​对于落入 RjR_jRj​ 中的每一个数据,用该区域内因变量的均值,作为预测值。例子:假设棒球运动员的薪水与球龄和击打数有关,可以用如下简单的决策树方法,根据球龄和击打数来预测薪水。术语:这里 R1,R2,⋯ ,RJR_1,R_2,\

2020-10-15 19:08:39 620 1

原创 ISLR读书笔记十三:非线性回归

非线性回归前言多项式回归(polynomial regression)阶梯函数(step function)回归样条函数 (regression splines)光滑样条函数(smoothing splines)局部回归(local regression)广义加性模型(generalized additive model)前言之前介绍的主要是线性回归的方法,本篇主要讲述一些非线性回归的方法,主要基于的方法是基函数(basic functions),即拟合模型:yi=β0+β1b1(xi)+β2b2(x

2020-10-14 19:24:31 293

原创 ISLR读书笔记十二:模型选择——降维法(dimension reduction methods)

模型选择——降维法前言PCRPLS前言前面介绍的两类模型选择的方法,都保留了原始的自变量,而降维法则对原始自变量进行了转化,其大致思想是将原来的 ppp 个自变量,整合成 MMM 个自变量(M<pM<pM<p)。若令 Z1,Z2,⋯,ZMZ_1,Z_2,\cdots,Z_MZ1​,Z2​,⋯,ZM​ 表示 ppp 个 原始自变量的 MMM 个线性组合,即Zm=∑j=1pϕjmXjZ_m=\sum_{j=1}^p\phi_{jm}X_jZm​=j=1∑p​ϕjm​Xj​然后对这

2020-10-13 11:25:19 755

原创 ISLR读书笔记十一:模型选择——收缩法(shrinkage methods)

模型选择——收缩法岭回归(ridge regression)Lasso调参收缩法是另外一类模型选择的方法。收缩法将所有 ppp 个自变量进行拟合,但是将某些自变量的系数收缩到 0。主要有 ridge regression 和 lasso 两种方法。岭回归(ridge regression)线性回归模型中,最小化RSS:RSS=∑i=1n(yi−β0−∑j=1pβjxij)2RSS=\sum_{i=1}^n(y_i-\beta_0-\sum_{j=1}^p\beta_jx_{ij})^2RSS=i=1

2020-10-11 20:11:48 1207

原创 ISLR读书笔记十:模型选择——子集选择法(subsect selection)

模型选择——子集选择法前言最优子集法逐步选择法向前逐步选择向后逐步选择混合逐步选择如何评价最优前言这篇文章主要讲的是模型选择(model selection)中的一类方法:子集选择法(subsect selection),接下来两篇文章将介绍模型选择的其他两类方法:收缩法(shrinkage)和降维法(dimension reduction)。首先为什么要进行模型选择呢?以线性回归模型为例,主要出于预测准确性(prediction accuracy)和模型解释度(model interpretabil

2020-10-11 14:45:51 1570

原创 ISLR读书笔记九:自助法(bootstrap)

自助法是一类应用很广的统计方法,可以用来定量化参数估计或者统计学习方法的不确定性。自助法重复地从原数据集中采样,这里采样是可放回的(replacement),可以允许有同样的样本出现,然后用得到的样本进行参数估计。举一个例子来说明自助法的应用。假设有 XXX 和 YYY 两种不同的金融资产,现要对 XXX 和 YYY 进行投资,使得总风险最小。假设有 α\alphaα 投给了 XXX, 1−α1-\alpha1−α 投给了 YYY,那么总风险就是 Var(αX+(1−α)Y)Var(\alpha X+(1

2020-10-10 11:30:57 513

原创 python数据分析实战一:IMDB Top 250

Top 250 Movies in IMDBData preparationData cleaningMissing valueData wranglingData analysis and visualizationNumber of top250 movies every yearThe distribution of RatePercent of each levelTop 10 directorsTop 10 WritersTop 10 StarsThe distribution of runtim

2020-10-09 21:28:32 1070

原创 ISLR读书笔记八:交叉验证法(Cross-Validation)

交叉验证法(Cross-Validation)前言校验集方法留一法k折交叉验证前言校验集方法留一法k折交叉验证

2020-10-06 15:05:21 415

原创 ISLR读书笔记七:线性判别分析(LDA)

线性判别分析(LDA)前言单变量的LDA多变量的LDA二次判别分析(QDA)前言线性判别分析(linear discriminant analysis,简称LDA)是一种解决分类问题的方法。上一篇文章中讲到的逻辑斯蒂回归是处理分类问题的一个很好的模型,那么为什么还需要LDA呢?主要有以下三个原因:当类分离得很好的时候,逻辑斯蒂回归的参数估计很不稳定,而LDA不会存在这个问题。当 nnn 很小,而自变量 XXX 的分布大致服从正态分布时,LDA比逻辑斯蒂回归更稳定LDA比逻辑斯蒂回归更适合处理多分

2020-10-01 09:06:03 1649

原创 ISLR读书笔记六:逻辑斯蒂回归(logistic regression)

逻辑斯蒂回归前言逻辑斯蒂模型估计回归系数预测多元逻辑斯蒂回归前言之前几篇讲的线性回归处理的是回归问题,这一篇逻辑斯蒂回归(logistic regression)和下一篇线性判别分析(linear discriminant analysis)处理的是分类问题。那么为什么不能用线性回归模型来解决分类问题呢?主要有以下三个原因:假设因变量有三个类:狗、猪、人。将狗赋值为1,猪赋值为2,人赋值为3。这种赋值方式默认了狗、猪、人是有顺序的。而且狗与猪之间的差距=猪与人之间的差距=1,这显然是有问题的。没

2020-09-29 14:37:06 388

原创 python爬虫实战三:近十年中国电影票房数据爬取与分析

近十年中国电影票房数据爬取与分析前言爬取分析十年top10年度top5每年电影数每年总票房二八原则代码与数据前言这篇文章主要讲述的是近十年(2010-2019)中国电影票房数据的爬取与简单分析。之所以想到做这个,是因为我最近在一本书上读到这么一段话2013年受市场热捧的电影行业其实是个现金流状况很差的行业。中国每年会拍七百多部电影,只有两百多部能够上映,其中票房能够超过五亿的屈指可数。即使赚了五亿的票房“大获成功”的电影,扣除分给院线的一半,再扣除发行费,宣传费,制片方能够拿到手的大概只有2亿多一

2020-09-27 20:13:10 18654 3

原创 ISLR 读书笔记五:线性回归的其他考虑

线性回归的其他考虑定性自变量只有两个类有多个类线性模型的延伸加性假设的移除非线性关系潜在的问题非线性关系误差项的相关性误差项方差非常数离群值高杠杆数据点共线性这一篇文章主要讲了前两讲线性回归中没有涉及到的问题。定性自变量之前的线性回归自变量都是定量数据,如果变量是定性数据,可以引入哑变量(dummy variable)只有两个类如果某个自变量只有两个类,比如性别,分为男、女,那么可以引入哑变量 xix_ixi​,xi={1性别为女0性别为男x_i=\left\{\begin{aligned}

2020-09-25 20:58:03 427

原创 ISLR 读书笔记四:多元线性回归

多元线性回归参数估计四个问题因变量与自变量是否相关?多元线性回归是简单线性回归的拓展。简单线性回归中,自变量只有一个,而多元线性回归中,自变量有多个,可以用如下形式表示:Y=β0+β1X1+β2X2+⋯+βpXp+ϵY = \beta_0+\beta_1X_1+\beta_2X_2+\cdots+\beta_pX_p+\epsilonY=β0​+β1​X1​+β2​X2​+⋯+βp​Xp​+ϵ参数估计上式中的 β0,β1,...,βp\beta_0,\beta_1,...,\beta_pβ0​,β1

2020-09-24 14:41:59 352

原创 ISLR 读书笔记三:简单线性回归

简单线性回归参数估计参数准确性评价模型准确性评价RSER2R^2R2统计量线性回归是一类最简单常见的监督学习方法,它假设 fff 是线性形式。线性回归可以回答以下7个问题:自变量 XXX 与 因变量 YYY 之间是否有关系?自变量 XXX 与 因变量 YYY 之间的关系有多强 ?哪些 XiX_iXi​ 对因变量 YYY 有影响?如何准确评估每一个 XiX_iXi​ 对因变量 YYY 的影响?如何准确预测因变量 YYY ?自变量 XXX 与 YYY 之间是线性的吗?自变量 XiX_iXi​

2020-09-23 14:06:24 266

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除