自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ml_hhy的博客

热衷数据挖掘

  • 博客(54)
  • 收藏
  • 关注

原创 模型训练调优整过程解析

训练模型的目的是根据历史数据训练得到参数,先不考虑泛化能力的情况下(例如通过正则化等方式来提高模型泛化能力)训练的过程是在逐步获得,最大拟合训练集的对应参数值并且期望这些参数可以在未带label值的数据中计算得到label的值那我们训练目的就是希望得到最拟合已有数据分布(数据集)的对应参数值(多次强调)那如何最拟合已有数据分布呢??本来通过通过逻辑回归来解析整一个过程:假设已经有N个样本,样本的标签只有0和1两类我们把单个样本看做一个事件,那么这个事件发生的概率就是:这个函数不方便计算,它

2020-11-06 17:34:30 1000

原创 算法比赛记录

CTR 比赛学习:https://blog.csdn.net/chengcheng1394/article/details/78940565

2020-07-16 18:10:58 243

原创 pandas实现根据区域切分后设置对应的标签

pandas实现根据区域切分后设置对应的标签df = pd.DataFrame([0.01, 0.2, 0.3, 0.9], columns=['values'])# 设置切分区域listBins = [0, 0.023, 0.8, 1]# 设置切分后对应标签SlistLabels = ['C','A','S']# 将预测值映射为类别值df['level'] = pd.cut(df['values'], bins=listBins, labels=listLabels, include_lo

2020-07-14 16:43:48 610

原创 sklearn pipeline 实现多个模型统一调参

实现多模型统一调参解决问题:在复现GBDT+LR的经典结构的时候,发现需要对两个模型一起进行调参,网上找不到相关代码,研究之后实现LGB + LR的统一调参需写3个自定义管道流的类来完成, 两个模型用于预测, 一个实现将GBDT的预测值作为下一步LR的特征的转换from sklearn.base import BaseEstimator, TransformerMixinfrom lightgbm import LGBMClassifierfrom sklearn.linear_model imp

2020-06-12 10:51:46 1643

原创 半自动构造新特征

半自动构造新特征主要原理是通过groupby(C1).agg(func)[N1]的方式来创造新特征,实现特征交叉还需配合特征筛选使用有更好效果需要传入gby_cols 分组列,stati_cols 统计列,func_list 统计函数prefix_list的特征前缀可自行修改简单易懂,无多余功能,网上没看到类似函数,自行写一个# 半自动构造新特征class FeatureCombination(object): def __init__(self): # init

2020-05-19 14:40:14 221

原创 xgboost保存模型遇到问题

采用此种方式保存的模型,当我重新读取时,模型特征排序会更改,很坑xgb.save("./output/model/xgb.model")采用joblib方式保存模型才行import joblib#save modeljoblib.dump(xgb, './output/model/xgb.model') ...

2020-04-22 15:45:45 799

原创 经onehot编码后,实现维度转换后xgb特征维度权重值跟踪

0.19 sklearn的onehot编码有bug,完成onehot编码转换,在过程中将转换后特征维度记录下来,便于配合xgb特征选择获取不同特征权重from sklearn.base import BaseEstimator, TransformerMixinfrom sklearn.utils import check_arrayfrom sklearn.preprocessing i...

2020-04-21 11:10:51 699

原创 roc曲线 vs pr曲线(AUC vs f1)

一直不理解auc值与F1值的应用场景,什么情况下使用哪种指标可以更好观察模型表现之前的理解是觉得使用f1值(即采用召回率和精确率)来评价模型会更好。因为召回率和精确率更直观,可以使业务方对模型的预测效果有较准确预期但roc其实更应该更多使用接下来本篇会将roc曲线与pr曲线做对比,并且介绍auc的应用场景ROC曲线 vs PR曲线相比P-R曲线,ROC曲线有一个特点,当正负样本的分布发...

2019-12-26 16:00:39 2834

原创 python 定义内部函数的好处

python 函数内部定义函数讲解:https://www.zhihu.com/question/25950466内部函数的写法(即在函数内部再定义函数)可以为内部的那个函数封存上下文为什么要内部函数呢?如下面这个例子如果不定义在内部的话,即是把expand_match定义在外部跟expand_test_contractions同级的话,那就要给expand_match再传入一个cont...

2019-12-13 15:52:14 1662

原创 自律、学习方法相关

以下为记录观看各种自律、学习方法文章所记得的某几句关键话语1.「一次只做一件事」,并且是特别细致的一件事,是效率最高,并且能保证基本不出错的方式思维模式不同的任务,不可以同时进行,它们会互相干扰。源自:https://www.zhihu.com/people/gao-leng-leng-61/posts?page=1z2.我们的记忆系统不是因为「记忆的愿望」或「记忆的行为」而记住的。它能...

2019-12-11 16:55:21 229

原创 文本规范化

文本规范化import nltkimport reimport stringfrom pprint import pprintsample_corpus = ["The brown fox wasn't that quick and he couldn't win the ra", "Hey that's a great deal! 1 just bought a...

2019-12-04 10:11:56 1246

原创 面试经验(待完善)

特征筛选根据经验 精选8-11个高级组合特征会对机器学习模型有更好效果

2019-11-20 17:28:39 118

转载 深度神经网络(DNN)模型

深度神经网络(Deep Neural Networks, 以下简称DNN)是深度学习的基础DNN网络结构DNN内部的神经网络层可以分为三类,输入层,隐藏层和输出层,如下图示例,一般来说第一层是输入层,最后一层是输出层,而中间的层数都是隐藏层。一般说到神经网络的层数是这样计算的,输入层不算,从隐藏层开始一直到输出层,一共有几层就代表着这是一个几层的神经网络,例如上图就是一个三层结构的神经网络...

2019-11-15 16:37:28 27311

转载 使用TensorFlow训练dnn

教程目的如何利用TensorFlow使用(经典)MNIST数据集训练并评估一个用于识别手写数字的简易前馈神经网络(feed-forward neural network),从中我们可以学习到tensorflow的运行原理与结构tensorflow运行原理TensorFlow 是一款用于数值计算的强大的开源软件库,特别适用于大规模机器学习的微调。 它的基本原理很简单:首先在 Python 中定...

2019-11-14 15:17:07 1343

原创 截断分布与正态分布联系

Normal Distribution 称为正态分布,也称为高斯分布,Truncated Normal Distribution一般翻译为截断正态分布,也有称为截尾正态分布。截断正态分布是截断分布(Truncated Distribution)的一种,那么截断分布是什么?截断分布是指,限制变量xx 取值范围(scope)的一种分布。例如,限制x取值在0到50之间,即{0<x<50}。...

2019-11-04 14:23:50 4626

转载 xgboost调参经验

本文为kaggle上一位选手分享的xgboost调参经验的翻译。方便对xgboost模型参数的快速调试。原文:https://www.kaggle.com/c/bnp-paribas-cardif-claims-management/forums/t/19083/best-practices-for-parameter-tuning-on-models数据的划分:一般从训练集里划分20%作为验...

2019-10-11 22:29:29 2092 1

转载 机器学习模型为什么要将特征离散化

严林的回答: https://www.zhihu.com/question/31989952/answer/54184582在工业界,很少直接将连续值作为逻辑回归模型的特征输入,而是将连续特征离散化为一系列0、1特征交给逻辑回归模型,这样做的优势有以下几点:离散特征的增加和减少都很容易,易于模型的快速迭代;稀疏向量内积乘法运算速度快,计算结果方便存储,容易扩展;离散化后的特征对异常数据有...

2019-09-08 12:03:38 339

原创 pyspark常用技巧

# spark读取pandas dataframe,形成spark dataframesparkDF = con_pyspark.hc.createDataFrame(df)sparkDF.write.mode("overwrite").partitionBy(['stat_time']).saveAsTable("tmp_db.tmp_test")

2019-06-24 12:24:42 361

原创 python 正则

import regex as rere.sub("(?<![\{\((][^{}()()]*),(?![^{}()()]*[\}\))])", "_", ",{2, 1},")匹配除中英文圆括号和中括号中的逗号

2019-06-24 00:40:27 142

原创 pyspark往elasticsearch 写入数据 零停机日更新

from elasticsearch import Elasticsearchfrom elasticsearch.helpers import reindexfrom datetime import datetimeimport jsonimport hashlib# ES配置格式# ES_CONF= {# "es.nodes" : "XXX.XX.XX.XX",# "e...

2019-06-22 09:25:10 1129

原创 linux常用操作

配置用户的基础环境,即每次登陆这个用户都会先执行这文件里面的内容vim .bashrc

2019-05-20 10:41:20 322 1

原创 lstm模型与情感分析实例

LSTM(Long Short-Term Memory)简介由于RNN存在梯度消失的问题,很难处理长序列的数据。为了解决RNN存在问题,后续人们对RNN做了改进,得到了RNN的特例LSTM,它可以避免常规RNN的梯度消失,因此在工业界得到了广泛的应用。LSTM模型是RNN的变体,它能够学习长期依赖,允许信息长期存在。举个例子来讲:比如人们读文章的时候,人们会根据已经阅读过的内容来对后面的内...

2019-04-29 10:32:48 10854

原创 pandas 使用技巧

# 根据定好的columns去给数据集填值# 数据集中与定好的columns中匹配的保留,缺失的根据fill_value的值进行填充,多余的忽略a = pd.DataFrame({'haha': range(5), 'didi':range(20, 5), 'cc': range(40, 5)})t_col = ['haha', 'fafa', 'didi', 'gg']a.reinde...

2019-04-17 14:52:32 165

转载 心理学

除了下列提取的部分读书笔记之外,还有作者的一些操作实例,挺有参考意义的https://www.jianshu.com/p/ce8b283b6a72?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation《金融怪杰》读书笔记:(1)顺势操作,尊重趋...

2019-03-09 11:54:21 236

原创 2018 12 - 2018 2 学习任务计划

序号学习任务目标关键输出结果预估时间实际完成时间完成进度与备注1《算法图解》阅读整本书读书笔记、整体总结12.1 - 12.3012.5:阅读百分之10 12.10:阅读百分之302《统计自然语言处理(第2版)》阅读整本书读书笔记、整体总结1.1 - 2.43阿里天池优惠卷使用预测比赛项目搭建与完成项目构建完成且准确率0.6以...

2018-12-10 10:48:40 161

原创 算法图解读书笔记

欧几里得算法:在数学中,辗转相除法,又称欧几里得算法两个整数的最大公约数等于其中较小的数和两数的差的最大公约数。例如,252和105的最大公约数是21,252 − 105 = 21 × (12 − 5) = 147,147与 105的最大公约数也是21,在这个过程中,较大的数缩小了,所以继续进行同样的计算可以不断缩小这两个数直至其中一个变成零 147 - 105 = 42,105 - 42 ...

2018-12-08 11:06:06 109

转载 ods,dw,dm理解

ods,dw,dm解释与理解ods:操作性数据仓库ods的应用场景1.在业务系统和数据仓库之间形成一个隔离,ods直接存放从业务系统抽取过来的数据,这些数据从结构和数据上与业务系统保持一致,降低了数据抽取的复杂性。2.转移一部分业务系统的细节查询功能,因为ods存放的数据与业务系统相同,原来有业务系统产生的报表,现在可以从ods中产生了。3.完成数据仓库中不能完成的功能。ods存放的是明细...

2018-11-01 17:02:38 12701

原创 时间序列

时间序列是同一现象在不同时间上的相继观察值排列而成的序列。经济数据大多数以时间序列的形式给出。时间序列分平稳序列与非平稳序列。平稳序列是基本不存在趋势的序列,在某个固定水平上有所波动但不存在某种规律,随机。非平稳序列是包含趋势、季节性或周期性(包含其中一种或多种)的序列。趋势是时间序列在长时期内呈现出来的某种持续上升或持续下降的变动。季节性是时间序列在一年内重复出现的周期性波动。...

2018-10-11 15:16:40 467

原创 Linux离线安装pyspark与尝试使用pyspark连接数据库

首先第一步: 安装anconda(并且带上了pandas, numpy, scikit-learn)流程1, 首先安装anconda2./Anaconda2-5.2.0-Linux-x86_64.sh2, 配置全局变量vi /etc/profile将anaconda2的所在的bin加入到profile文件最后一行export PATH=/home/anaconda2/bin:$PATH...

2018-09-28 12:29:21 3104

原创 adaboost理解

源至 https://github.com/apachecn/hands_on_Ml_with_Sklearn_and_TF/blob/dev/docs/7.%E9%9B%86%E6%88%90%E5%AD%A6%E4%B9%A0%E5%92%8C%E9%9A%8F%E6%9C%BA%E6%A3%AE%E6%9E%97.md 再加上自己一点补充与理解使一个新的分类器去修正之前分类结果的方法...

2018-09-13 15:47:13 272

转载 建模常用的概念介绍1: WOE、IV

https://blog.csdn.net/PbGc396Dwxjb77F2je/article/details/78790106

2018-09-10 10:01:32 508

转载 数据清洗方法

作者:网易云 链接:https://www.zhihu.com/question/22077960/answer/473720583数据清洗是将重复、多余的数据筛选清除,将缺失的数据补充完整,将错误的数据纠正或者删除,最后整理成为我们可以进一步加工、使用的数据。所谓的数据清洗,也就是ETL处理,包含抽取Extract、转换Transform、加载load这三大法宝。在大数据挖掘过程中,面对的...

2018-09-09 21:50:32 1996

转载 SVM

https://github.com/apachecn/hands_on_Ml_with_Sklearn_and_TF/blob/dev/docs/5.%E6%94%AF%E6%8C%81%E5%90%91%E9%87%8F%E6%9C%BA.md#%E5%A2%9E%E5%8A%A0%E7%9B%B8%E4%BC%BC%E7%89%B9%E5%BE%81线性SVM分类器在很多情况下表现得出乎...

2018-09-06 22:39:51 217

原创 正确理解查准率与查全率、auc值

在周志华老师的西瓜书里面,将这两个词分别翻译为查准率(precision)和查全率(recall),这样可以顾名思义,了解到这两个词的意思,查准率就是对于所有机器判定为正的里面,有多大的比例是真的正样本,写成公式就是 P=TPTP+FP其中TP,FP分别表示true positive和false positive,即所谓真阳性和假阳性,而对于查全率,顾名思义,就是实际的正样本中,有多大比例...

2018-08-30 22:47:07 2444

原创 机器学习项目主要步骤详细清单(精)

 对于机器学习项目来说,你开始获得之后有一个总体思路很重要,也需要一些默认遵守的原则.  个人记录翻译  Hands-On Machine Learning with Scikit-Learn and TensorFlow 附录B指导你完成你机器学习项目的清单列表主要是有8个主要步骤:从整体上思考观察所需要解决的问题.获得数据.仔细观察你的数据得到对这些数据的思路与想法.将...

2018-08-16 10:38:11 2056

原创 pandas用法示例

示例:用特定于分组的值填充缺失值对于缺失数据的清理工作,有时你会用dropna将其替换掉,而有时则可能会希望用一个固定值或由数据集本身所衍生出来的值去填充NA值。这时就得使用fillna这个工具了。在下面这个例子中,我用平均值去填充NA值:In [91]: s = pd.Series(np.random.randn(6))In [92]: s[::2] = np.nanIn [...

2018-08-08 20:04:26 588

原创 pandas 分组聚合

df.groupby('key1')['data1']df.groupby('key1')[['data2']]是以下代码的语法糖:df['data1'].groupby(df['key1'])df[['data2']].groupby(df['key1'])对一个列或不同的列应用不同的函数具体的办法是向agg传入一个从列名映射到函数的字典:In [71]: gro...

2018-08-02 23:48:34 435

原创 数据规整:聚合、合并和重塑

merge函数的参数对于pandas对象(如Series和DataFrame),带有标签的轴使你能够进一步推广数组的连接运算。具体点说,你还需要考虑以下这些东西:如果对象在其它轴上的索引不同,我们应该合并这些轴的不同元素还是只使用交集? 连接的数据集是否需要在结果对象中可识别? 连接轴中保存的数据是否需要保留?许多情况下,DataFrame默认的整数标签最好在连接时删掉。 pan...

2018-07-19 10:42:42 639

原创 数据清洗与准备 (pandas)

作者:SeanCheney 链接:https://www.jianshu.com/p/ac7bec000dad#处理缺失数据与处理缺失值相关的api 滤除缺失数据过滤掉缺失数据的办法有很多种。你可以通过pandas.isnull或布尔索引的手工方法,但dropna可能会更实用一些。对于一个Series,dropna返回一个仅含非空数据和索引值的Series:In [15]:...

2018-07-12 10:25:30 689

转载 pandas使用(不定期把所见的比较有效的处理方式加过来)

作者:SeanCheney 链接:https://www.jianshu.com/p/161364dd0acf没有全部详细整过来,大概弄了一下 sort_values 列可以通过赋值的方式进行修改。例如,我们可以给那个空的”debt”列赋上一个标量值或一组值:In [54]: frame2['debt'] = 16.5In [55]: frame2Out[55]...

2018-07-11 23:53:05 408

空空如也

空空如也

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

TA关注的人

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