剑指数据科学
文章平均质量分 87
数据科学一个需要多领域知识的学科,所以我们将从零开始,解析数据科学.从数学公式,到kaggle大赛实例,一步步了解数据科学的每一部分.
Tian Fengshou
某公司山东分公司研发中心主管。目前主要工作为ABC融合,主要业余目标为发论文,玩开源。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Pandas 3.0 全解:从默认字符串类型到 Copy-on-Write 的一场“内存模型重构”
Pandas 3.0 不是一次“加几个 API”的小版本升级,而是对默认字符串 dtype、拷贝/视图行为、列表达式语法和整体 API 做了一次集中式清算与重构。本文面向程序员,会用大量代码示例与官方文档索引,帮你系统掌握 3.0 的三大核心变化、迁移要点以及容易被踩到的坑。原创 2026-01-01 17:40:30 · 1847 阅读 · 0 评论 -
Ollama快速找量化模型名称的4种实战方法
本文提供4种快速查找Ollama量化模型名称的方法:1)官网模型库精准搜索,使用量化关键词;2)参考社区热门模型名称;3)通过HuggingFace过滤.gguf文件获取Ollama名称;4)命令行自动检索。文末附常用模型名称模板和实战示例,3分钟内即可找到适合的量化模型。终极技巧是在TheBloke页面搜索"Ollama"直接获取完整下载命令。原创 2025-08-13 11:35:20 · 1573 阅读 · 0 评论 -
关于置信学习的文献综述
置信学习的核心思想在于使用模型计算的预测概率来定位错误标签。通过评估模型输出与标签之间的置信度,置信学习能够自动检测和校正这些错误。评估标签置信度:根据预测概率计算各个样本置信值。检测错误标签:进一步评估优惠值,标记低置信样本。正确标签或移除废值:对不合理数据进行数据清洗或重新正确化。置信学习使用统计分析方法,如 Z-Score 和 IQR,检测移动偏移过大的样本。该算法适合低维数据,但对高维数据效果有限 (Cheng et al., 2020)。原创 2025-01-03 16:39:52 · 1419 阅读 · 0 评论 -
深度学习中的离群值
深度学习中的离群值可能来源于输入特征或标签的异常分布,对模型训练和预测精度产生负面影响。因此,可以通过数据预处理、鲁棒损失函数、正则化、数据增强和异常检测模型等方法降低其影响。同时,对于更复杂的问题如对抗样本,需要额外设计防御机制来保护模型安全性。此外目前也有专门用于处理数据集标注错误的深度学习模型,有兴趣的朋友可以去自行了解一下。深度学习中存在异常值,并且会产生负面影响。可以直接使用 Z-Score 或 IQR 等统计方法检测异常值。原创 2025-01-03 16:27:04 · 1984 阅读 · 0 评论 -
什么是离群值?如何检测?
Outliers(离群值),也称逸出值,是指在数据集中显著偏离其他数据点的值。这些值与大多数观测值之间存在明显的差异,可能是由于异常情况、测量错误、数据输入错误或真实的罕见现象导致的。异常值:主要关注数据错误,倾向于剔除或修复。离群值:关注模式异常,倾向于分析背后的原因。Z-Score 和 IQR 适合小规模数据分析。Isolation Forest 和 LOF 适合处理复杂、高维数据集。箱线图和散点图便于初步探索数据分布和潜在异常值。根据数据特性和具体需求选择合适的方法进行分析。原创 2025-01-03 16:19:32 · 3790 阅读 · 0 评论 -
Data governance, data literacy, and data quality management:A literature review
With the rise of the data era, data governance, data literacy, and data quality management have emerged as the core pillars of organizational data management. This paper reviews these three areas, examining their definitions, interconnections, and applicat原创 2024-11-19 20:05:51 · 1034 阅读 · 0 评论 -
数据治理、数据素养和数据质量管理:文献综述
随着数据时代的到来,数据治理、数据素养和数据质量管理成为组织数据管理中的三大核心概念。本文基于相关研究与实践,对这三个领域进行全面综述,探讨它们的定义、相互关系及其在数据中台与AI数据服务中的体现。通过结合中国互联网企业的实践,提出数据中台作为现代数据治理的重要工具,其在数据治理、数据挖掘及智能化应用方面的优势。原创 2024-11-19 20:03:30 · 1649 阅读 · 0 评论 -
淘宝用户行为分析
项目背景以淘宝app平台为数据集,通过行业的指标对淘宝用户行为进行分析,从而探索淘宝用户的行为模式,具体指标包括:日PV和日UV分析,付费率分析,复购行为分析,漏斗流失分析和用户价值RFM分析。数据来源https://tianchi.aliyun.com/dataset/dataDetail?dataId=649&userId=1数据介绍列名称说明用户ID整数类型,序列化后的用户ID商品ID整数类型,序列化后的商品ID商品类目ID整数类型,序列化后的商转载 2020-08-20 17:32:39 · 5812 阅读 · 0 评论 -
自动化机器学习(三)神经网络架构搜索综述(NAS)简述
自动化机器学习就是能够自动建立机器学习模型的方法,其主要包含三个方面:方面一,超参数优化;方面二,自动特征工程与机器学习算法自动选择;方面三,神经网络结构搜索。本文侧重于方面三,神级网络结构搜索。自动化机器学习的前两个部分,都有一个特点——只对现在已有的算法进行搜索,而不创造新的算法。一般而言机器学习专家在开发机器学习应用或者构建机器学习模型时,都不太可能从头造轮子,直接创造一个新的算法。但是到了深度神经网路的时候,就发生了一些变化。严格意义上来说,神经网络的基本结构都是固定的,有限的。原创 2020-08-20 16:15:56 · 4972 阅读 · 2 评论 -
自动化机器学习(二)自动构建机器学习流水线
自动化机器学习(一)超参数自动优化自动化机器学习就是能够自动建立机器学习模型的方法,其主要包含三个方面:方面一,超参数优化;方面二,自动特征工程与机器学习算法自动选择;方面三,神经网络结构搜索。本文侧重于方面二,我们将使用TPOT完成自动特征工程与机器学习算法自动选择。在机器学习中,模型本身的参数是可以通过训练数据来获取的,这些参数属于算法的普通参数,通过数据训练获得算法合适的参数,构建强大的模型本身就是机器学习的核心目标。原创 2020-08-20 15:07:43 · 2596 阅读 · 2 评论 -
自动化机器学习(一)超参数自动优化技术
自动化机器学习就是能够自动建立机器学习模型的方法,其主要包含三个方面:方面一,超参数优化;方面二,自动特征工程与机器学习算法自动选择;方面三,神经网络结构搜索。本文侧重于方面一,如何对超参数进行自动优化。在机器学习中,模型本身的参数是可以通过训练数据来获取的,这些参数属于算法的普通参数,通过数据训练获得算法合适的参数,构建强大的模型本身就是机器学习的核心目标。原创 2020-08-20 15:05:20 · 7088 阅读 · 3 评论 -
利用多项式特征生成与递归特征消除解决特征组合与特征选择问题
项目背景无论是对于什么数据都存在两个非常经典的问题:问题一是,数据与标签之间,数据与数据之间的一些实际关系很难搞清楚。有些时候特征A,特征B可能都与标签存在正向关系。然而实际上的关系却可能是标签与特征A,B的乘积存在实际关系;问题二,在不同机器学习的模型中,特征的最佳选择往往并不一致。比如当模型选择为模型model1的时候,特征可能为特征ABC,而当模型变为model2的时候,最佳特征可能就变为了ACD。为了解决这两个问题,有一个比较成熟的自动化方案可供我们使用。那就是多项式特征生成与自动特征选择。这原创 2020-08-19 19:54:12 · 1473 阅读 · 0 评论 -
Hyperopt 入门指南
Hyperopt:是进行超参数优化的一个类库。有了它我们就可以拜托手动调参的烦恼,并且往往能够在相对较短的时间内获取原优于手动调参的最终结果。一般而言,使用hyperopt的方式的过程可以总结为:用于最小化的目标函数搜索空间存储搜索过程中所有点组合以及效果的方法要使用的搜索算法目标函数一个简单的例子这里是一个简单的例子,用来展示函数问题from hyperopt import...原创 2018-12-19 16:30:27 · 11896 阅读 · 9 评论 -
Lightgbm with Hyperopt
如何使用hyperopt对Lightgbm进行自动调参之前的教程以及介绍过如何使用hyperopt对xgboost进行调参,并且已经说明了,该代码模板可以十分轻松的转移到lightgbm,或者catboost上。而本篇教程就是对原模板的一次歉意,前半部分为教程-如何使用hyperopt对xgboost进行自动调参的迁移,后半部分是对在Hyperopt框架下使用XGboost与交叉验证的迁移。关...原创 2018-12-18 12:49:39 · 4352 阅读 · 14 评论 -
在Python中使用lightgbm
前言-lightgbm是什么?LightGBM 是一个梯度 boosting 框架, 使用基于学习算法的决策树. 它是分布式的, 高效的, 装逼的, 它具有以下优势:速度和内存使用的优化减少分割增益的计算量通过直方图的相减来进行进一步的加速减少内存的使用 减少并行学习的通信代价稀疏优化准确率的优化Leaf-wise (Best-first) 的决策树生长策略类别特征值的...原创 2018-12-17 15:22:10 · 10866 阅读 · 0 评论 -
在Python中使用XGBoost
本文原是xgboost的官方文档教程,但是鉴于其中部分内容叙述不清,部分内容也确实存在一定的问题,所以本人重写了该部分。数据请前往Github此处下载前置代码引用类库,添加需要的函数import numpy as npfrom sklearn.model_selection import train_test_splitimport xgboost as xgbimport panda...原创 2018-12-17 11:22:21 · 5953 阅读 · 1 评论 -
在Hyperopt框架下使用XGboost与交叉验证
Xgboost中内置了交叉验证,如果我们需要在Hyperopt中使用交叉验证的话,只需要直接调用即可。前边我们依旧采用第一篇教程使用过的代码。如果你已经看过前一篇文章,那么我建议你直接跳到交叉验证部分。原创 2018-12-17 10:33:47 · 3544 阅读 · 5 评论 -
如何使用hyperopt对xgboost进行自动调参
本教程重点在于传授如何使用Hyperopt对xgboost进行自动调参。但是这份代码也是我一直使用的代码模板之一,所以在其他数据集上套用该模板也是十分容易的。同时因为xgboost,lightgbm,catboost。三个类库调用方法都比较一致,所以在本部分结束之后,我们有理由相信,你将会学会在这三个类库上使用hyperopt。除此之外要额外说明的是,本文并不涉及交叉验证的问题,交叉验证请查看其...原创 2018-12-17 10:26:17 · 6957 阅读 · 17 评论 -
Python实现 灰色关联分析 与结果可视化
灰色系统理论提出了对各子系统进行灰色关联度分析的概念,意图透过一定的方法,去寻求系统中各子系统(或因素)之间的数值关系。因此,灰色关联度分析对于一个系统发展变化态势提供了量化的度量,非常适合动态历程分析。原创 2018-06-07 13:21:45 · 57268 阅读 · 143 评论 -
Sklearn中的CV与KFold详解
关于交叉验证,我在之前的文章中已经进行了简单的介绍,而现在我们则通过几个更加详尽的例子.详细的介绍CV%matplotlib inlineimport numpy as npfrom sklearn.model_selection import train_test_splitfrom sklearn import datasetsfrom sklearn import s...原创 2018-01-31 17:35:42 · 34600 阅读 · 1 评论 -
机器学习中的数据集划分问题
留出法(hold-out)使用 n:m and n + m =1 的形式对原数据进行分割,例如 train : test = 7 : 3 or train : test = 6.5 : 3.5 但是这种相对原始的处理方式效果并不好,缺点如下: 缺点一:浪费数据缺点二:容易过拟合,且矫正方式不方便这时,我们需要使用另外一种分割方式-交叉验证 或者 留P法(leave P out)原创 2018-01-31 17:07:55 · 8766 阅读 · 0 评论 -
Gradient Tree Boosting:梯度提升树详解
理论数学推导请参考《统计机器学习》-李航,或者参考sklearn的官方文档,下面是我的部分笔记,也可以作为参考优缺点GBRT是对任意的可微损失函数的提升算法的泛化,即可回归亦可分(sai)类(ting)。 优点: 1. 对混合数据的的天然处理能力 2. 强大的预测能力(主要指算法本身的能力强大,一般性能好) 3. 在输出空间中对异常点的鲁棒性(通过具有鲁棒性的原创 2018-01-26 22:02:09 · 11929 阅读 · 0 评论 -
集成算法中的Bagging
Bagging(Tree)相较于Tree增加了偏差,但是降低了方差,最终得到了优于Tree的模型,而同样的Bagging(Tree)_2进一步大幅度增加了偏差,但是同样的方差也大幅度下降,最终得到了效果优于Bagging(Tree)的最终模型。虽然在Bagging中引入的随机分割增加了偏差,但是因为多个模型的集成平均,同时也使得我们在总体上获取了更好的模型,在本篇文章中,我们称之为Bagging的特性一,在后面我们将会验证这一特性。原创 2018-01-16 14:16:10 · 20821 阅读 · 1 评论 -
RandomForest:随机森林
随机森林:RF随机森林是一种一决策树为基学习器的Bagging算法,但是不同之处在于RF决策树的训练过程中还加入了随机属性选择(特征上的子采样)传统的决策树在选择划分的属性时,会选择最优属性RF 首先,从该节点的属性中损及选择出K个属性组成一个随机子集(类也就是Bagging中的Random Subspaces,一般通常K=log2(n))然后再从这个子集中选择一个最右子集进行划分原创 2018-01-16 14:07:02 · 6770 阅读 · 2 评论 -
通过模型进行特征选择
第一种是基于L1的特征选择,使用L1正则化的线性模型会得到稀疏解,当目标是降低维度的时候,可以使用sklearn中的给予L1正则化的线性模型,比如LinearSVC,逻辑回归,或者Lasso。使用 Lasso,alpha 的值越大,越少的特征会被选择。特征选取并不一定升:所有特征有效的情况下,去除的特征只能带来模型性能的下降,即使不是全部有效很多时候,低重要程度的特征也并不一定代表着一定会导致模型性能的下降,因为某种度量方式并不代表着该特征的最终效果,很多时候我们的度量方式,往往只是一个参考而已.原创 2018-01-15 15:17:55 · 16076 阅读 · 7 评论 -
递归式特征消除:Recursive feature elimination
简述特征的选取方式一共有三种,在sklearn实现了的包裹式(wrapper)特诊选取只有两个递归式特征消除的方法,如下:recursive feature elimination ( RFE )通过学习器返回的 coef_ 属性 或者 feature_importances_ 属性来获得每个特征的重要程度。 然后,从当前的特征集合中移除最不重要的特征。在特征集合上不断的重复递归这个步骤原创 2018-01-08 16:57:31 · 37578 阅读 · 46 评论 -
单变量特征选择:Univariate feature selection
sklearn中的单变量特征选择单变量的特征选择是通过基于一些单变量的统计度量方法来选择最好的特征,比如卡方检测等。Scikit-learn 将单变量特征选择的学习器作为实现了 transform方法的对象:sklearn中实现的方法有:SelectKBest 保留评分最高的 K 个特征SelectPercentile 保留最高得分百分比之几的特征对每个特征应用常见的单变量统计测原创 2018-01-07 20:56:44 · 9211 阅读 · 0 评论 -
方差过滤: Removing features with low variance
方差特征选择的原理与使用VarianceThreshold 是特征选择的一个简单基本方法,其原理在于–底方差的特征的预测效果往往不好。而VarianceThreshold会移除所有那些方差不满足一些阈值的特征。默认情况下,它将会移除所有的零方差特征,即那些在所有的样本上的取值均不变的特征。例如,假设我们有一个特征是布尔值的数据集,我们想要移除那些在整个数据集中特征值为0或者为1的比例超过8原创 2018-01-07 20:54:18 · 5857 阅读 · 2 评论 -
Hyperopt官方中文文档导读
在2017年的圣诞节前,我翻译了有关HyperOpt的中文文档,这也时填补了空白,以此作为献给所有中国程序员,以及所有其他机器学习相关行业人员的圣诞礼物。圣诞快乐,各位。HyperOpt中文文档导读翻译的文档已经发布于github,请在我的项目Hyperopt_CN中的wiki查看相应文档.HyperOpt中文版wiki文档内容包括以下内容:HyperOpt中文文档导读,即真正的中文文档主页Ho原创 2017-12-23 15:56:30 · 7193 阅读 · 0 评论 -
AdaBoost算法特性
Boosting算法提升算法是一种常见的统计学习方法,其作用为将弱的学习算法提升为强学习算法.其理论基础为:强可学习器与弱可学习器是等价的.即在在学习中发现了’弱学习算法’,则可以通过某些方法将它特生为强可学习器,这是数学可证明的.在分类学习中提升算法通过反复修改训练数据的权值分布,构建一系列的基本分类器(弱分类器),并将这些基本分类器线性组合,构成一个强学习器.代表算法为Adaboost算法,ad原创 2017-12-18 16:55:06 · 4253 阅读 · 0 评论 -
sklearn中的回归决策树
sklearn中DecisionTreeRegressor的主要参数与分类决策树差异不大.唯一不太一样的是,在回归决策树中只实现了优化的gini决策树,而无法使用基于信息熵的决策树关于超参数的介绍,我们可以直接借用在分类决策树中的介绍在sklearn中我们可以用来提高决策树泛化能力的超参数主要有max_depth:树的最大深度,也就是说当树的深度到达max_depth的时候无论还有多少可以分支的特征,决策树都会停止运算.原创 2017-12-17 14:14:12 · 18515 阅读 · 2 评论 -
sklearn中的朴素贝叶斯算法
sklearn中的朴素贝叶斯分类器之前理解朴素贝叶斯中的结尾对sklearn中的朴素贝叶斯进行了简单的介绍. 此处对sklearn中的则对sklearn中的朴素贝叶斯算法进行比较详细介绍.不过手下还是对朴素贝叶斯本身进行一些补充.朴素贝叶斯算法朴素贝叶斯算法的数学基础都是围绕贝叶斯定理展开的,因此这一类算法都被称为朴素贝叶斯算法.朴素贝叶斯的分类原理是通过对象的先验概率,利用贝叶斯公式计算出后验概原创 2017-12-17 13:03:32 · 6726 阅读 · 15 评论 -
绘制决策树
绘制出决策树经过训练的决策树,我们可以使用 export_graphviz 导出器以 Graphviz 格式导出决策树. 如果你是用 conda 来管理包,那么安装 graphviz 二进制文件和 python 包可以用以下指令安装 conda install python-graphviz 或者,可以从 graphviz 项目主页下载 graphviz 的二进制文件,并从 pypi 安装 Py原创 2017-12-17 12:04:01 · 4556 阅读 · 0 评论 -
sklearn中的分类决策树
决策树决策树简介决策树是一种使用if-then-else的决策规则的监督学习方法.其三要素为,枝节点,叶节点与分支条件,同时为了减少过拟合还有剪枝方法 为了便于记忆,可以称其为一方法三要素决策树的优势便于理解和解释。树的结构可以可视化出来。训练需要的数据少。其他机器学习模型通常需要数据规范化,比如构建虚拟变量和移除缺失值,不过请注意,这种模型不支持缺失值。由于训练决策树的数据点的数量导致了决原创 2017-12-17 11:55:17 · 8392 阅读 · 4 评论 -
auto-sklearn案例解析二
度量函数-metricsauto-sklearn的度量函数是对sklearn度量函数的封装,我们即可以使用autosklearn已经封装好的metrics函数,也可以使用autosklearn的metrics函数封装器make_scorer函数封装我们自己的么metrics函数使用autosklearn已经封装好的metrics函数如果仅仅是获取的话,最简易的一种方式是直接去找源代码.你可以直接输入原创 2017-12-12 19:54:47 · 2436 阅读 · 1 评论 -
auto-sklearn案例解析一
简单的使用 >>> import autosklearn.classification >>> cls = autosklearn.classification.AutoSklearnClassifier() >>> cls.fit(X_train, y_train) >>> predictions = cls.predict(X_test)该例子来自于官网首页.原创 2017-12-12 19:50:32 · 5624 阅读 · 0 评论 -
auto-sklearn简介
auto-sklearn是什么?auto-sklearn是一个自动化机器学习的工具包,其基于sklearn编写. >>> import autosklearn.classification >>> cls = autosklearn.classification.AutoSklearnClassifier() >>> cls.fit(X_train, y_train)翻译 2017-12-12 19:47:05 · 7485 阅读 · 0 评论 -
auto-sklearn手册
手册本手册从几个方面说明了如何使用auto-sklearn。并且 尽可能引用的例子来解释某些配置。官网首页.官网中文翻译例子auto-sklearn 下面的例子演示几个 方面的用法,他们都位于github:Holdout交叉验证并行计算按照时序使用回归连续和分类数据使用自定义指标时间和内存限制auto-sklearn 的一个重要功能时限制内存与时间的使用。特别是对于大型数据集,算法可翻译 2017-12-12 19:44:53 · 10966 阅读 · 2 评论 -
理解朴素贝叶斯
前言在对我的数据科学与人工智能小组的新人进行小规模授课时讲课内容整理,有改动和删减.这可能是目前网络上最全面也最简单易懂的有关朴素贝叶斯的文章有关贝叶斯的一些闲谈无论是在生活中还是我们的科学理论中,经常会估计概率.比如,我们计算一下明天下雨的概率,或者中彩票的概率,或者其他概率.概率就是可能性. 但是在人工智能领域关于概率的问题却产生了两个不同的流派,那就是贝叶斯派和频率学派.频率学派认为万物发展原创 2017-12-08 14:41:12 · 2459 阅读 · 3 评论 -
机器学习数据集
前言数据集算是比较重要的学习资料了吧,在这里汇总一些好用的数据集以便使用, 关于一些内容可以参考一下知乎的提问UCI常用数据集UCI 一个不错的数据集下载网站 此处介绍几个点击;想比较高的数据集,后面有下载和存储的代码以及有关问题的说明.使用方式点击官方网站,你可以看到以下内容 可以看到右边有两个排行榜,最右边的是历史点击率的排行榜,位于该榜左边的也就是网页中间的是最新捐赠原创 2017-12-08 09:26:53 · 11550 阅读 · 0 评论
分享