- 博客(52)
- 收藏
- 关注
原创 组合算法
组合算法是将若干个弱分类器组合成一个强分类器的一种策略。常用的组合算法包括bagging、boostrapping和boosting。Bagging一个贴近生活的例子 假设你是一个病人,希望根据你的症状,让医生做出诊断。正确的做法,你会看多个医生,根据这些医生的不同诊断结果,选择大多数医生都认同的诊断结果。当然,由于你不知道这些医生的医术水平的高低,所以,保险的做法就是认为,每个医生诊断结果的权
2016-07-12 10:29:19 610
原创 回文判断
问题描述 给定一个字符串,如何判断这个字符串是否是回文串算法思路 从字符串的两头同时往中间逐次扫描,比较两端的字符是否相同,如果有不同的就认为不是回文串代码实现def is_palindrome(string): length = len(string) for i in range(length/2): if string[i] != string[le
2016-02-29 18:40:30 411
原创 寻找和为定值的组合
问题描述 给定一个数组,找出数组中所有任意两数之和等于M的组合算法思路 可以利用hash来实现高效的查找。首先,将数组映射到哈希表里。然后,针对每个数N依次在哈希表里查找M-N。如果存在,则找到了一个满足条件的组合,否则,继续查找。这个算法的时间复杂度为O(n)O(n)代码实现
2016-02-29 18:30:18 647
原创 字符串转换成整数
问题描述 输入一个由数字组成的字符串,输出该字符串对应的整数算法思路 从左向右依次扫描字符串中的每个字符,把之前扫面得到的数字乘以10,再加上当前字符表示的数字。 这个问题中需要注意:字符串中可能包含正负号;非法输入;对于C/C++实现,还需要考虑整数越界的问题。代码实现def str2int(str): length = len(str) if length ==
2016-02-26 13:54:06 386
原创 字符串全排列问题
问题描述 输入一个字符串,打印出该字符串中字符的所有排列算法思路 通过递归的方法来实现。从字符串中选出一个字符作为排列的第一个字符,然后对剩余的字符进行全排列。如此递归处理。代码实现def premutation(str): length = len(str) if length == 1: return [str] array = []
2016-02-26 09:28:16 398
原创 字符串包含问题
问题描述 快速判断出短字符串b中的所有字符是否都在长字符串a中?(这里假设字符串中只包含大写字母)算法思路 首先,将长字符串a映射为一个26位的二进制数,一个位置对应一个字母,如果a中存在某个字母,则该字母所对应的位置置为1,否则置为0。然后,对b中的字符依次进行查找。代码实现def match(a, b): base = ord('A') str_hash = redu
2016-02-26 00:31:06 319
原创 字符串的旋转
问题描述 输入:I am a student. 输出:student. a am I算法思路 (1)首先,根据空格将原字符串分为A、B、C、D四个部分,其中A为“I“,B为“am“,C为“a“,D为“students.“。 (2)将A、B、C、D的所有字符反转,即“I“变成“I“,“am“变成“ma“,“a“变成“a“,“students.“变成“.stneduts“。
2016-02-25 22:07:54 298
原创 安装pillow错误的解决方案
错误信息:ValueError: jpeg is required unless explicitly disabled using --disable-jpeg, aborting ----------------------------------------Command "/usr/bin/python -c "import setuptools, token
2016-02-18 08:38:10 6820
原创 centos7引导项修复
每次装了双系统,都会发现原来的windows引导项不见了,这让我这个windows重度依赖者情何以堪,所以,必须要把我挚爱的windows给找回来。翻看了一些网上的教程,看来这并不是一个困难的问题。这种问题出现的根本原因就是centos无法识别windows的文件系统,就是ntfs格式。现在问题的解决方法就显而易见了。解决步骤:1. 添加EPEL源(ntfs-3g在该源
2016-02-06 18:26:45 1430
原创 windows下远程桌面连接centos
最近,由于项目需要,必须要在centos下进行操作。习惯了图形界面的我,通过黑框框来远程操作服务器,着实让人难受。但是,windows自带的远程桌面工具貌似不能直接连centos。所以,只能借助其他工具来实现这一目的。好了,废话不多说,下面,就把我的成功方案总结一下。 注:centos版本为7,windows版本为81.服务器端(centos)安装组件yum install -y vnc-serv
2015-12-24 20:25:01 4398
原创 Longest Palindromic Substring
题目:https://leetcode.com/problems/longest-palindromic-substring/算法分析 代码实现 动态规划:class Solution(object): def longestPalindrome(self, s1): """ :type s: str :rty
2015-12-13 18:20:24 238
原创 Median of Two Sorted Arrays
题目:https://leetcode.com/problems/median-of-two-sorted-arrays/
2015-12-11 13:03:57 398
原创 决策树剪枝算法
算法目的:决策树的剪枝是为了简化决策树模型,避免过拟合。 算法基本思路:减去决策树模型中的一些子树或者叶结点,并将其根结点作为新的叶结点,从而实现模型的简化。 模型损失函数 1. 变量预定义:|T|表示树T的叶节点个数,t表示树T的叶节点,同时,NtN_t表示该叶节点的样本点个数,其中属于k类的样本点有NtkN_{tk}个,K表示类别的个数,Ht(T)H_t(T)为叶结点t
2015-12-10 21:19:05 3391
原创 Longest Substring Without Repeating Characters
题目:https://leetcode.com/problems/longest-substring-without-repeating-characters/ 算法思路: 定义positions字典,记录当前访问位置之前出现的字符的位置 定义start变量,标识不重复子串的开始位置 定义max遍历,记录最大不重复子串的长度 对输入的字符串,从开头到结尾进行一次遍历
2015-12-10 10:39:01 215
原创 Two Sum & Add Two Numbers
Two Sum题目:https://leetcode.com/problems/two-sum/class Solution(object): def twoSum(self, nums, target): """ :type nums: List[int] :type target: int :rtype: List
2015-12-09 16:40:00 236
原创 Python模块——bisect
bisect是python内置的模块,主要用于对有序列进行操作。具体用法如下:模块导入:import bisect内容查看:dir(bisect) 这个模块包含了: 五个变量:builtins, doc, file, name, package 六个方法:bisect, bisect_left, bisect_rigth, insort, insort_left, insort_ri
2015-12-09 14:15:41 476
原创 C4.5算法
C4.5算法是对ID3算法的改进,在决策树的生成过程中,使用了信息增益率作为属性选择的方法,其具体的算法步骤如下: 输入:训练数据集D,特征集A,阈值e输入:训练数据集D,特征集A,阈值e 输出:决策树T输出:决策树T 1.如果D中所有实例属于同一类C,则置T为单结点树,并将C作为该结点的类,返回T1. 如果D中所有实例属于同一类C,则置T为单结点树,并将C作为该结点的类,返回T
2015-12-05 10:51:02 444
原创 ID3算法
ID3算法是决策树算法中的一种,决策树的具体教程可以看这里http://blog.csdn.net/ritchiewang/article/details/46008643 ID3算法的大致思路:从根节点开始,对接点计算所有可能的特征的信息增益,选择信息增益最大的特征作为结点的特征,由该特征的不同取值建立子结点;再对子结点递归地调用以上方法,构建决策树;直到所有特征的信息增益均很小或没有特征可以
2015-12-05 10:32:49 569
原创 Python的编码问题
Unicode是Python的中间编码,对于gbk的str,需要利用decode('gbk')变成Unicode编码,然后,在利用encode('gbk')输出中文。
2015-12-02 13:59:01 288
原创 MySQLdb
一、数据库连接conn = MySQLdb.connect(host='localhost', user='root', passwd='', db='database1', port=3306, charset='utf8')cur = conn.cursor()
2015-11-03 20:07:55 327
原创 Windows下的UTF8编码
Windows下的UTF8编码都是默认带BOM的,即文件开头为0xEF 0xBB 0xBF所以,在转换为UTF8格式时,选择转换为不带BOM的UTF8格式这就是使用Windows进行编程的众坑之一
2015-11-03 19:25:51 412
原创 numpy——nonzero
用法:nonzero(a)作用:返回数组a中的非零元素的坐标返回值:一个二元tuple值,第一个值为行坐标,第二值为列坐标例子:>>> from numpy import *>>> a = [[1,1,0],[0,0,1],[1,0,1]]>>> nonzero(a)(array([0, 0, 1, 2, 2]), array([0, 1, 2, 0, 2]))
2015-11-02 10:40:42 358
原创 Java通过URL获取资源
public static void main() throws IOException { URL url = new URL("https://www.baidu.com/img/bdlogo.png"); Object obj = url.getContent(); System.out.p
2015-10-24 12:19:38 587
原创 Java中的Unix时间转换
一、普通日期转换为Unix时间戳SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");System.out.println(format.parse("2015-01-01 00:00:01").getTime()/1000);二、Unix时间戳转换为普通日期Long timestamp = L
2015-10-17 10:46:30 1798
原创 K-近邻算法(KNN)
kNN的英文全称是:k nearest neighbor,直译过来的意思就是k个最相近的邻居。所以,kNN的算法思想,简单而言,就是利用与待分类对象最相近的k个已知对象的特征,来决定待分类对象的特征。这种分类方法的思想简单,在实际分类效果中,表现也较为优异,是数据挖掘的分类领域中的一种入门算法。 下面以一个图例来具体说明kNN的具体思想: 图片中有三种颜色表示的诸多实点,分别代表了三种不同的
2015-10-05 11:57:34 385
原创 Eclipse中文字体调整
1. 设置Structured Text Editors2. 选择字体:Consolas、字形:常规、字号:10、脚本:中欧字符
2015-09-09 09:35:31 405
原创 struts2环境搭建
加入jar包下载struts2:http://struts.apache.org/download.cgi复制struts\apps\struts2-blank\WEB-INF\lib下的所有jar包到当前web应用的lib目录下。web.xml文件中配置struts2复制struts\apps\struts2-blank\WEB-INF\web.xml文件中的过滤器的配置到当前web应用的w
2015-09-07 14:23:18 379
原创 Python中文件对象的访问模式
文件的访问模式有两种:读和写。file_object = open(file_name, access_mode='r', buffering=-1) 读: r:以只读方式打开文件,该文件必须存在。 r+:以读写模式打开文件,该文件必须存在。 写: w:以只写方式打开文件,对文件内容进行清空处理,文件不存在会自动创建。 w+:以读写模式打开文件,对文
2015-08-24 19:48:21 478
原创 解决前台向mysql更新数据的编码问题
在数据库连接的最后加上useUnicode=true&characterEncoding=utf8 例如:jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8
2015-07-11 00:04:49 370
转载 web.xml
转自:http://zhxing.iteye.com/blog/399668Web.xml常用元素 <web-app> <display-name></display-name>定义了WEB应用的名字 <description></description> 声明WEB应用的描述信息 <context-param></context-param> context-param元素声明应用范围内的初
2015-07-04 20:56:19 304
原创 Java EE应用的组件
表现层组件:主要负责收集用户输入数据,或者向客户显示系统状态。最常用的表现层技术是JSP,但JSP并不是唯一的表现层技术。表现层还可由Velocity、FreeMarker和Tapestry等技术完成,或者使用普通的应用程序充当表现层组件,甚至可以是小型智能设备。控制器组件:对于Java EE的MVC框架而言,框架提供一个前端核心控制器,而核心控制器负责拦截用户请求,并将请求转发给用户实现的控制器组
2015-06-30 14:32:57 515
原创 Java EE应用的分层模型
Domain Object(领域对象)层:此层由系列的POJO(Plain Old Java Object,普通的、传统的Java对象)组成,这些对象是该系统的DomainObject,往往包含了各自所需要实现的业务逻辑方法。DAO(Data Access Object,数据访问对象)层:此层由系列的DAO组件组成,这些DAO实现了对数据库的创建、查询、更新和删除(CRUD)等原子操作。业务逻辑层:
2015-06-30 14:08:05 568
转载 细说Cookie
转自:http://www.cnblogs.com/fish-li/archive/2011/07/03/2096903.htmlCookie虽然是个很简单的东西,但它又是WEB开发中一个很重要的客户端数据来源,而且它可以实现扩展性很好的会话状态, 所以我认为每个WEB开发人员都有必要对它有个清晰的认识。本文将对Cookie这个话题做一个全面的描述, 也算是我对Cookie的认识总结。Cookie
2015-06-27 17:11:33 386
原创 HTTP协议
概述 HTTP协议是HyperText Transfer Protocol的缩写,即超文本传输协议。是由w3c(万维网联盟)制定的一种应用层协议,用来定义浏览器与web服务器之间如何通信以及通信的数据格式。通信过程HTTP协议的通信过程可以分为以下四个步骤: 1. 浏览器根据IP地址和端口号与服务器建立连接 2. 向Web服务器发送请求数据包 3. Web服务器接收请求数据包后,发送相应的
2015-06-27 16:48:45 336
原创 POJ1664 放苹果
Description把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。Input第一行是测试数据的数目t(0 <= t <= 20)。以下每行均包含二个整数M和N,以空格分开。1<=M,N<=10。Output对输入的每组数据M和N,用一行输出相应的K。Sample Input17 3Sample Output8
2015-06-26 18:53:23 408
原创 提高分类准确率的技术——组合分类
组合分类方法简介基本思想:组合分类把k个学习得到的模型(或基分类器)M1,M2,···,Mk组合在一起,旨在创建一个改进的复合分类器模型M*。使用给定的数据集D创建k个训练集D1,D2,···,Dk,其中Di用于创建分类器Mi。现在给定一个待分类的新数据元组,每个基分类器通过返回类预测进行投票。组合分类器基于基分类器的投票返回类预测。 目前常用的组合分类器有:装袋、提升和随机森林。下面就
2015-06-22 15:23:04 2626
转载 iText5报表_页眉与页脚
转自:http://blog.chinaunix.net/uid-122937-id-3052063.html1.概述 iText5中并没有之前版本HeaderFooter对象设置页眉和页脚,可以利用PdfPageEventHelper来完成页眉页脚的设置工作。PdfPageEventHelper中包含以下事件处理器。 onOpenDocument() —
2015-06-21 14:04:03 1415
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人