
数据挖掘
文章平均质量分 80
Lindsay.Lu丶
- find more, find yourself. -
展开
-
解决样本不平衡问题的奇技淫巧 汇总
先举一个“恐怖”的例子,直观的感受一下样本不平衡问题: 你根据1000个正样本和1000个负样本正确训练出了一个准确率(precison,下同)90%召回率(recall,下同)90%的分类器,且通过实验验证没有欠采样过采样的问题哦~完美的样本,完美的模型,破费,你心里暗自得意。然后模型上线,正式预测每天的未知样本~。 开始一切都很美好,准确率召回率都很好。直到有一天,数据发生了一点变化,还是原来的数据类型和特征,只是每天新数据中正负样本变成了100个正样本,1...原创 2021-11-06 09:36:42 · 286 阅读 · 0 评论 -
浅谈KL散度
一、第一种理解 相对熵(relative entropy)又称为KL散度(Kullback–Leibler divergence,简称KLD),信息散度(information divergence),信息增益(information gain)。 KL散度是两个概率分布P和Q差别的非对称性的度量。 KL散度是用来度量使用基于Q的编码来编码来自P的样本平均所需的额外的比特个数。 典型情况下,P表示数据的真实分布,Q表示数据的理论分布,模型分布,或P的近似分布。 根据sha...转载 2020-10-28 16:07:06 · 690 阅读 · 0 评论 -
xgboost & lightgbm 调参指南
本文重点阐述了xgboost和lightgbm的主要参数和调参技巧,其理论部分可见集成学习,以下内容主要来自xgboost和LightGBM的官方文档。xgboostXgboost参数主要分为三大类:General Parameters(通用参数):设置整体功能Booster Parameters(提升参数):选择你每一步的booster(树or回归)Learning Task Parameters(学习任务参数):指导优化任务的执行General Parameters(通用参数)...原创 2020-09-19 03:54:22 · 2009 阅读 · 0 评论 -
xgboost 训练大数据,内存不够 out of memory
如果要训练(测试)的样本很多,达到上百上千万,单机载入不了内存时,可以采用如下方法:1、生成libsvm文件 将要处理的数据分批(比如一次读10000行/个样本)读入内存,缺失值填充、特征过程等处理完毕之后,使用sklearn.datasets.dump_svmlight_file()将其转为libsvm数据格式保存到磁盘;libsvm格式也是每行一个样本,所以多个文件很容易合并(比如使用linux命令:cat file1>> file2)。2、构造xgb....原创 2020-08-31 12:16:51 · 2288 阅读 · 0 评论 -
从不同角度看机器学习的几种学习方式
从不同角度看机器学习的几种学习方式:1、在线学习与离线学习offline learning and online learning.In offline learning, the whole training data must be available at the time of model training. Only when training is completed can the model be used for predicting.In contrast, onli...原创 2020-08-31 12:14:42 · 720 阅读 · 0 评论 -
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any()
在使用pandas判断数据时出现错误提示:ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().个人理解:这是因为,你将一个值与多个值或一个列表中的值相比较、匹配,导致的问题看提示,我们可以知道,在比较前,我们可以使用它推荐的某个方法:a.empty if(a.empty):print("!!") 判断a是否为空a.it...原创 2020-08-30 23:10:17 · 625 阅读 · 0 评论 -
numpy中的nonzero()
nonzero(a)nonzero函数是numpy中用于得到数组array中非零元素的位置(数组索引)的函数。它的返回值是一个长度为a.ndim(数组a的轴数)的元组,元组的每个元素都是一个整数数组,其值为非零元素的下标在对应轴上的值。(1)只有a中非零元素才会有索引值,那些零值元素没有索引值;(2)返回的索引值数组是一个2维tuple数组,该tuple数组中包含一维的array数组。其中,一维array向量的个数与a的维数是一致的。(3)索引值数组的每一个array均是从一个维度上来描述其索原创 2020-08-28 17:19:07 · 986 阅读 · 1 评论 -
pd.DataFrame 数据的保存和读取((df.to_csv、df.to_json、df.to_html、df.to_excel))
DataFrame数据的保存和读取df.to_csv写入到csv文件 pd.read_csv读取csv文件 df.to_json写入到json文件 pd.read_json读取json文件 df.to_html写入到html文件 pd.read_html读取 html文件 df.to_excel 写入到 excel 文件 pd.read_excel 读取 excel 文件pandas.DataFrame.to_csv将 DataFrame写入到 ...原创 2020-08-28 16:28:19 · 18957 阅读 · 0 评论 -
【DS】数据平滑处理——log1p()和exmp1()
今天在做题的时候学到了一点有用的东西,所以这里做个记录分享一下,有关数据预处理的两个函数问题——log1p、expm1优点:在数据预处理时首先可以对偏度比较大的数据用log1p函数进行转化,使其更加服从高斯分布,此步处理可能会使我们后续的分类结果得到一个更好的结果; 平滑处理很容易被忽略掉,导致模型的结果总是达不到一定的标准,同样...原创 2020-08-28 12:50:49 · 539 阅读 · 0 评论 -
np.log1p( ) 函数的应用
数据平滑处理 -- log1p( ) 和 exmp1( )1. 数据预处理时首先可以对偏度比较大的数据用og1p函数进行转化,使其更加服从高斯分布,此步处理可能会使我们后续的分类结果得到一个好的结果。2. 平滑问题很容易处理掉,导致模型的结果达不到一定的标准,log1p( )能够避免复值得问题 — 复值指一个自变量对应多个因变量log1p( ) 的使用就像是一个数据压缩到了一个区间,与数据的标准类似。其逆运算就是expm1的函数由于使用的log1p()对数据进行了压缩,最后需要将预测出的平.原创 2020-08-28 12:48:00 · 774 阅读 · 0 评论 -
【面试常备】Sklearn中常用的特征选择方法
作者:Edwin Jarvis特征选择(排序)对于数据科学家、机器学习从业者来说非常重要。好的特征选择能够提升模型的性能,更能帮助我们理解数据的特点、底层结构,这对进一步改善模型、算法都有着重要作用。特征选择主要有两个功能:减少特征数量、降维,使模型泛化能力更强,减少过拟合增强对特征和特征值之间的理解拿到数据集,一个特征选择方法,往往很难同时完成这两个目的。通常情况下,我们经常不管三七二十一,选择一种自己最熟悉或者最方便的特征选择方法(往往目的是降维,而忽略了对特征和数据理解的目的...原创 2020-08-18 14:07:59 · 2339 阅读 · 0 评论 -
多分类模型中的FN、FP怎么算?
根据定义:假阳性(FP): 实际为负,预测为正假阴性(FN): 实际为正,预测为负;对于二分类问题,这个比较清楚。但是对于多分类问题,我仍旧比较迷糊。比如:y_true = [0,1,2,0,1,2]y_pred = [0,2,1,0,0,1]此时:1. y_true中的1,2是否都算负类?2. 如果是,那针对0类,我的理解:TP为2,FP为1,先看预测正类的数目为3,其中2个猜对,1个猜错。3. FN应该为3,TN为0,因为预测有三个负类,但是都预测错了。多分类问题计算FP和FN你原创 2020-08-16 14:57:45 · 3206 阅读 · 1 评论 -
2019数据科学/人工智能比赛作品解决方案合集
目录1. Structured Data/ Time Series2019 CCF 乘用车细分市场销量预测2019 CCF 离散制造过程中典型工件的质量符合率预测2018 科大讯飞 AI 营销算法大赛2018 IJCAI 阿里妈妈搜索广告转化预测2018 腾讯广告算法大赛2017 腾讯广告算法大赛2018 高校大数据挑战...原创 2020-07-13 23:07:00 · 2965 阅读 · 0 评论 -
如何通俗易懂地解释卷积?卷积为什么要旋转180度?
如何通俗易懂地解释卷积?知乎回答:https://www.zhihu.com/question/22298352/answer/228543288https://www.zhihu.com/question/22298352/answer/637156871卷积为什么要旋转180度?一看这个标题就会想,这有什么大惊小怪的,可能好多人觉得这是个脑残话题,但我确实误解了两三年...转载 2020-01-11 16:25:12 · 3384 阅读 · 0 评论 -
【可视化调参之DBSCAN】- 集成学习DBSCAN密度聚类算法详解和可视化调参
DBSCAN(Density-Based Spatial Clustering of Applications with Noise,具有噪声的基于密度的聚类方法)是一种很典型的密度聚类算法,和只适用于凸样本集的K-Means聚类相比,DBSCAN既可以适用于凸样本集,也可以适用于非凸样本集。DBSCAN一般假定类别可以通过样本分布的紧密程度决定。同一类别的样本,他们之间的紧密相连的,也就是说,...原创 2019-12-15 23:33:53 · 7147 阅读 · 6 评论 -
如何处理机器学习中的不平衡类别
原文地址:How to Handle Imbalanced Classes in Machine Learning原文作者:elitedatascience译文出自:掘金翻译计划本文永久链接:https://github.com/xitu/gold-miner/blob/master/TODO/how-to-handle-imbalanced-classes-in-machine-learning转载 2018-04-12 15:45:44 · 703 阅读 · 0 评论 -
用MATLAB做聚类分析
近期工作关系用到Matlab做聚类分析。所谓聚类分析,其目的在于将研究的数据样本划分为不同类别。Matlab的统计工具箱提供了相应的分析工具。相关概念在网上可以找到不少资料,这里推荐两个博客供大家参考。 pluskid的漫谈Clustering 系列: http://blog.pluskid.org/?page_id=78赵扶风的层次聚类:http://hi.baidu.com/neu...转载 2018-08-06 00:55:11 · 3508 阅读 · 0 评论 -
K-means聚类最优k值的选取
以下博文转自:https://blog.youkuaiyun.com/qq_15738501/article/details/79036255 感谢 最近做了一个数据挖掘的项目,挖掘过程中用到了K-means聚类方法,但是由于根据行业经验确定的聚类数过多并且并不一定是我们获取到数据的真实聚类数,所以,我们希望能从数据自身出发去确定真实的聚类数,也就是对数据而言的最佳聚类数。为此,我查阅了大量资料和博...转载 2018-08-06 08:24:39 · 5046 阅读 · 0 评论 -
Matlab 统计数组中各数字(元素)出现的次数
如何统计一个数组中各数字(元素)出现的频数、频率和累积频率?这里以案例形式做一个总结。第一种方法:调用MATLAB自带的函数tabulate统计一个数组中各数字(元素)出现的频数、频率【例1】统计数值型数组中各元素出现的频数、频率。 >> x = [2 2 6 5 2 3 2 4 3 4 3 4 4 4 4 2 2 6 0 ...转载 2018-08-06 21:38:04 · 70617 阅读 · 46 评论 -
聚类分析中距离度量方法比较
聚类分析中如何度量两个对象之间的相似性呢?一般有两种方法,一种是对所有对象作特征投影,另一种则是距离计算。前者主要从直观的图像上反应对象之间的相似度关系,而后者则是通过衡量对象之间的差异度来反应对象之间的相似度关系。 如图(1)所示:假设X坐标轴为时间,Y坐标轴为繁殖率,则可以看出三种不同的物种在不同时间段的繁殖情况,由于分别在10,40,80三个数值附近,因此根据繁殖率...转载 2018-08-08 15:28:06 · 17703 阅读 · 0 评论 -
python时间序列ARIMA的实现及原理(预测茅台股票数据)
ARIMA模型由(AR模型 I差分 MA模型)三部分组合而成。这里我使用scipy库的方法来简单实现,其中的底层代码就不再累述。当然也可以使用ARMA模型,由于ARMA模型需要...转载 2019-09-06 13:03:25 · 3711 阅读 · 1 评论 -
【评分卡模型】特征重要度之WoE、IV、BadRate
1.IV的用途IV的全称是InformationValue,中文意思是信息价值,或者信息量。我们在用逻辑回归、决策树等模型方法构建分类模型时,经常需要对自变量进行筛选。比如我们有200个候选自变量,通常情况下,不会直接把200个变量直接放到模型中去进行拟合训练,而是会用一些方法,从这200个自变量中挑选一些出来,放进模型,形成入模变量列表。那么我们怎么去挑选入模变量呢?挑选入模变量过...原创 2019-10-08 12:56:32 · 1355 阅读 · 0 评论 -
【数据分析】pandas数据选取:df[] df.loc[] df.iloc[] df.ix[] df.at[] df.iat[]
1 引言 Pandas是作为Python数据分析著名的工具包,提供了多种数据选取的方法,方便实用。本文主要介绍Pandas的几种数据选取的方法。 Pandas中,数据主要保存为Dataframe和Series是数据结构,这两种数据结构数据选取的方式基本一致,本文主要以Dataframe为例进行介绍。 在Dataframe中选取数据大抵包括3中情况: 1)行(列)选取(单维度...原创 2019-10-08 22:25:50 · 1983 阅读 · 0 评论 -
DBSCAN聚类算法——基于密度的聚类方式(理论+图解+python代码)
一、DBSCAN聚类概述基于密度的方法的特点是不依赖于距离,而是依赖于密度,从而克服基于距离的算法只能发现“球形”聚簇的缺点。DBSCAN的核心思想是从某个核心点出发,不断向密度可达的区域扩张,从而得到一个包含核心点和边界点的最大化区域,区域中任意两点密度相连。1、伪代码算法: DBSCAN输入: E — 半径MinPts — 给定点在 E 领域内成为核心对象的最小领域点数D — ...转载 2019-10-10 10:08:14 · 23472 阅读 · 2 评论 -
一文搞懂深度学习正则化的L2范数
...转载 2019-10-11 13:47:38 · 1211 阅读 · 0 评论 -
【python数据挖掘课程】逻辑回归LogisticRegression分析鸢尾花数据
一. 逻辑回归在前面讲述的回归模型中,处理的因变量都是数值型区间变量,建立的模型描述是因变量的期望与自变量之间的线性关系。比如常见的线性回归模型:而在采用回归模型分析实际问题中,所研究的变量往往不全是区间变量而是顺序变量或属性变量,比如二项分布问题。通过分析年龄、性别、体质指数、平均血压、疾病指数等指标,判断一个人是否换糖尿病,Y=0表示未患病,Y=转载 2018-04-10 14:39:05 · 5106 阅读 · 1 评论