自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 问答 (2)
  • 收藏
  • 关注

原创 python:用单链表判断字符串是不是回文数

参考博客:https://blog.csdn.net/whm114336793/article/details/79996943思想:使用快慢指针,当快指针走的终点的时候,慢指针在中间的位置,把中间到最后的位置开始倒序链表。其中要分奇偶考虑,如果是奇数,slow = slow—>next。然后将前半部分和后半部分分别从两头开始比较元素是否相等。此算法时间复杂度O(N),空间复杂度O(1)...

2018-10-09 10:07:34 872

原创 xgboost 逻辑回归:objective参数(reg:logistic,binary:logistic,binary:logitraw,)对比分析

熟悉xgboost的小伙伴都知道,它在训练模型时,有train()方法和fit()方法,train方法使用如下:params ={'eta': 0.1, 'max_depth': 4, 'num_boost_round':20, 'objective': 'reg:logistic', 'random_state': ...

2018-07-11 22:26:53 28610 7

原创 决策树的可视化输出

前面的博客里有提到决策树,我们也了解了决策树的构建过程,如果可以可视化决策树,把决策树打印出来,对我们理解决策树的构建会有很大的帮助。这篇文章中,我们就来看下如何可视化输出一棵决策树。一、安装相应的插件我们需要安装Graphviz和pygraphviz,教程,这个教程里有详细的安装过程,这里就不赘述了。二、运行实例我们依然以iris数据集为例,打印输出决策树看下效果。#coding=utf-8i...

2018-04-11 22:30:12 13878 1

原创 gcForest:探索深度神经网络以外的方法

前段时间一直在搞xgboost,测试数据集准确率达到了:98.14%左右,调参达到了瓶颈,感觉准确率无法提升了,老师给推荐了gcForest,下载了源码,用默认的参数跑了下,测试数据准确率能达到98.6%左右。然后拜读了下周老师的论文,感觉他的算法在原来集成学习的基础上做了很大的改善,吸取了很多深度学习的东西。附上gcForest简介的链接,感兴趣的了解下:https://mp.weixin.qq...

2018-04-09 17:03:56 1701 2

原创 机器学习一 集成学习

一、何为机器学习?机器学习最近那么火,博主自学习以来,也看过不少有关机器学习的资料,首先对于机器学习的定义就又五花八门,什么让机器像人一样去学习,说的总感觉有些浮夸而不现实,把机器学习搞的也太神秘了,有幸看了吴恩达的课程,最喜欢课程里吴恩达引用的卡内基梅隆大学,Tom Michael Mitchell 1997年对机器学习下的定义:A computer program is said to lea...

2018-01-27 22:38:00 1540

原创 NLP-相似度度量

一、提取特征阶段1、TF-IDF简介:TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。两个重要的概念:1) TF:词频 (term frequency, TF)指的是某一个给定的词语在该文件中出现的次数。这个数字通常会被归一化(分子一般小于分母 区别于IDF),以防止它偏向长的文件。(同一个词语在长文件里可能会比短文件有更高的词频,而不管该词...

2021-02-24 10:48:49 376

原创 XGBoost常见错误与调优

一、常见错误1、空值报错信息:java.lang.RuntimeException: you can only specify missing value as 0.0 (the currently set value NaN) when you have SparseVector or Empty vector as your feature formatat ml.dmlc.xgboost4j.scala.spark.XGBoost$$anonfun$verifyMissingSettin

2021-02-24 10:48:37 1321

原创 分布式&单机 python&scala

1、运行toPandas()时,数据帧从分布式(工作)内存复制到本地(主)内存,并丢失大部分分布式计算功能。

2021-02-23 22:57:43 164

原创 Spark、Hive杂谈

一、Hive杂谈二、Spark杂谈1、spark core和 spark sqlSpark SQL构建在Spark Core之上,专门用来处理结构化数据(不仅仅是SQL)。即Spark SQL是Spark Core封装而来的!Spark SQL在Spark Core的基础上针对结构化数据处理进行很多优化和改进,  简单来讲:    Spark SQL 支持很多种结构化数据源,可以让你跳过复杂的读取过程,轻松从各种数据源中读取数据。    当你使用SQL查询这些数据源中的数据并且只

2021-02-23 22:57:07 144

原创 Spark作业性能预测模型

一、背景和研究现状1、基础知识1)任务是Spark的最小执行单元。由于不同任务所需 数据可能存在于集群各节点上,且数据量不尽相同,导致 同样计算逻辑任务在不同的计算节点上执行的时间产生很大差异,需要根据应用运行的实时环境进行动态预预测。对任务执行时间的有效预测可以指导Spark进行 性能分析、优化资源调度以及监控平台故障。目前,在Spark平台还没有成熟的任务执行时间预估技术。2)对于Spark作业性能的预测应该从以下几个方面进行:Spark平台任务的拉取、执行过程,结合各任务在不同节.

2021-02-23 22:54:54 1027

原创 scala spark常见问题

1、解决Spark2.0之后,报错No implicits found for parameter evidence$6: Encoder当我们在使用spark1.6的时候,当我们创建SQLContext读取一个文件之后,返回DataFrame类型的变量可以直接.map操作,不会报错。但是升级之后会报上述错误,解决办法;import sess.implicits._隐式转换...

2021-02-23 22:53:16 376

原创 python 常用操作和报错

1、python列表生成式的嵌套demo1:foriina: forjini: print(j)写法:result=[jforiinaforjini]先写需要输出的内容j,先遍历外循环for i in a,在遍历内循环for j in idemo2:foritemintmp_list: fork,vinitem.items(): print(str(k) +":"+st...

2021-02-23 22:52:14 145

原创 ML常见错误及原因

一、编码问题1、读入文件编码问题报错:UnicodeDecodeError: 'gbk' codec can't decode byte 0x93 in position 5251: illegal multibyte sequence代码:fr =open(file_path,'r')#从语料库文件中读取数据并统计词频lines = fr.readlines()办法:fr =open(file_path,'r',encoding = 'utf-8')PS:被引入的文...

2021-02-23 22:50:42 443

原创 基于RNN的Attention机制

一、注意力机制:1、为什么会产生注意力机制前馈网络和循环网络都有很强的能力。但为什么还要引入注意力机制呢?1)计算能力的限制:当要记住很多“信息“,模型就要变得更复杂,然而目前计算能力依然是限制神经网络发展的瓶颈。2)优化算法的限制:虽然局部连接、权重共享以及pooling等优化操作可以让神经网络变得简单一些,有效缓解模型复杂度和表达能力之间的矛盾;但是,如循环神经网络中的长距离以来问题,信息“记忆”能力并不高。可通过Attention机制只 选择一些关键的信息输入进行处理,来提高神经网

2021-02-23 22:43:57 1915

原创 推荐系统二 之图算法:DeepWalk&Node2vec

写在前面1、Deepwalk 和 Node2vec 这些图算法的本质就是特征提取器,对graph进行采样(Sampling),对采样出来的序列构造模型(embedding),最终把节点转化为特征向量,即为embedding。2、图算法的优势graph是对复杂的连接关系建模,通过用户行为序列,能够更好地学的items的高阶相似关系。同时,在构建数据集的过程中,能够让长尾商品获得更多的训练,弥补数据稀疏的问题,有效提升覆盖率。一、Deepwalk1、来源:出自14年KDD:《DeepWa

2021-02-23 22:41:18 2081

原创 推荐系统一:召回和排序

一、概述1、粗略推荐系统的两个阶段实际的工业推荐系统,如果粗分的化,经常讲的有两个阶段。首先是召回,主要根据用户部分特征,从海量的物品库里,快速找回一小部分用户潜在感兴趣的物品,然后交给排序环节,排序环节可以融入较多特征,使用复杂模型,来精准地做个性化推荐。召回强调快,排序强调准。当然,这是传统角度看推荐这个事情。2、细致推荐系统的四个阶段四个环节分别是:召回、粗排、精排和重排。召回目的如上所述;有时候因为每个用户召回环节返回的物品数量还是太多,怕排序环节速度跟不上,所以可以在召回和

2021-02-23 22:39:09 2283 1

原创 推荐系统概述

推荐系统概述一、概述1、推荐系统从搜索引擎借鉴了不少技术和思想,比如内容推荐有不少技术就来自搜索引擎, 由 Amazon 发扬光大的,基于用户( User-based )和基于物品( Item-based )的协同过滤将推荐系统技术从内容延伸到协同关系,超越了内容本身。2、世界在向网状发展,万事万物倾向于相互连接构成复杂网络。复杂网络具有无尺度特点,表现是:少数节点集聚了大量连接。这个现象不陌生,叫做马太效应,社交网络粉丝数、网页链接引用量、电商网站商品销量等等,无不如此。推荐系统的使命,就是要

2021-02-23 22:36:52 382

原创 每日一题——编程:连续子数组的最大和leedcode53

题目:给定一个整数数组nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释:连续子数组[4,-1,2,1] 的和最大,为6。解法一:暴力破解法 时间复杂度O(N^3) 超时这是我们最容易想到的,通过枚举暴力破解,但是时间复杂度过高,算法运行超时。def ...

2019-04-11 15:45:20 261

原创 面试-查找-树表的查找

一、树表的查找:主要包括二叉排序树,平衡二叉树,B树1、二叉排序树1)定义:二叉排序树(BST;Binary Search Tree)又称二叉查找树。或者为空树,或者是具有以下性质:(1)若它的左子树不为空,则左子树所有节点的值小于根结点,(2)若它的右子树不为空,则根结点的值小于所有右子树结点的值(3)它的左右子树叶分别为二叉排序树2)python实现:#二叉树...

2019-03-02 11:37:32 164

原创 面试-查找-线性表的查找

一、线性表的查找算法包括顺序查找,折半查找和分块查找1、折半查找1)过程:折半查找又称二分查找,要求线性表有序。在一个有序序列中,先确定中间点的位置mid ,然后将待查的k值与中间点数据比较,若相等则查找成功并返回该位置......2)python实现:不递归:#二分查找:输入一个list,待查找的item;输出待查找元素的位置def search(list1,item):...

2019-03-02 10:45:09 192

原创 面试-排序-(三)选择排序

一、选择排序:每步从待排序的元素中选出关键字最小的元素,顺序放在已经排序的元素序列的最后,直到全部排完为止。常见的选择排序有简单选择排序和堆排序1.简单选择排序1)过程:假设元素存放在R[0..n-1]之中,其中R[0..i-1]是有序的,R[i..n-1]是无序的,且有序的所有元素均小于无序的元素。需将R[i]添加到[0..i-1]之中,使R[0..i]有序。查找的过程是每一趟从R[...

2019-03-01 22:25:42 337

原创 面试-排序-(一)交换排序

一、交换排序:两两比较待排序的关键字,并交换不满足次序要求的那些偶对,直到全部满足为止。常见的交换排序有冒泡排序和快速排序1.冒泡排序1)过程:比较相邻元素,使关键字较小的元素交换至关键字较大的元素之上,使得经过一次冒泡排序后,关键字最小的元素到达最顶端,接着找到第二小的元素,依次类推。冒泡排序示意图2)python实现:def sort1(a): lengt...

2019-03-01 16:25:24 250

原创 面试-排序-(二)插入排序

一、插入排序:每一趟将一个待排序的元素,按其关键字的大小插入到已排序序列的适当位置,直到全部插入完成。常见的插入排序有以下三种。1、直接插入排序1)过程:直接插入排序是一种最简单的排序方法,其过程就是依次将每个元素插入到一个有序的序列中去。不过它有个缺点,就是当我们的数据基本有序时,每次插入都要移动位置,此时的插入效率是很低的。为了解决这种情况,又产生了拆半插入排序,希尔排序。工作...

2019-03-01 16:18:34 266

原创 如何利用gcForest为特征打分?

 楼主前面有一篇博客提到了周志华老师又一力作:gcForest:探索深度神经网络以外的方法,不了解的小伙伴可以翻前面的博客。这个算法的确比传统的集成树算法:RandomForest,XGBoost,lightGBM都要优秀,而且引入层的概念后很好的解决了集成树算法容易过拟合的问题。简单讲他就是借鉴了深度学习分层训练的思路,将机器学习中常用的RandomForest,XGBoost,Lo...

2018-12-26 16:36:41 1887 3

原创 xgboost 多分类:objective参数(reg:linear,multi:softmax,multi:softprob)对比分析

一、问题上篇文章中我们已经搞明白了逻辑回归的问题中,xgboost的train(),fit()方法已经不同参数的objective的对应的输出结果和关系,这篇文章我们就来研究下xgboost再做多分类时,train(),fit()建模后输出的值是怎么样的,它都有那些objective的参数,并且分别对应着怎样的输出?二、objective参数比较xgboost的官方文档关于多分类的objectiv...

2018-07-12 19:12:49 35965 3

原创 python环境配置和安装以及Anaconda简介

Python是一种解释型,面向对象,动态数据类型的高级程序设计语言,学习和使用十分简单,是大数据分析和机器学习的必备语言,本文简单介绍了下Python的环境配置,下载安装以及常用的IDE:PyCharm,最后推荐了一款Python学习利器——Anaconda,希望对您有所帮助!

2017-11-25 20:47:46 542

空空如也

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

TA关注的人

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