
Python数据科学实战
文章平均质量分 88
以实战为线索,依次讲解Python语言基础、统计学、数据处理、数据挖掘、算法与案例、爬虫、社交网络、可视化应用等内容。整体脉络由浅入深,基础理论结合实战应用,快速提升数据科学实战经验。
Paper易论
AIGC 前沿技术的翻译者与引路人
展开
-
PySpider库爬虫技术实战
pyspider的架构主要分为Scheduler(调度器)、Fetcher(抓取器)、Processer(处理器)三个部分,整个爬取过程受到Monitor(监控器)的监控,抓取的结果被ResultWorker(结果处理器)处理。若提示与pycurl相关的包错误,则在http://www.lfd.uci.edu/~gohlke/pythonlibs/里下载对应包,本地完成安装。若遇到如下的错误,则与python有关,需要修改pyspider源码,通过改变python版本也可以。原创 2025-01-18 14:37:57 · 28 阅读 · 0 评论 -
Scrapy库爬虫技术实战
Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。其可以应用在数据挖掘,信息处理或存储历史数据等一系列的程序中。其最初是为了页面抓取(更确切来说,网络抓取)所设计的,也可以应用在获取API所返回的数据(例如AmazonAssociatesWebServices)或者通用的网络爬虫。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。原创 2025-01-18 14:28:35 · 734 阅读 · 0 评论 -
爬虫的基本结构和工作流程
请求网站并提取数据的自动化程序爬虫的基本流程1:向服务器发起请求通过HTTP库向目标站点发起请求,即发送一个Request,请求可以包含额外的headers等信息,等待服务器的响应。2:获取响应内容如果服务器正常响应,会得到一个Response,Response的内容便是所要获取的页面内容,类型可能有HTML、JSON、二进制文件(如图片、视频等类型)。3:解析内容得到的内容可能是HTML,可以用正则表达式、网页解析库进行解析。原创 2025-01-18 14:25:58 · 725 阅读 · 0 评论 -
数据挖掘案例 : 新闻文本分类
现有一批标注过的新闻数据,类别包括汽车、财经、IT、健康、体育、旅游、教育、招聘、文化、军事。另外,有一批未标注的数据,其类别在以上类别当中。尝试使用决策树算法,对其进行分类识别。这里有81条训练数据,20条测试数据。新闻类别编码如下:加载停用词表自定义函数处理句子提炼特征并分区构建决策树绘制决策树原创 2025-01-18 14:24:04 · 38 阅读 · 0 评论 -
Jieba分词器
jieba分词结合了基于规则和基于统计这两类方法。首先,基于统计词典,构造前缀词典,基于前缀词典对句子进行切分,得到所有切分可能,根据切分位置,构造一个有向无环图(DAG);然后,基于DAG图,采用动态规划计算最大概率路径(最有可能的分词结果),根据最大概率路径分词;最后,对于新词(词库中没有的词),采用有汉字成词能力的 HMM 模型进行切分。结巴中文分词涉及到的算法包括:(1) 基于Trie树结构实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图(DAG);原创 2025-01-18 10:24:05 · 17 阅读 · 0 评论 -
文本向量化
文本表示是自然语言处理中的基础工作,文本表示的好坏直接影响到整个自然语言处理系统的性能。文本向量化就是将文本表示成一系列能够表达文本语义的向量,是文本表示的一种重要方式。目前对文本向量化大部分的研究都是通过词向量化实现的,也有一部分研究者将句子作为文本处理的基本单元,于是产生了doc2vec和str2vec技术。原创 2025-01-11 08:07:45 · 112 阅读 · 0 评论 -
关键词提取
在自然语言处理领域,处理海量的文本文件最关键的是要把用户最关心的问题提取出来。而无论是对于长文本还是短文本,往往可以通过几个关键词窥探整个文本的主题思想。与此同时,不管是基于文本的推荐还是基于文本的搜索,对于文本关键词的依赖也很大,关键词提取的准确程度直接关系到推荐系统或者搜索系统的最终效果。因此,关键词提取在文本挖掘领域是一个很重要的部分。它是建关键词抽取算法看作是二分类问题,判断文档中的词或者短语是或者不是关键词。原创 2025-01-11 08:05:20 · 21 阅读 · 0 评论 -
命名实体识别
NER(Named Entity Recognition,命名实体识别)又称作专名识别,是自然语言处理中常见的一项任务,使用的范围非常广。命名实体通常指的是文本中具有特别意义或者指代性非常强的实体,通常包括人名、地名、机构名、时间、专有名词等。NER系统就是从非结构化的文本中抽取出上述实体,并且可以按照业务需求识别出更多类别的实体,比如产品名称、型号、价格等。因此实体这个概念可以很广,只要是业务需要的特殊文本片段都可以称为实体。NER问题的目标是从文本抽取出特定需求实体的文本片段。原创 2025-01-11 08:03:11 · 35 阅读 · 0 评论 -
中文词性标注
词性标注(part-of-speech tagging),又称为词类标注或者简称标注,是指为分词结果中的每个单词标注一个正确的词性的程序,也即确定每个词是名词、动词、形容词或者其他词性的过程。原创 2025-01-11 08:00:22 · 45 阅读 · 0 评论 -
中文分词技术
在语言理解中,词是最小的能够独立活动的有意义的语言成分。在英语中,单词本身就是词的表达,一篇文章就是‘单词’加分隔符来表示的。而在汉语中,词以字为基本单位,而一篇文章的语义表达却仍以词来划分。因此,在处理中文文本时,需要进行分词处理,将句子转化为词的表示,这个切词的过程就是中文分词。主要的困难在于分词歧义,此外,像未登录词、分词粒度都是影响分词效果的重要因素。众多分词方法大致可以分为规则/统计/混合分词三个流派,下面分别进行介绍。原创 2025-01-11 07:50:11 · 30 阅读 · 0 评论 -
数据挖掘应用 - 航空公司案例
面对激烈的市场竞争,各航空公司都推出了更优惠的营销方式来吸引更多的客户,国内某航空公司面临着旅客流失、竞争力下降和航空资源未充分利用等经营危机。通过建立合理的客户价值评估模型,对客户进行分群,分析比较不同客户群的客户价值,并制定相应的营销策略,对不同的客户群提供个性化的客户服务是必须和有效的。目前该航空公司已积累了大量的会员档案信息和其乘坐航班记录,这些数据主要包括客户基本信息、乘机信息、积分信息。请根据这些数据实现以下目标。(1)借助航空公司客户数据,对客户进行分类。原创 2025-01-05 10:23:07 · 29 阅读 · 0 评论 -
数据挖掘 - Lending Club案例
是一个个人贷款市场,它将寻求贷款的借款人与希望出借资金并获得回报的投资者进行匹配。每位借款人需要填写一份详尽的申请,提供他们过去的财务历史、贷款原因等信息。Lending Club 通过历史数据(以及他们自己的数据科学流程)评估每位借款人的信用评分,并为其分配一个利率。主要关注的是获得投资回报。已批准的贷款会列在 Lending Club 网站上,符合条件的投资者可以浏览最近批准的贷款、借款人的信用评分、贷款用途以及申请中的其他信息。原创 2025-01-04 21:10:57 · 73 阅读 · 0 评论 -
关联规则-在线零售案例
OnlineRetail数据集,包含用户购买商品的交易信息,本案例旨在从中挖掘出用户购买商品的关联规则规律,并分析各模式对应的含义及应用可行性。原创 2025-01-04 21:06:49 · 23 阅读 · 0 评论 -
数据挖掘-乳腺癌案例
医院有78条乳腺癌病人的数据,这些病人经过治疗,其中34位5年内病情复发,另外44位5年内未见复发,现需要对19位经过治疗的病人,分析其在5年内是否会复发,并评估模型的准确性及可行性。原创 2025-01-01 18:57:10 · 25 阅读 · 0 评论 -
商场客户细分案例
本案例将使用Linkage和dendrogram函数绘制聚类树,同时使用AgglomerativeClustering函数生成聚类标签,最后,将使用绘图的方法,将聚类效果进行展示。【0】类,平均年收入较高,但是消费得分低,属于不太愿意消费的人群。【3】类,平均年收入较低,但是消费得分较高,属于乐观消费型客户。【2】类,平均年收入和消费得分均一般的客户,属于大众用户型。【1】类,平均年收入和消费得分均较高,属于抢手型的客户。【4】类,平均年收入和消费得分均低,属于低端用户群。如图所示,可以将数据分成5类。原创 2025-01-01 18:55:24 · 22 阅读 · 0 评论 -
鸢尾花数据聚类案例
假设在不知道鸢尾花品种的情况下,对iris数据集,按Sepal.Length、Sepal.Width、Petal.Length、Petal.Width4种属性对150朵鸢尾花进行划分。并提炼分析划分类别与品种的关系,进一步提炼各品种对应的特征。原创 2025-01-01 18:53:09 · 26 阅读 · 0 评论 -
层次聚类-洛杉机街区案例
这里基于洛杉矶街区的数据,使用层次聚类算法,分析洛杉矶的街区主要由哪几类街区组成,并刻画这些街区类别的特征。原创 2025-01-01 18:51:29 · 17 阅读 · 0 评论 -
数据挖掘算法层次聚类
层次聚类算法 (Hierarchical Clustering Method)又称为系统聚类法、分级聚类法。层次聚类分为分裂法和凝聚法,分裂法由上向下把大的类别(cluster)分割,凝聚法由下向上对小的类别进行聚合,但是一般用的比较多的是由下向上的凝聚法。首先将每个对象作为一个簇,然后合并这些原子簇为越来越大的簇,直到某个终结条件被满足。首先将所有对象置于一个簇中,然后逐渐细分为越来越小的簇,直到达到了某个终结条件。下面只介绍凝聚法,分裂法和凝聚法类似。原创 2024-12-28 17:11:40 · 52 阅读 · 0 评论 -
k-Means聚类详解
k-Means算法是一种基于划分的经典聚类算法,对于给定的含有N条记录的数据集,算法将把数据集分成k组(k < N),使得每一分组至少包含一条数据记录,每条记录属于且仅属于一个分组。 算法首先会给出一个随机初始的分组,再通过反复迭代改变分组,使每一次改进的分组比上一次好,用于衡量好的标准通常是:同一分组中的记录越近越好,而不同分组中的记录越远越好,通常使用欧氏距离作为相异性度量。其基本步骤如下:1.从数据中随机抽取k个点作为初始聚类的k个中心,分别代表k个聚类2.计算数据中所有的点原创 2024-12-26 20:29:48 · 52 阅读 · 0 评论 -
聚类性能指标
具体的性能度量有两类,一类是外部指标,与某个专家给定的参考模型进行比对,另一类是内部指标,只考虑自己聚类之后的结果。原创 2024-12-26 20:26:09 · 27 阅读 · 0 评论 -
数据挖掘聚类基础
将物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。“物以类聚,人以群分”,在自然科学和社会科学中,存在着大量的分类问题。聚类分析又称群分析,它是研究(样品或指标)分类问题的一种统计分析方法。聚类分析起源于分类学,但是聚类不等于分类。聚类与分类的不同在于,聚类所要求划分的类是未知的。聚类分析内容非常丰富,有系统聚类法、有序样品聚类法、动态聚类法、模糊聚类法、图论聚类法、聚类预报法等。原创 2024-12-26 20:22:18 · 25 阅读 · 0 评论 -
决策树Adult案例
原始数据集每条数据有14个特征,分别为age,workclass,fnlwgt(final weight),education,education-num,marital-status,occupation,relationship,race,sex,captital-gain,captital-loss,hours-per-week和native-country。在建模之前,将分类变量转换成数值类型。接着,需要在cmd命令框里面,执行dot命令,执行文件转换。(2)转换成pdf文件。原创 2024-12-26 20:20:14 · 27 阅读 · 0 评论 -
决策树sklearn.tree模块
1、是CART算法的优化实现2、不支持分类变量3、不支持后剪枝。原创 2024-12-19 23:15:49 · 28 阅读 · 0 评论 -
决策树算法C5.0系列
C5.0是C4.5的一个商业版本,被广泛应用于许多数据挖掘软件包中,如Clementine,但它的精确算法并没有公开。C5.0主要针对大数据集的分类。它的决策树归纳与C4.5很相近,但规则生成不同。C5.0包括了生成规则方面的改进。测试结果表明C5.0在内存占用方面的性能改善了大约90%,在运行反而要比C4.5快5.7~240倍,并且生成的规则更加准确。C5.0在精度方面主要的改进源于采用推进方法。一些数据集上的测试结果表明,C5.0的误差率比C4.5的一半还要低。原创 2024-12-19 23:05:43 · 219 阅读 · 0 评论 -
决策树CART算法原理
CART决策树是一种二叉递归分区程序,能够处理连续型和名义型属性,既作为目标也作为预测器。数据以其原始形式进行处理,无需进行分组,也不建议进行分组。树会生长到最大尺寸,而不使用停止规则,然后通过代价复杂度修剪(基本上是通过逐个拆分的方式)回溯修剪到根节点。下一个要修剪的拆分是对训练数据上树的总体性能贡献最小的拆分(一次可以移除多个拆分)。该过程产生的树在预测器属性的任何保序变换下都是不变的。CART机制的目的是产生一系列嵌套的修剪树,而不仅仅是一棵树,所有这些树都是候选最优树。原创 2024-12-19 22:54:26 · 55 阅读 · 0 评论 -
决策树基础
决策树算法中的核心部分即是:如何选择划分属性?最早的决策树算法起源于CLS(Concept Learning System)系统,即概念学习系统。这就必须采用量化的方法来进行判断,量化的方法有很多,其中一项就是通过”信息论度量信息分类“。基于信息论的决策树算法有:ID3, CART, C4.5等算法。原创 2024-12-19 22:39:34 · 27 阅读 · 0 评论 -
法国零售商店案例
法国零售商店案例原创 2024-12-14 06:49:00 · 24 阅读 · 0 评论 -
Groceries案例
Groceries案例原创 2024-12-14 06:47:19 · 21 阅读 · 0 评论 -
Apriori算法
一种最有影响的挖掘布尔关联规则频繁项集的算法,其核心是基于两阶段频繁项集思想的递推算法,Apriori算法可挖掘出规则。原创 2024-12-14 06:45:18 · 275 阅读 · 0 评论 -
关联规则介绍
关联规则是形如X→Y的蕴涵式,其中, X和Y分别称为关联规则的先导(antecedent或left-hand-side, LHS)和后继(consequent或right-hand-side, RHS)。关联规则最初提出的动机是针对购物篮分析(Market Basket Analysis)问题提出的。假设分店经理想更多的了解顾客的购物习惯。特别是,想知道哪些商品顾客可能会在一次购物时同时购买?为回答该问题,可以对商店的顾客事物零售数量进行购物篮分析。原创 2024-12-14 06:40:02 · 17 阅读 · 0 评论 -
特征降维算法-自编码器
自编码器是一种无监督的神经网络模型,它可以学习到输入数据的隐含特征,这称为编码(coding),同时用学习到的新特征可以重构出原始输入数据,称之为解码(decoding)。从直观上来看,自动编码器可以用于特征降维,类似主成分分析PCA,但是其相比PCA其性能更强,这是由于神经网络模型可以提取更有效的新特征。除了进行特征降维,自动编码器学习到的新特征可以送入有监督学习模型中,所以自动编码器可以起到特征提取器的作用。自编码器可以认为是一种数据压缩算法,或特征提取算法。它试图让输出和输入一样的神经网络。原创 2024-12-05 21:00:05 · 62 阅读 · 0 评论 -
T分布随机邻近嵌入-TSNE
TSNE是由SNE衍生出的一种算法,SNE最早出现在2002年,它改变了MDS和ISOMAP中基于距离不变的思想,将高维映射到低维的同时,尽量保证相互之间的分布概率不变,SNE将高维和低维中的样本分布都看作高斯分布,而Tsne将低维中的坐标当做T分布,这样做的好处是为了让距离大的簇之间距离拉大,从而解决了拥挤问题。原创 2024-12-05 20:57:36 · 126 阅读 · 0 评论 -
线性判别分析-LDA
线性判别式分析(Linear Discriminant Analysis, LDA),也叫做Fisher线性判别(Fisher Linear Discriminant ,FLD),是模式识别的经典算法,它是在1996年由Belhumeur引入模式识别和人工智能领域的。性鉴别分析的基本思想是将高维的模式样本投影到最佳鉴别矢量空间,以达到抽取分类信息和压缩特征空间维数的效果,投影后保证模式样本在新的子空间有最大的类间距离和最小的类内距离,即模式在该空间中有最佳的可分离性。因此,它是一种有效的特征抽取方法。使用这原创 2024-12-05 20:55:26 · 44 阅读 · 0 评论 -
主成分分析-PCA
奇异值分解(Singular Value Decomposition,以下简称SVD)是在机器学习领域广泛应用的算法,它不光可以用于降维算法中的特征分解,还可以用于推荐系统,以及自然语言处理等领域。满足,则U是实正交矩阵。此外,我们还可以得到奇异值,奇异值求法有两种:第一种:第二种:通过上面*式的证明,我们还可以看出,特征值矩阵等于奇异值矩阵的平方,也就是说特征值和奇异值满足如下关系:这里的就是奇异值,奇异值跟特征值类似,在矩阵Σ中也是从大到小排列。原创 2024-12-05 20:36:58 · 216 阅读 · 0 评论 -
数据挖掘核心技术-评估模型
模型对(m+n)个样本进行概率预测,得到的每个样本属于正样本的概率,并对这些样本的概率值由大到小进行排序。上面讲的评价模型的指标或曲线都是在测试集中进行的,也就是我们需要将数据集分为训练集和测试集,训练集用于训练模型参数,测试集用于检验模型在数据中的预测效果。ROC曲线是利用真正率(正元组中被准确预测的比例)为纵轴,假正率(预测结果为负元组的样本中实际为正元组的比例)为横轴画出的曲线,用来评估模型预测准确率。因为ROC曲线有个很好的特性:当测试集中的正负样本的分布变换的时候,ROC曲线能够保持不变。原创 2024-11-28 20:17:12 · 162 阅读 · 0 评论 -
数据挖掘核心技术-训练模型
方法BGDSGDMBGD优点全局最优速度快两者折中缺点速度慢噪声大,不易于并行化两者折中前面说到,对于非凸函数而言,梯度下降法找到的并不一定是最小值,可能是极小值,还可能是鞍点。对于这些情况,BGD表现是很差的,一旦陷入局部最小值,就难以摆脱出来,而SGD在这一点上表现得好一些,因为是每次迭代是随机使用数据点,这种盲目性反而使得其优化过程不容易陷入局部最优处,但是它也难以达到全局最优点,只能很接近。MBGD的提出综合了两者的优点,使得SGD收敛的更加平稳。原创 2024-11-28 20:12:08 · 120 阅读 · 0 评论 -
数据挖掘核心技术-样本平衡
在对不平衡的分类数据集进行建模时,机器学习算法可能并不稳定,其预测结果甚至可能是有偏的,而预测精度此时也变得带有误导性。在不平衡的数据中,任一算法都没法从样本量少的类中获取足够的信息来进行精确预测。因此,机器学习算法常常被要求应用在平衡数据集上。不平衡分类是一种有监督学习,但它处理的对象中有一个类所占的比例远远大于其余类。比起多分类,这一问题在二分类中更为常见。不平衡一词指代数据中响应变量(被解释变量)的分布不均衡,如果一个数据集的响应变量在不同类上的分布差别较大我们就认为它不平衡。原创 2024-11-26 21:11:47 · 687 阅读 · 0 评论 -
数据挖掘核心技术-分区篇
在用户定义划分中,使用指定的划分变量来划分数据集。当您已经预先确定了要在训练集、验证集或测试集中使用的观测值时,这非常有用。这个划分变量取值如下:t表示训练,v表示验证,s表示测试。在划分变量列中具有任何其他值的行都会被忽略。划分变量用作标志,用于将每个观测值写入适当的划分(集)。原创 2024-11-26 20:55:49 · 43 阅读 · 0 评论 -
数据挖掘核心技术-抽样篇
在统计学中,抽样(Sampling)是一种推论统计方法,是指从目标总体(Population,或称为母体)中抽取一部分个体作为样本(Sample),通过观察样本的某一或某些属性,依据所获得的数据对总体的数量特征得出具有一定可靠性的估计判断,从而达到对总体的认识。原创 2024-11-25 21:57:47 · 298 阅读 · 0 评论 -
数据挖掘基础
数据挖掘是一种基于计算机的过程,它通过使用不同的可视化技术、降维、分类和模型构建等技术在大量数据中发现模式,将数据量转换为信息和知识。数据挖掘是一门跨学科的学科,融合了统计学、人工智能以及管理科学和信息系统学科,用于模式识别、数学建模和数据库活动。原创 2024-11-25 21:54:58 · 33 阅读 · 0 评论