自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 收藏
  • 关注

原创 L1,L2正则化

线性:两个变量之间的关系是一次函数关系的——图象是直线,叫做线性。非线性:两个变量之间的关系不是一次函数关系的——图象不是直线,叫做非线性。linear regression model 容易出现过拟合或者欠拟合的问题,解决方式是加正则化项:L0范数指向量中非零元素的个数L1范数:向量中每个元素绝对值的和L2范数:向量元素绝对值的平方和再开平方使用正则化项,也就是给loss fun...

2019-12-11 21:42:35 202

原创 KNN的K值选取

note: 近似误差:可以理解为对现有训练集的训练误差。 估计误差:可以理解为对测试集的测试误差。如果选择较小的K值,就相当于用较小的领域中的训练实例进行预测,“学习”近似误差会减小,只有与输入实例较近或相似的训练实例才会对预测结果起作用,与此同时带来的问题是“学习”的估计误差会增大,换句话说,K值的减小就意味着整体模型变得复杂,容易发生过拟合;如果选择较大的K值,就相当于用较大领域中...

2019-12-09 21:33:15 2313

原创 53 最大子序列 动态规划

动态规划定义当前最大连续子序列和cur_sum=0cur_sum=0,最大子序和res=nums[0]res=nums[0],数组长度nn对数组进行遍历,对于nums[i]nums[i],存在两种情况:若当前最大连续子序列和cur_sum>0cur_sum>0,说明cur_sumcur_sum对后续结果有着正向增益,即能使后续结果继续增大,则继续加和cur_sum=cur_sum...

2019-12-09 16:49:58 176

原创 45 跳跃游戏2 贪心算法

贪心规律主要是比较两个位置,即在这一点跳一步的位置和在这一点跳num[i]步的位置算法思路设置current_max_index 为当前可达的最远位置(部分最优)pre_max_max_index 为遍历各个位置过程中,各个位置能达到的最远位置res 为最少跳跃次数利用i遍历nums数组,如超过cur_max_index 则res加1, cur_max_index = pre_max_...

2019-11-27 19:59:14 226

原创 415 字符串相加

设定 i,j 两指针分别指向 num1,num2 尾部,模拟人工加法;计算进位: 计算 carry = tmp // 10,代表当前位相加是否产生进位;添加当前位: 计算 tmp = n1 + n2 + carry,并将当前位 tmp % 10 添加至 res 头部;索引溢出处理: 当指针 i或j 走过数字首部后,给 n1,n2 赋值为 00,相当于给 num1,num2 中长度较短的数字前...

2019-11-27 19:11:43 113

原创 42 接雨水 双指针

对于一个较低的坑来说,其储水量高度取决于左侧最高柱与右侧最高柱的较小高度可以用两个指针,分别从左右两边往中间逼近,左侧或者右侧的储水量只取决于当前一侧的高度差if len(height) ==0: return 0left,right = 0,len(height)-1left_max, right_max = height[left], height[right]r= 0wh...

2019-11-26 21:44:09 157

原创 41缺失的第一个正数 桶排序

桶排序:一个萝卜一个坑,没有坑的既是异类每个数都有对应的index对应,如果超过index或者这个数是负数,则是异类if not nums: return 1size = len(nums)for i in range(size): while (0<nums[i]<=n and nums[i]!=nums[nums[i]-1]): nums[n...

2019-11-26 21:19:32 86

原创 模型评价指标

本来想写一个评价指标的总结,但发现这篇文章已经总结很清楚了直接熟记这篇文章的概念就好了

2019-11-26 19:50:44 167

原创 组合总和 2 回溯法40

思路:和39题的区别是,不能重复调用给定的元素自身,和上一题的相同点是,都不可以有重复解回溯法最主要的两点,一点是类似于递归,如果符合当前条件就继续继续进行下去,如果不符合则终止,跳到上一循环,同时对这一循环中的某些已经改变的量还原。这题为了避免重复调用某个元素,需要做一个判断,如目标list:[1,2,2,2,5] , target = 5若1,2,2(前两个2)已经实现,返回上一循环...

2019-11-25 20:33:37 136

原创 39 组合总和 回溯法

思路:https://leetcode-cn.com/problems/combination-sum/solution/hui-su-jian-zhi-jian-zhi-hou-9394zhu-xing-jie-shi-/回溯法+排序剪枝为了对算法进行剪枝处理,首先对candidatescandidates排序特判,若candidatescandidates为空,则返回[][]回溯函数...

2019-11-25 20:04:18 122

原创 leetcode 36,37,验证数独,解数独,回溯法

关键词:回溯法个人理解:对某个问题加上限值条件,如果在进行到某步发现无法在有限制条件下做出,则重新回到某一步重新开始测试其它方案(数值)。from collections import defaultdictclass Solution: def solveSudoku(self, board): """ :type board: List[List[...

2019-11-23 20:50:38 159

原创 pandas基础(一)

《利用python进行数据分析》chapter5pandas的数据结构介绍要使用pandas,你首先就得熟悉它的两个主要数据结构:Series和DataFrameSeriesSeries是一种类似于一维数组的对象,它由一组数据(各种NumPy数据类型)以及一组与之相关的数据标签(即索引)组成。仅由一组数据即可产生最简单的Series:In [11]: obj = pd.Series(...

2019-09-02 21:48:00 152

原创 第四章 推荐系统的基础算法笔记(二)

第四章 推荐系统的基础算法笔记(二)推荐系统基于内容的推荐基于邻域的推荐基于用户的协同过滤基于物品的协同过滤基于用户:从用户的兴趣相似出发,给用户推荐与其兴趣相似的其他用户喜欢的物品;基于物品:就是直接给用户推荐和他之前喜欢的物品相似的物品。4.1 基于内容的推荐算法基于内容的推荐系统本质是对内容进行分析,建立特征;基于用户对何种特征的内容感兴趣以及分析一个内容具备什么特...

2019-09-02 20:30:24 494

原创 python数据结构-切片,序列函数

《利用python进行数据分析》chapter3切片用切边可以选取大多数序列类型的一部分,切片的基本形式是在方括号中使用start:stop:In [73]: seq = [7, 2, 3, 7, 5, 6, 0, 1]In [74]: seq[1:5]Out[74]: [2, 3, 7, 5]切片也可以被序列赋值:In [75]: seq[3:4] = [6, 3]In...

2019-09-02 20:27:40 168

原创 python匿名(lambda)函数

《利用python进行数据分析》chapter3Python支持一种被称为匿名的、或lambda函数。它仅由单条语句组成,该语句的结果就是返回值。它是通过lambda关键字定义的,这个关键字没有别的含义,仅仅是说“我们正在声明的是一个匿名函数”。def short_function(x): return x * 2equiv_anon = lambda x: x * 2本书...

2019-09-02 20:27:15 2697

原创 stacking回归模型模板

在一些比赛中经常要用到stacking对多模型预测结果进行拟合,最常用到的就是stacking,stacking已经有非常多的博客进行了介绍,但是regressor还较少,并且适用性不强。我理解的stacking其实是一种思想而不是某个直接可以import的轮子,我认为它核心思想就是KFold + 模型复用我们可以尽量简单理解,不用想的那么复杂:将训练集进行K 部分拆分,某个模型随机训练...

2019-09-02 20:26:57 3220

原创 Numpy基础

In [7]: import numpy as npIn [8]: my_arr = np.arange(1000000)In [9]: my_list = list(range(1000000))各个序列分别乘以2,基于NumPy的算法要比纯Python快10到100倍(甚至更快),并且使用的内存更少。4.1 NumPy的ndarray:一种多维数组对象...

2019-09-01 13:47:14 106

原创 python数据结构-字典,集合

它更为常见的名字是哈希映射或关联数组。它是键值对的大小可变集合,键和值都是Python对象。创建字典的方法之一是使用尖括号,用冒号分隔键和值:In [101]: empty_dict = {}In [102]: d1 = {'a' : 'some value', 'b' : [1, 2, 3, 4]}In [103]: d1Out[103]: {'a': 'some value', '...

2019-08-31 19:14:50 283

原创 python数据结构-元组,列表

利用python进行数据分析chapter3元组元组是一个固定长度,不可改变的Python序列对象。创建元组的最简单方式,是用逗号分隔一列值:In [1]: tup = 4, 5, 6In [2]: tupOut[2]: (4, 5, 6)当用复杂的表达式定义元组,最好将值放到圆括号内,如下所示:In [3]: nested_tup = (4, 5, 6), (7, 8)...

2019-08-31 15:48:01 419

原创 Python中的三元表达式

Python中的三元表达式可以将if-else语句放到一行里。语法如下:value = true-expr if condition else false-exprtrue-expr或false-expr可以是任何Python代码。它和下面的代码效果相同:if condition: value = true-exprelse: value = false-expr下面...

2019-08-31 15:18:17 127

原创 python中datetime用法

日期和时间Python内建的datetime模块提供了datetime、date和time类型。datetime类型结合了date和time,是最常使用的:In [102]: from datetime import datetime, date, timeIn [103]: dt = datetime(2011, 10, 29, 20, 30, 21)In [104]: dt.day...

2019-08-31 15:13:06 1258

原创 GLM,FM,FFM,DeepFM原理总结与实践

ref:FM系列算法解读(FM+FFM+DeepFM)用Keras实现一个DeepFM推荐系统遇上深度学习(三)–DeepFM模型理论和实践GLM:General Linear Model广义线性模型意为利用连接函数将各种分布(正态分布,二项分布,泊松分布)假设下的因变量Y与自变量X想联系起来,使用十分广泛。原理:线性分类:FM(Factorization Machine)...

2019-08-26 19:57:08 690

原创 美团机器学习实践笔记(三)

我们在这里主要介绍其中三种在工业界和美团应用十分广泛的模型一一逻辑回归、场感知因子分解机和l 梯度提升树。

2019-08-26 19:15:28 162

原创 数据处理合并年月两列

data.head(3)data['date'] = (np.array(data.regYear.astype(str),dtype='datetime64[Y]') + np.array(data.regMonth-1,dtype='timedelta64[M]'))data['date2'] = pd.to_datetime(data['date'])data['date2']...

2019-08-26 15:53:30 678

原创 机器学习训练与建筑师(一)

最近通过参加比赛来进行学习,前两天主要是调用了lightgbm,kfold,gridsearch,xgboost这几个模型/api。简单谈谈体会,感觉整体的训练过程就好像盖房子,自己是建筑师:首先需要有一个建筑的图纸,也就是一个空模型,如xgb或者lgb或其他模型然后要建筑工人累砖瓦,也就是填入模型的参数,比如xgb的xgb.train(params),而对于metrics其实就相当于垒砖...

2019-08-25 23:08:12 424

原创 XGBoost 参数查询

Core XGBoost Libraryhttps://xgboost.readthedocs.io/en/latest/python/python_api.htmlclassxgboost.DMatrix(data,label=None,missing=None,weight=None,silent=False,feature_names=None,feature_ty...

2019-08-25 21:28:49 2640

原创 美团机器学习实践笔记(二)

特征工程据和特征决定了机器学习算法的上限,而模型和算法只是不断逼近这个上限而已2.1 特征提取根据机器学习算法所要学习的目标和业务逻辑,我们需要考虑数据中有哪些可能相关的要素。例如在美团酒店搜索排序中,酒店的销量、价格、用户的消费水平等是强相关的因素,用户的年龄、位置可能是弱相关的因素,用户的D是完全无关的因素。在确定了哪些因素可能与预测目标相关后,我们需要将此信息表示为数值类型,即...

2019-08-22 20:02:15 304

原创 推荐系统与深度学习笔记(一)

第一章是一些基础的科普和发展历史,粗粗一看略过。二,神经网络基础2.1神经网络基本结构最左边的层叫作输入层,该层负责接收输入数据;最右边的层叫作输出层,我们可以从该层获取神经网络输出数据。输入层和输出层之间的层叫作隐藏层。其基本的组成单元是神经元,也叫做感知机。在神经网络中,有了样本的输入和权重参数,我们就可以通过正向传播求得输出值。然而,输出值一般会与预测值差异很大,这是因...

2019-08-22 12:52:17 212

原创 美团机器学习实战笔记(一)

美团机器学习实战笔记(一)第一章:问题建模1.1 评估指标评估指标根据任务类型分类,可分为分类指标、回归指标、聚类指标和排序指标等1.1.1 分类指标1.精确率和召回率:多用于二分类问题可结合棍淆矩阵介绍其中:理想情况下,精确率和召回率两者都越高越好,然而事实上这两者在某些情况下是矛盾的:精确率高时\召回率低;而精确率低时,召回率高。此外,准确率和错误率也是常用的评估指标:...

2019-08-19 21:25:22 741

原创 sort_values用法(自用)

DataFrame.sort_values(by=‘##’,axis=0,ascending=True, inplace=False, na_position=‘last’)by:按哪一列为主ascend:从上到下为从小到大axis:若axis=1或’columns’,则按照指定索引中数据大小排序,默认axis=0x = pd.DataFrame({'x1':[1,2,2,3],'x2'...

2019-08-19 16:15:17 4553

原创 数据处理中的细节(自用)

# 同时满足两个条件data = data.loc[(data.period!=-999)|(data.nuni!=-999)]满足某条件bid_nuni = bid_nuni[bid_nuni[‘nuni’]==1]填充缺失值data[‘nuni’] = data[‘nuni’].fillna(-999)# 移除相同 样本totalExposureLog = totalExposu...

2019-08-19 15:45:41 149

原创 item = item.split(',')[3]

split()方法是将指定字符串按某指定的分隔符进行拆分,拆分将会形成一个字符串的数组并返回如:string str = “aa.bb.cc.dd”;string[] strArray = str.Split(’.’);所得到的结果strArray的值为 string[]{“aa”,“bb”,“cc”,“dd”}其中"aa",“bb”,“cc”,“dd"即是构成数组strArray的元素...

2019-08-19 15:35:17 3368

原创 数据挖掘常用库官方文档总结

matplotlibnumpypandaskerassklearn

2019-08-19 14:08:57 89

原创 美团_深入FFM原理与实践

https://tech.meituan.com/2016/03/03/deep-understanding-of-ffm-principles-and-practices.html

2019-08-18 19:41:23 281

原创 数据挖掘竞赛夺冠算法陈运文

CIKM Competition数据挖掘竞赛夺冠算法陈运文#很多思路都很新,特征构造和模型融合都非常细致http://www.52nlp.cn/cikm-competition-topdata

2019-08-18 15:44:33 748

原创 隐语义模型初步理解

目前大多数广告推荐算法预处理看起来都像隐语义模型,在实际操作中一般用groupby函数进行操作

2019-08-16 16:03:16 370

原创 协同过滤基本知识点记录

2019-08-16 15:40:18 112

原创 时间序列简单总结

今天看了一下唐宇迪的时间序列分析,对时间序列有了初步的认识。这里总结一下一些相关知识首先时间序列即以时间未变化(x轴)的一系列数据。这个数据可能变化的情况非常剧烈,所以不便于分析,我们希望它能反应出稳定的变化趋势,这时候便有了ARIMA模型,这个模型主要反映的还是数据的以时间为横轴的差分变化情况,一阶差分即将t时刻数据值减去t-1时刻数据值得到的数据,这样得到的数据会更稳定,二阶差分即在一阶...

2019-08-16 15:11:41 544

原创 onehot编码后稀疏矩阵转化为密集矩阵的方法

假设encoder编码后矩阵某一行为(0,0,0,0,0,1,0)则转化为(7,6,1),共有7列,第6列为1

2019-08-16 11:11:50 2302

原创 lgbm输出特征重要性

lgb_clf = lgb.LGBMClassifier(objective='binary',num_leaves=35,max_depth=6,learning_rate=0.05,seed=2018, colsample_bytree=0.8,subsample=0.9,n_estimators=20000)lgb_model = lgb_clf.fit(train_x[...

2019-08-13 15:44:18 16654

空空如也

空空如也

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

TA关注的人

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