机器学习与数据挖掘
文章平均质量分 65
jin_tmac
这个作者很懒,什么都没留下…
展开
-
Python模型上线pmml以及自定义函数转换(2)
常用特征转换有sklearn_pandas.DataFrameMapper、sklearn.compose.ColumnTransformer、sklearn.preprocessing.FunctionTransformer等,ColumnTransformer用法如下:2、能转换成pmml文件的特征转换但是functiontransformer在转换pmml的时候总是报Java错误,不支持自定义函数转换,因此目前函数转换主要是用到sklearn2pmml.preprocessing相关的特征预处理过原创 2023-11-28 18:58:53 · 962 阅读 · 0 评论 -
LightGBM自定义损失函数
lightgbm建模,在其内置的比较少,如用于二分类的任务只有binary,最多再搭配class_weight来惩罚不同类别的损失函数。但我们可以自定义损失函数,只要损失函数可以求二阶导。原创 2022-10-18 18:09:17 · 4011 阅读 · 1 评论 -
Spark addFile()和hdfs上传文件对比
在用spark进行集群分布式模型打分等操作时。可以有两种方式上传文件sc.addFile和hdfs上。原创 2022-07-27 14:49:46 · 1137 阅读 · 0 评论 -
ExcelWriter和StyleFrame批量生成图片到excel
import pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsfrom openpyxl import load_workbookfrom openpyxl.drawing.image import Imagedef get_scatter_plot(data_df, varname, location): mdata = data_df[data_df['var_name']==varname] f原创 2022-04-02 14:50:11 · 711 阅读 · 0 评论 -
风控模型常见问题
1.数据驱动型金融场景下,风控模型的种类有哪些?获客阶段:用户响应模型,风险预筛选模型授信阶段:申请评分模型,反欺诈模型,风险定价模型,收益评分模型贷中阶段:行为评分模型,交易欺诈模型,客户流失模型贷后阶段:预催收模型,早期催收模型,晚期催收模型2.简单描述一些风控建模的流程?前期准备工作阶段:不同的模型针对不同的业务场景,在建模项目开始前需要对业务的逻辑和需求有清晰的理解,明确模型的业务目标和作用,项目周期时间和安排进度,以及模型效果的要求。模型设计阶段:包括模型的选择(评分卡亦或是集成转载 2021-10-26 10:25:23 · 766 阅读 · 0 评论 -
python变量衍生apply速度优化及改进
python数据分析生成衍生变量的时候,使用apply的方法速度很慢,尤其是遇到批量生成好几千变量,且数据量比较大的情况下。N = 10A_list = np.random.randint(1, 100, N)B_list = np.random.randint(1, 100, N)df = pd.DataFrame({'A': A_list, 'B': B_list})df.head()# A B# 0 78 50# 1 23 91# 2 55 62# 3 8原创 2021-08-13 17:28:08 · 914 阅读 · 0 评论 -
Python模型上线pmml以及自定义函数转换(1)
通常xgb或lgb模型通过pmml上线都比较简单,但是逻辑回归模型因为涉及到woe的转换,就要通过自定义转换函数的方式来实现。1、常规转换-模型训练好之后立即转换import joblibfrom sklearn2pmml import PMMLPipeline,sklearn2pmml# 保存模型 python可读入def dump(clf, fp='clf'): joblib.dump(feature_names_2, 'feature_' + fp +'.pkl') jo原创 2021-07-09 16:32:44 · 7199 阅读 · 8 评论 -
海量数据处理--使用sklearn进行增量学习
转载来自:https://blog.csdn.net/whiterbear/article/details/53120004问题实际处理和解决机器学习问题过程中,我们会遇到一些“大数据”问题,比如有上百万条数据,上千上万维特征,此时数据存储已经达到10G这种级别。这种情况下,如果还是直接使用传统的方式肯定行不通,比如当你想把数据load到内存中转成numpy数组,你会发现要么创建不了那么大的numpy矩阵,要么直接加载时报MemeryError。在这种情况下我了解了几种选择办法,对数据进行降维,转载 2020-08-28 16:31:06 · 562 阅读 · 0 评论 -
Python : statsmodels & sklearn LogisticRegression
python 逻辑回归 satasmodels 和 sklearn LogisticRegression结果系数总是不一致除了LogisticRegression要设置fit_intercept = False以外,会发现sklearn的各变量的系数都会比satasmodels 要小一些这说明sklearn中有正则化,但是satasmodels 的logit没有正则化,而且sklearn中的正则化无法取消。解决方法如下:如图所示可以对反正则化系数C设置一个极大值,结果就很接近了问题参考.原创 2020-06-04 15:28:19 · 1097 阅读 · 0 评论 -
集成模型筛选特征shap
http://sofasofa.io/tutorials/shap_xgboost/原创 2020-05-13 15:27:21 · 4464 阅读 · 0 评论 -
xgboost的特征重要性feature_importance计算
https://www.cnblogs.com/RainLa/p/11929515.html原创 2020-05-13 15:24:25 · 4730 阅读 · 1 评论 -
Python变量分箱--woe值单调分箱
最近上传了一个变量分箱的方法到pypi,这个包的主要有以下说明:缺失值单独一箱,不论缺失的数量多少;生成的分箱woe值是单调的,后续有时间会迭代U型分箱的版本;会有分箱最小样本数占比,类似决策树的最小叶节点占比;分箱成功的变量才会保留,有可能失败的情况是找不出同时满足上述2和3的分箱;具体的变量分箱原理见之前的博客。可以通过pip install woe-linear-bin 安装...原创 2019-10-28 14:15:06 · 7492 阅读 · 11 评论 -
如何在PyPi发布自己的包
主要是参考下面几篇博客https://blog.csdn.net/mouday/article/details/80736312https://blog.csdn.net/mouday/article/details/79611454https://www.ucloud.cn/yun/38501.htmlhttps://www.cnblogs.com/yixianclove/p/77767...原创 2019-10-25 14:49:10 · 356 阅读 · 0 评论 -
转载 -- 携程金融大数据风控算法实践
「数据中台」模型亦是基于完善的技术平台的,携程金融数据中台可以抽象为三个层次,底层是基础数据层,中层业务抽象模型层,以及最上层的算法模型层。Fig . 2 携程金融大数据中台的抽象结构中台这个概念早期是由美军的作战体系演化而来的,技术上所说的“中台”主要是指学习这种高效、灵活和强大的指挥作战体系。比如电商领域,经过十几年的发展,组织庞大而复杂,业务不断细化拆分,也导致野蛮发展的系统越来越不...转载 2019-04-17 13:59:00 · 1340 阅读 · 0 评论 -
GBDT源码解读及实现(一)
GradientBoostingClassifier和GradientBoostingRegressor共同的父类是BaseGradientBoosting。BaseGradientBoosting的最重要的函数是fit()函数。fit()的开始是check_input、check_params等检查的功能。在check_params检查参数的时候初始化了损失函数self.loss_def...原创 2018-01-02 17:30:01 · 3873 阅读 · 0 评论 -
理解xgboost
对xgboost的原理的一些简单的入门级理解!原创 2018-01-16 16:46:13 · 285 阅读 · 0 评论 -
xgboost 实战调参
xgboost 的调参主要是参考下面两篇博客 http://blog.csdn.net/zc02051126/article/details/46711047 http://blog.csdn.net/wzmsltw/article/details/50994481以及博客翻译的英文原文 http://www.analyticsvidhya.com/blog/2016/03/comple翻译 2018-01-18 16:26:59 · 1183 阅读 · 0 评论 -
机器学习实践中的7种常见错误
统计建模非常像工程学。在工程学中,有多种构建键-值存储系统的方式,每个设计都会构造一组不同的关于使用模式的假设集合。在统计建模中,有很多分类器构建算法,每个算法构造一组不同的关于数据的假设集合。当处理少量数据时,尝试尽可能多的算法,然后挑选最好的一个的做法是比较合理的,因为此时实验成本很低。但当遇到“大数据”时,提前分析数据,然后设计相应“管道”模型(预处理,建模,优化算法,评价,产品化)...转载 2018-04-16 17:44:57 · 226 阅读 · 0 评论 -
python+mysql 进行变量衍生
我们在建模时,需要对原始数据进行处理包括缺失值、变量衍生等操作。尤其是变量衍生,完全用Python有一定的难度。我之前的做法是将原始数据导入sas,所有的前期变量清洗、衍生操作全部都在sas里完成。现在想着如何在没有sas的情况下进行数据处理。于是就有了python+mysql:将数据导入mysql,所有的变量处理操作都在navicat进行,生成许多衍生变量表,pandas直接连接自定义的数据库。...原创 2018-04-24 14:57:51 · 1982 阅读 · 0 评论 -
logistic regression--sas逐步回归推导验证
1、逻辑回归定义事件发生的概率为 其中: 因此对于输入x分类结果为类别1和类别0的概率分别为: (1)式综合起来可以写成: 取似然函数为: 对数似然函数为: 实际求解中通常取 -2log L 求解变量系数就是使用梯度下降法求 -2log L 的最小值,sas logistic 采用牛顿法 和Fisher scoring法(默认)。先说几个概念1、似...原创 2018-06-12 19:01:38 · 6522 阅读 · 1 评论 -
类别特征编码
特征工程中通常要处理类别特征,如学历、性别、城市等,经常的做法是转换成dummy变量。会有LabelEncoder、OneHotEncoder、factorize、get_dummies4种方法。 下面进行比较:import pandas as pdfrom sklearn import preprocessingtest=pd.DataFrame({'city':['beiji...原创 2018-06-07 16:45:46 · 4320 阅读 · 0 评论 -
数据建模记事本(持续更新中。。。)
1、挑选数值型变量与类别型变量numeric_features = [c for c in features_data if features_data[c].dtype.kind in ('i', 'f')] # 提取数值类型为整数或浮点数的变量2、通常在模型fit时x和y都用array形式X = features.values.astype(np.float32) # 转换数据...原创 2018-06-07 17:36:31 · 896 阅读 · 1 评论 -
浅谈线性变换、PCA和SVD
矩阵变换:先来看下几何意义,这些图来源于知乎 方阵和向量相乘,从几何意义上来讲,就是对向量作 旋转、伸缩 变换。 比如对角矩阵M作用在任何一个向量上 其几何意义为在水平x方向上方向上拉伸3倍,y方向保持不变的线性变换。换言之对角矩阵起到作用是将水平垂直网格作水平拉伸(或者反射后水平拉伸)的线性变换。 如果M不是对角矩阵,而是一个对称矩阵 那么,我们也总可以找到一组网格...原创 2018-09-11 13:28:09 · 1484 阅读 · 0 评论 -
SVM--从感知机到间隔最大化再到核函数(待完善)
SVM并不是很好理解,到现在能完整梳理推导出全流程着实费了不少时间和精力。网上的教程也是很多很杂,但觉得讲解较好的还是李航的统计学习方法和这位大牛的博文。因此本文并不会 ...原创 2018-09-13 17:28:19 · 761 阅读 · 0 评论 -
特征筛选(变量聚类proc varclus)
在模型筛选变量的时候,我们可以用varclus进行变量聚类分析来进行降维。提到降维我们会首先想到主成分分析,主成分实际上是正交主成分。而varclus是斜交主成分,其是在正交主成分的基础上再做了一些旋转。这样得到的主成分不仅能保留主成分的优点(主成分变量相关程度比较低)。另外一方面又能有很到的解释性,并且能达到对变量聚类的效果。综合说来就是,主成分分析是生成了新的主成分变量,用原始变量的线性关系...原创 2019-02-18 18:53:19 · 10943 阅读 · 4 评论 -
feature_importances_ - 从决策树到gbdt
在用sklearn的时候经常用到feature_importances_ 来做特征筛选,那这么属性到底是啥呢。分析gbdt的源码发现来源于每个base_estimator的决策树的feature_importances_由此发现计算逻辑来源于cython文件,这个文件可以在其github上查看源代码而在DecisionTreeRegressor和DecisionTreeClass...原创 2019-02-26 17:47:13 · 21310 阅读 · 4 评论 -
GBDT源码解读及实现(二)
以下是用回归树模拟实现GBDT这是gbdt的第一棵树 对比两张图可以看出分割节点一样,但是叶子节点的value不同下面是更新GBDT的树的value过程 在不考虑样本权重的情况下第一棵树更新后的值=∑(residual)/∑(y_pred*(1-y_pred)) 第二棵树:gbdt 生成: 下面是模拟生成: 第二棵树的y_pred2=第一棵树...原创 2018-01-02 17:44:58 · 618 阅读 · 0 评论