- 博客(62)
- 资源 (14)
- 收藏
- 关注
原创 天池推荐系统实战Task4笔记【特征工程】
天池新闻推荐特征工程笔记task4,本章主要专注于推荐特征的构建制作特征和标签, 转成监督学习问题我们先捋一下基于原始的给定数据, 有哪些特征可以直接利用: 文章的自身特征, category_id表示这文章的类型, created_at_ts表示文章建立的时间, 这个关系着文章的时效性, words_count是文章的字数, 一般字数太长我们不太喜欢点击, 也不排除有人就喜欢读长文。 文章的内容embedding特征, 这个召回的时候用过, 这里可以选择使用, 也可以选择不用, 也
2020-12-03 21:44:06 403
原创 Google机器学习课程笔记之概念--问题构建 (Framing):机器学习主要术语
什么是(监督式)机器学习?简单来说,它的定义如下:机器学习系统通过学习如何组合输入信息来对从未见过的数据做出有用的预测。下面我们来了解一下机器学习的基本术语。标签在简单线性回归中,标签是我们要预测的事物,即 y 变量。标签可以是小麦未来的价格、图片中显示的动物品种、音频剪辑的含义或任何事物。特征在简单线性回归中,特征是输入变量,即 x 变量。简单的机器学习项目可能会使用单个特征,而比较复杂的机器学...
2018-03-25 15:45:36 488
原创 字符串unicode与decimal转换
java codeString text = "보";String s2 = StringEscapeUtils.unescapeHtml(text);输出: 보
2018-02-05 18:14:17 2351
转载 经典字符串算法 “最长上升子序列,最大连续子序列和,最长公共子串”
一、问题描述这是三道典型的字符串dp问题。最长上升子序列:在一列数中寻找一些数,这些数满足:任意两个数a[i]和a[j],若i设dp[i]表示以i为结尾的最长递增子序列的长度,则状态转移方程为:dp[i] = max{dp[j]+1}, 1考虑两个数a[x]和a[y],x数据结构来存储可能的递增子序列的元素,并且需要在某些时候进行替换。因此我们可以用一个链表来存储,并且在查
2017-05-06 18:00:08 4667
原创 经典算法求字符串的编辑距离
编辑距离定义通过插入删除或替换使得一个字符串变为另一个字符串的最小操作次数。DP思路设有字符串a和字符串ba[m]表示第一个字符串,m表示该字符串字符的下标为0~mb[n]表示第二个字符串,n表示该字符串字符的下标为0~nd[i][j]表示子串a[i]和子串a[j]的最小编辑距离那么边界条件:d[i][0]=i, 0=<i<=md[0][j]=j, 0=<j<=n状态转移方程:if(a
2017-05-06 17:47:59 725
原创 401. Binary Watch
描述:A binary watch has 4 LEDs on the top which represent the hours (0-11), and the 6 LEDs on the bottom represent the minutes (0-59).Each LED represents a zero or one, with the least significan
2016-10-14 16:13:05 616
原创 建立https链接的SLL验证证书失效问题
爬取网页遇到的目标站点证书不合法问题。使用jsoup爬取解析网页时,出现了如下的异常情况。javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBu
2016-10-14 11:33:18 8075 1
原创 Leetcode -- Verify Preorder Serialization of a Binary Tree
题目描述One way to serialize a binary tree is to use pre-order traversal. When we encounter a non-null node, we record the node's value. If it is a null node, we record using a sentinel value such a
2016-09-29 19:15:19 503
原创 新闻中文本地域信息标签的抽取
这里主要是基于规则的新闻地域提取方法,这里简要记录一下思路。首先我们拥有了地域信息数据库,并且标注了省市的layer层信息。主要思路是利用nlp库,分词得到标有地名属性词,在于地域数据库匹配。第一步,提取正文分词得到标注为地名的词语。第二步,匹配地域数据库。按照数据库的分类有省:一级市:二级区、县:三级算法伪代码:code指当前城市的key,pcod
2016-08-31 18:37:27 3232 2
原创 ssh远程执行shell实例
基本原理SSH(Secure Shell)是一个提供数据通信安全、远程登录、远程指令执行等功能的安全网络协议。SSH发展了两个大版本SSH-1和SSH-2,目前主流的是SSH-2协议。SSH的主要特性,避免数据内容泄漏,数据被篡改,以及发送或接受地址伪装。SSH登录中主要分为认证阶段和传输阶段。由于非对称加密解密(公钥私钥)时间较慢,所以只在登录认证阶段使用。认证成功后通信双方使用在认证阶段两者约定
2016-02-02 20:28:01 1452
原创 263. Ugly Number
题目:Write a program to check whether a given number is an ugly number.Ugly numbers are positive numbers whose prime factors only include 2, 3, 5. For example, 6, 8 are ugly while 14 is no
2015-12-31 19:28:23 796
原创 一次java全角字符与半角字符转换优化
全角与半角通常的英文字母、数字键、符号键都是半角的,半角的显示内码都是一个字节。而每个全角字符占用两个标准字符(或半角字符)位置半角字符是从33开始到126结束,与半角字符对应的全角字符是从65281开始到65374结束其中较为特殊的是空格,半角的空格是32.对应的全角空格是12288半角和全角的关系很明显,除空格外的字符偏移量是65248(65281-33 = 652
2015-11-27 20:30:11 1175
原创 Java使用BlockingQueue实现生产者消费者模式
生产者和消费者模式通过执行工作的分离解耦,简化了开发模式,生产者和消费者可以以不同的速度生产和消费数据。 是一种非常好的解耦开发模式。Java实现的经典的方法是使用wait和notify方法来协调生产者消费者的同步合作,实现生产者消费者模式最方便的方法是使用juc中的阻塞队列。juc中的阻塞队列(BlockingQueue)结构更简单,更容易编程控制。 我们只需要编写业务代码,同步的问题,
2015-10-28 16:10:38 1773
原创 awk笔记
awk是一种报告生成器语言,主要用作格式化处理文本。一、printprint的使用格式:print item1, item2, ...要点:1、各项目之间使用逗号隔开,而输出时则以空白字符分隔;2、输出的item可以为字符串或数值、当前记录的字段(如$1)、变量或awk的表达式;数值会先转换为字符串,而后再输出;3、print命令后面的item可以省略,此时其功
2015-09-30 19:17:39 670
原创 使用phantomjs抓取JS动态生成的页面
关于phantomjsphantomjs实现了一个无界面的webkit浏览器。虽然没有界面,但dom渲染、js运行、网络访问等API都很完整。可以利用phantomjs来下载js生成的页面。下载phantomjs(http://phantomjs.org/download.html)。解压到任意目录,在Windows下将包含phantomjs.exe的目录添加到系统路径。Linux下 phantom
2015-08-29 21:20:45 6661
原创 使用selenium抓取JS动态生成的页面
在抓取网页数据时,传统jsoup方案只能对静态页面有效,而有些网页数据往往是js生成的,所以这时候需要其它的方案。首先的思路是分析js程序,对js的请求进行再次抓取,这适合于特定的页面抓取,要做到对不同目标URL的通用性,比较麻烦。第二种思路,也是比较成熟的做法是利用第三方的驱动渲染页面,然后下载。这里介绍一下第二种实现思路。Selenium是一个模拟浏览器的自动化测试工具,它
2015-07-31 19:55:01 13095
原创 Java实现单例模式总结
单例模式(Singleton):是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。1、懒汉式线程不安全,当有多个线程并行调用 getInstance() 的时候,就会创建多个实例。public class Singleton { private static Singleton instance; private Sing
2015-02-28 22:17:50 922
原创 Java监控文件目录的变化
在Java1.7以前的版本中,如果程序想要监控文件的变化,比较常规的做法是轮询要监控的文件目录,采用启动一条后台线程。这种做法性能较差尤其对于大批量的文件监控。1.7版本后,java.nio.file包提供了目录监控的api即 Watch Service API。我们把想要监控的目录注册进watchservice中,你把想要监控的事件告诉service,比如文件创建,删除,修改。当serv
2015-01-15 19:19:55 3685
转载 面向GC的Java编程
Java程序员在编码过程中通常不需要考虑内存问题,JVM经过高度优化的GC机制大部分情况下都能够很好地处理堆(Heap)的清理问题。以至于许多Java程序员认为,我只需要关心何时创建对象,而回收对象,就交给GC来做吧!甚至有人说,如果在编程过程中频繁考虑内存问题,是一种退化,这些事情应该交给编译器,交给虚拟机来解决。这话其实也没有太大问题,的确,大部分场景下关心内存、GC的问题,显得有点“
2014-12-31 23:07:18 771
原创 Best Time to Buy and Sell Stock
问题一 Best Time to Buy and Sell StockSay you have an array for which the ith element is the price of a given stock on day i.If you were only permitted to complete at most one transaction (ie, buy on
2014-11-30 22:56:51 1090
原创 非递归实现二叉树的遍历
二叉树遍历是树的最基本算法之一,是二叉树上进行其它运算之基础。所谓遍历(Traversal)是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。访问结点所做的操作依赖于具体的应用问题。① 前序遍历(PreorderTraversal亦称(先序遍历))——访问根结点的操作发生在遍历其左右子树之前。② 中序遍历(InorderTraversal)——访问根结点的操作
2014-11-12 20:06:47 1556 2
转载 几种常见的I/O模型及其区别
首先,介绍几种常见的I/O模型及其区别,如下:blocking I/Ononblocking I/OI/O multiplexing (select and poll)signal driven I/O (SIGIO)asynchronous I/O (the POSIX aio_functions)blocking I/O这个不用多解释吧,阻塞套接字。下图是它调用过程的图示:
2014-10-31 23:46:34 1827
原创 HIVE 0.11版本的bug
HIVE 0.11版本的bug两次{{group by}}的bug https://issues.apache.org/jira/browse/HIVE-5149SELECT key, COUNT(*)FROM ( SELECT key, value, COUNT( * ) FROM src GROUP BY key, value) aGROUP BY key;
2014-10-26 22:48:14 1378
原创 设计模式之策略模式
什么是策略模式?Strategy pattern is mainly about using different algorithm at different situation.策略模式,又叫算法簇模式,就是定义了不同的算法族,并且之间可以互相替换,此模式让算法的变化独立于使用算法的客户。策略模式的好处在于你可以动态的改变对象的行为。一般的,策略模式主要分为以下三个角色:
2014-09-30 23:55:30 1265 1
转载 简单十步让你全面理解SQL
很多程序员认为SQL是一头难以驯服的野兽。它是为数不多的声明性语言之一,也因为这样,其展示了完全不同于其他的表现形式、命令式语言、 面向对象语言甚至函数式编程语言(虽然有些人觉得SQL 还是有些类似功能)。 我每天都写SQL,我的开源软件JOOQ中也包含SQL。因此我觉得有必要为还在为此苦苦挣扎的你呈现SQL的优美!下面的教程面向于:已经使用过但没有完全理解SQL
2014-09-30 22:53:02 956
原创 hive的MapJoin机制
什么是MapJoin?MapJoin顾名思义,就是在Map阶段进行表之间的连接。而不需要进入到Reduce阶段才进行连接。这样就节省了在Shuffle阶段时要进行的大量数据传输。从而起到了优化作业的作用。MapJoin的原理:即在map 端进行join,其原理是broadcast join,即把小表作为一个完整的驱动表来进行join操作。通常情况下,要连接的各个表里面的数据会分布在不同
2014-09-12 21:38:19 8990 1
原创 现代操作系统笔记
总结《现代操作系统》的一些概念知识。1.进程上下文环境:对进程执行活动全过程的静态描述由进程的用户地址空间内容、硬件寄存器内容及与该进程相关的核心数据结构组成 用户级上下文:进程的用户地址空间(包括用户栈各层次),包括用户正文段、用户数据段和用户栈 寄存器级上下文:程序计数器、程序状态寄存器、栈指针、通用寄存器的值 系统级上下文: 静态部分(PCB和资源
2014-08-31 23:16:10 2597
原创 java对管程的支持
管程的概念管程 (英语:Moniters,也称为监视器) 是一种程序结构,结构内的多个子程序(对象或模块)形成的多个工作线程互斥访问共享资源。这些共享资源一般是硬件设备或一群变量。管程实现了在一个时间点,最多只有一个线程在执行管程的某个子程序。与那些通过修改数据结构实现互斥访问的并发程序设计相比,管程实现很大程度上简化了程序设计。管程提供了一种机制,线程可以临时放弃互斥访问,等待某
2014-08-31 22:16:27 4868 1
原创 二分查找算法
提到查找算法,最经典的就是二分查找算法了。在二分查找时要在有序的数据里查找目标target,先取中间元素与target比较,当target小于中间元素的时候,则搜索数组的前半部分,target大于中间元素时,则取数组的后半部分。重复整个搜索的过程将左半部分与有半部分当作子数组继续查找,直到找到元素或到子数组的大小为0停止。原理上很简单却有较多细节,尤其是数据边界的取值是否会越界,whi
2014-08-25 21:55:45 993
原创 nodejs多房间web聊天室
一年之前的做的小项目,过了许久,翻出当时的PPT文档总结一下。源码下载:https://github.com/CreekLou/chatRoomNodejs背景简介1 ,JavaScript最早是运行在浏览器中,然而浏览器只是提供了一个上下文2 ,node.js事实上就是另外一种上下文,它允许在后端(脱离浏览器环境)运行JavaScript代码3 ,Node.js事实上既是一个
2014-08-23 00:09:54 6133 2
原创 Java读-写锁
JAVA读写锁显示锁在java5.0之前,在协调共享对象访问时可以使用的机制只有synchronized和volatile。java5.0增加了一种新的机制:ReentrantLock。ReentrantLock并不是一种替代内置锁的方法,而是当内置锁不适用时,作为一种可选择的高级功能。与内置锁不同的是Lock提供了一个无条件的、可轮询的、定时的以及可中断的锁获取操作,所有加锁和解锁都是显
2014-08-16 19:04:39 1582
原创 理解java中的volatile关键字
Java语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量。这两种机制的提出都是为了实现代码线程的安全性。Java 语言中的 volatile 变量可以被看作是一种 “程度较轻的 synchronized”;与 synchronized 块相比,volatile 变量所需的编码较少,并且运行时开销也较少,但是它所能实现的功能也仅是 synchronized 的一部分。
2014-07-31 22:25:52 1375
原创 java类库中的设计模式
原帖:http://stackoverflow.com/questions/1673841/examples-of-gof-design-patterns提问:我正在学习GoF的《设计模式》,想了解些它们在实际中的应用的例子。大家能给我举一些使用设计模式的好例子吗?尤其是在Java类库中。赞同最高的回答:你可以通过Wikipedia对设计模式有个整体上的理解。Wikipedia上也
2014-07-31 19:52:03 2115 1
原创 Java引用类型详解
JVM 的垃圾回收器对于不同类型的引用有不同的处理方式。java中对于一个对象来说,只要有引用的存在,它就会一直存在于内存中。如果这样的对象越来越多,超出了JVM中的内存总数,JVM就会抛出OutOfMemory错误。虽然垃圾回收的具体运行是由JVM来控制的,但是开发人员仍然可以在一定程度上与垃圾回收器进行交互,其目的在于更好的帮助垃圾回收器管理好应用的内存。这种交互方式就是
2014-07-29 20:16:42 1418 1
转载 hive函数参考手册
1.内置运算符1.1关系运算符运算符类型说明A = B所有原始类型如果A与B相等,返回TRUE,否则返回FALSEA == B无失败,因为无效的语法。 SQL使用”=”,不使用”==”。A 所有原始类型如果A不等于B返回TRUE,否则返回FALSE。如果A或B值为
2014-07-07 21:46:23 984
原创 Java线程基础
一个线程执行一个顺序程序。在java中,线程通常是java.lang.Thread的子类,它提供了一些方法来创建线程、启动线程。挂起线程、等待线程完成。首先,创建一个实现Runnable接口的类,该类的run()方法完成所有的工作。例如,下面是一个打印字符串的简单线程。package lou.thread;public class HelloWorld implements Runna
2014-06-29 15:41:58 1194
原创 理解ThreadLocal类
1 ThreadLocal是什么 早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。 ThreadLocal,顾名思义,它不是一个线程,而是线程的一个本地化对象。当工作于多线程中的对象使用ThreadLocal维护变量时,ThreadLocal为每个使
2014-06-28 00:02:54 1243
原创 Spring MVC 入门实例
概述:springmvc 框架围绕DispatcherServlet这个核心展开,DispatcherServlet是Spring MVC的总控制,它负责截获请求并将其分派给相应的处理器处理。SpringMVC框架包括注解驱动控制器、请求及响应的信息处理、视图解析、本地化解析、上传文件解析、异常处理以及表单标签绑定等内容。SpringMVC是主要基于MODEL2实现的技术框架,Model2
2014-06-25 23:10:55 2109
原创 java获取客户端IP地址和MAC地址
最近项目中要获得客户端的mac地址。服务端是移植的centos系统,arm架构的盒子。客户端是手机和移动设备。(其它场景应该也是类似的)首先要获得ip地址:根据客户端的http请求,利用request.getRemoteAddr()获取客户端Ip地址。在局域网内getRemoteAddr()和getRemoteHost()获得的结果相同。request.getRemoteAddr()是获得
2014-06-12 15:45:18 18765 2
原创 排序总结之快速排序
简介:快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。快速排序使用分治法(Divide and conquer)策略来把一个串行(list)
2014-05-15 23:45:34 1929 2
一个JSP网上书店系统
2010-05-23
教务成绩管理系统JSP
2010-05-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人