自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 [053]python 递归实现list元素随机组合

有时程序需求需要将list中的元素进行随机不重复组合,并且组合对是有序的,递归可以很好的解决,不多说,程序如下:#l为数组,n为n个元素组合def combine(l, n): answers = [] one = [0] * n def next_c(li = 0, ni = 0): if ni == n: answers.appe

2017-11-16 13:00:05 6641 2

转载 [053]matplotlib绘图基础

转载自:http://blog.csdn.net/pipisorry/article/details/37742423matplotlib介绍        matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图。而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中。它的文档相当完备,并且Gallery页面 中有

2017-09-19 19:07:31 865

翻译 [052]TensorFlow Layers指南:基于CNN的手写数字识别

TensorFlow Layers module 为容易的创建一个神经网络提供了高水平的API接口。它提供了很多方法帮助创建dense(全连接)层和卷积层,增加激活函数和应用dropout做归一化。在这个教程中,你会学到如何用layers构建一个卷积神经网络用于识别手写体数字,基于MNIST数据集。MNIST 数据集包括手写体数字0~9的6万个训练数据和1万个测试数据,并格式化为28*28像素单色图

2017-07-25 18:50:27 6931

原创 [051]python之matplotlib,numpy,sklearn总结

1,matplotlib图例中文乱码#coding:utf-8import matplotlib.pyplot as pltplt.rcParams['font.sans-serif']=['SimHei']#用来正常显示中文标签plt.rcParams['axes.unicode_minus']=False #用来正常显示负号#有中文出现的情况,需要u'内容'

2017-07-17 12:09:12 1044

转载 [050]Python 机器学习系列之线性回归篇深度详细

本次推文介绍用线性模型处理回归问题。 从简单问题开始,先处理一个响应变量和一个解释变量的一元问题。 然后,介绍多元线性回归问题(multiple linear regression),线性约束由多个解释变量构成。 紧接着,介绍多项式回归分析(polynomial regression 问题),一种具有非线性关系的多元线性回归问题。 最后,介绍如果训练模型获取目标函数最小化的参数值。 在研究一个大数

2017-07-14 12:05:54 3065

原创 [049]C++代码规范

下面是项目老大列出的一些代码规范,感觉一个好的代码规范对自己的代码成长还是很重要的,希望对大家有用。 简单列几条代码规范:文件命名:文件名使用小写英文单词加连字符如:content_classify.h类名、函数名使用“驼峰”命名法如:class ContentClassify;int SplitWords();类成员变量使用英 文小写加连字符并下划线结尾如:uint64_t tag_;

2017-06-02 15:43:32 712

原创 [048]linux常用命令总结

1,linux之sed用法:sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法 sed命令行格式为: sed [-nefri] ‘command’ 输入文本常用命令: a ∶新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~

2017-06-02 11:55:03 398

原创 [047]python操作redis数据结构

集合(Set)Redis的Set是string类型的无序集合。 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为 232 - 1(4294967295, 每个集合可存储40多亿个成员)。 函数说明1,SADD: 向集合对象添加成员,sadd(self, name, value) ,添加一个string元素到,key对应的set集合中,成功返回1,如果元

2017-05-24 10:58:18 963

原创 [046]gdb调试

最近写C++项目,遇到了段错误(Segmentation fault),这是一个令人很发指的错误,尤其是项目文件非常多的时候,于是想到gdb,进行错误调试,原先接触过gdb,但已经有段时间没写C++了,gdb变得有些陌生,又重新走上gdb之旅。纪念走过的坑。一,发现问题 首先,make完程序,改完所有语法错误,执行程序时,停止了,错误提示Segmentation fault(core dumped

2017-05-04 10:57:32 313

原创 [045]Python使用技巧总结

一,排序dict按照key 排序:1、method 1.items= dict.items()items.sort()for key,valuein items:   print key, value # print key,dict[key]2、method 2

2017-04-20 11:42:58 494

原创 [044]利用FFM做新闻源评级一算法调研

FFM简介源码使用台湾大学LIBFFMhttp://www.csie.ntu.edu.tw/~cjlin/libffm/ LIBFFM是一个解决领域感知分解机的开放源码工具( field-aware factorization machines (FFM))。它已经赢得了最近的两个点击率预测( click-through rate prediction)比赛冠军。它支持:l2正则化logisti

2017-04-05 11:59:17 2524

原创 [043]基于实体词的新闻源相似度计算

新闻推荐系统里,推荐给用户喜欢看的新闻方法有很多种,其中一个很重要的就是根据用户的profile,推荐最相似的内容,如何做到最快反馈,是提高用户内容体验的重要方式。 基于新闻特点,每篇新闻都有相应的实体词或tag,tag就是用户profile的一种描述,所以可以挖掘实体词与源的关系,根据实体词给用户推送与实体词最相关的源的新闻内容。挖掘。。。

2017-03-27 19:50:21 1246 2

原创 [042]各类距离计算函数——Python版

1,欧式距离Python的zip函数可以为我们同时遍历两个数组、列表List,做距离计算可以减少很多代码。 n维项目的计算:def distance(vector1,vector2): d=0; for a,b in zip(vector1,vector2): d+=(a-b)**2; return d**0.5; 2,余弦相似度就是两个向

2017-03-24 14:23:10 2600

翻译 [041]一个简单的Makefile教程

Makefile 是一个简单的组织代码编译的方式。这个教程没有深入的讲解make,但能够帮助初学者快速并且容易的创建自己的中型规模以下项目的makefiles。一个简单例子首先让我们创建三个文件,hellomake.c,hellofunc.c及hellomake.h,这三个文件是一个典型的main程序。 hellomake.c#include <hellomake.h>int main() {

2017-02-04 16:54:47 569 1

原创 [040]Python 数据流操作

Python 文件或文件夹操作shutil该模块提供了很多高级的多文件和多文件集合的操作,尤其提供了支持文件复制和删除的函数。 1、文件夹和文件操作 import shutil shutil.copyfile(src, dst) 复制文件src的内容到文件dst,dst必须是完整的目标文件名,如果dst已经存在,它将会被替换 shutil.copy(src, dst)

2016-12-06 11:52:39 5281

转载 [039]文本去重、过滤——文本指纹

1. 文本指纹介绍互联网网页存在大量的重复内容网页,无论对于搜索引擎的网页去重和过滤、新闻小说等内容网站的内容反盗版和追踪、还是社交媒体等文本去重和聚类,都需要对网页或者文本进行去重和过滤。最简单的文本相似性计算方法可以利用空间向量模型,计算分词后的文本的特征向量的相似性,这种方法存在效率的严重弊端,无法针对海量的文本进行两两的相似性判断。模仿生物学指纹的特点,对每个文本构造一个指

2016-08-19 10:51:27 2982 1

转载 [038]如何选择机器学习分类器?

你知道如何为你的分类问题选择合适的机器学习算法吗?当然,如果你真正关心准确率,那么最佳方法是测试各种不同的算法(同时还要确保对每个算法测试不同参数),然后通过交叉验证选择最好的一个。但是,如果你只是为你的问题寻找一个“足够好”的算法,或者一个起点,这里有一些我这些年发现的还不错的一般准则。你的训练集有多大?如果训练集很小,那么高偏差/低方差分类器(如朴素贝叶斯分类器)要优于低偏差/高方差分类器(如k

2016-07-28 19:25:52 365

原创 [037]ajax实现select二级联动

多级联动是页面设计总经常要用到的,select内option选项内容如何动态的从数据库获取又是一个典型应用,利用ajax技术可实现option选项的动态刷新,下面就来一起看看实现代码吧。一共分为三部分:HTML5、js、服务器端代码,下面就一一列出。页面显示代码<div class="search"> <span>请选择分类:</span> <span>一级分类:</spa

2016-07-27 12:49:27 6337 1

原创 [036]大数据生态圈概览

接触大数据也有2年多的时间了,一直都是在一个模块一个模块的学习以及使用,有些零散,即使总结也是单模块的总结,还没有整体的总结一下,大数据生态圈并没有整体的组成概念,相信也是许多相同道路上的朋友的情况,希望这篇总结能够对朋友们有所帮助。在学习阶段还是不断的学习新东西,总结前人的成果,站在巨人的肩上看事物,才能看的更远,慢慢向大牛靠拢,特此对大牛们表示衷心的崇敬之情。由于参考资料都是零散的摘自各个博客,

2016-05-22 23:10:06 1153

原创 [035]Java实现SVM对乳腺癌检测数据分类分析

背景简介:最近在做SVM分类的学习,查看网上大多相关内容都是SVM原理介绍、推导和用终端命令行使用svm-train,svm-predict。具体数据分析实现很少。通过查找资料发现了一个很好的开发库LIBSVM。LIBSVM– A Library for Support Vector Machines是由the National Science Council of Taiwan发布维护的,对SVM

2016-04-26 21:42:31 2813

转载 [034]八大排序算法详解——基数排序

基本思想基数排序是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。基数排序可以采用两种方式:LSD(Least Significant Digital):从待排序元素的最右边开始计算(如果是数字类型,即从最低位个位开始)。MSD(Mos

2016-04-22 11:09:31 514

转载 [033]八大排序算法详解——插入排序

基本思想假设待排序的记录存放在数组R[0..n-1]中。初始时,R[0]自成1个有序区,无序区为R[1..n-1]。 从i=1起直至i=n-1为止,依次将R[i]插入当前的有序区R[0..i-1]中,生成含n个记录的有序区。算法实现直接插入排序算法,Java实现,代码如下所示:01public abstract class Sorte

2016-04-22 11:05:47 406

转载 [032]八大排序算法详解——选择排序

基本思想n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果:初始状态:无序区为R[1..n],有序区为空。第1趟排序:在无序区R[1..n]中选出关键字最小的记录R[k],将它与无序区的第1个记录R[1] 交换,使R[1..1]和R[2..n]分别变为记录个数增加1个的新有序区和记录个数减少1个的新无序区。……第i趟排序:第i趟排序开始时,当前有序区

2016-04-22 11:04:24 375

转载 [031]八大排序算法详解——冒泡排序

基本思想将被排序的记录数组R[0..n-1]垂直排列,每个记录R[i]看作是重量为R[i].key的气泡。根据轻气泡不能在重气泡之下的原则,从下往上扫描数组R:凡扫描到违反本原则的轻气泡,就使其 向上”飘浮”。如此反复进行,直到最后任何两个气泡都是轻者在上,重者在下为止。具体过程,如下所示:初始状态:R[0..n-1]为无序区。第一趟扫描:从无序区底部向上依次比较相邻的

2016-04-22 11:02:38 325

转载 [030]八大排序算法详解——希尔排序

基本思想先取一个小于n的整数d1作为第一个增量,把待排序的全部记录分成dx个组。所有距离为d1的倍数的记录放在同一个组中。先在各组内进行直接插人排序。然后,取第二个增量d2直至所取的增量dt=1(dt算法实现希尔排序算法,Java实现,代码如下所示:01public abstract class Sorter {

2016-04-22 11:00:12 507

转载 [029]八大排序算法详解——快速排序

基本思想设当前待排序的数组无序区为R[low..high],利用分治法可将快速排序的基本思想描述为:分解:在R[low..high]中任选一个记录作为基准(Pivot),以此基准将当前无序区划分为左、右两个较小的子区间R[low..pivotpos-1)和R[pivotpos+1..high],并使左边子区间中所有记录的关键字均小于等于基准记录(不妨记为pivot)的关

2016-04-22 10:58:19 372

转载 [028]八大排序算法详解——堆排序

基本思想堆的定义n个关键字序列kl,k2,…,kn称为堆,当且仅当该序列满足如下性质之一(简称堆性质):ki≤k2i且ki≤k2i+1 或ki≥k2i且ki≥k2i+1(1≤i≤FLOOR(n/2))若将此序列所存储的向量R[1..n]看做是一棵完全二叉树的存储结构,则堆实质上是满足如下性质的完全二叉树:树中任一非叶结点的关键字均不大于(或不小于)其左右

2016-04-22 10:53:40 558

转载 [027]八大排序算法详解——归并排序

基本思想n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果:初始状态:无序区为R[1..n],有序区为空。第1趟排序: 在无序区R[1..n]中选出关键字最小的记录R[k],将它与无序区的第1个记录R[1] 交换,使R[1..1]和R[2..n]分别变为记录个数增加1个的新有序区和记录个数减少1个的新无序区。……第i趟排序: 第i趟排序开始时,当前有

2016-04-22 10:49:59 413

转载 [026]文本分类之SVM

1 基础知识1. 1 样本整理文本分类属于有监督的学习,所以需要整理样本。根据业务需求,确定样本标签与数目,其中样本标签多为整数。在svm中其中如果为二分类,样本标签一般会设定为-1和1,而在朴素贝叶斯方法中,一般为0和1,但不是固定的,标签的设置和算法本身的性质有关的。如下面的整理的样本,1为正类,-1为反类(为了能便于展示,这里使用了一些即时聊天工具中的文本,里面的一些对话都是

2016-04-16 23:28:21 786

转载 [025]Java矩阵运算——jama

Java矩阵包 背景jama是一个基本的线性代数java包,它提供了实数非稀疏矩阵类,程序员可构造操控这些类。对于经常使用到矩阵运算的码农来说,即使不精通线性代数也没有关系,因为jama包提供的功能已经够用,调用方便,使用自然,而且易于理解。Jama包意欲称为java的标准矩阵包,这一标准计划将提交给Java Grande论坛,转而交给sun公司。java矩阵类的潜在竞争对手包括Mathworks

2016-04-05 21:36:56 1488

转载 [024] 11大Java开源中文分词器的使用方法和分词效果对比

本文的目标有两个:1、学会使用11大Java开源中文分词器2、对比分析11大Java开源中文分词器的分词效果本文给出了11大Java开源中文分词的使用方法以及分词结果对比代码,至于效果哪个好,那要用的人结合自己的应用场景自己来判断。11大Java开源中文分词器,不同的分词器有不同的用法,定义的接口也不一样,我们先定义一个统一的接口:/** * 获取文本的所有分词结果, 对比不同分词器结果 *

2016-03-26 21:12:22 1507

原创 [023]中文分词——ansj

最近在做新闻分类的相关研究学习,其中一个重要环节便是中文分词,分词的好坏也决定着后续新闻分类的好坏,于是google发现一个叫ansj的分词工具很好用,遇到一个好东西就要好好吃透它,于是查找很多相关资料,并应用到自己的项目程序中,在这里与大家分享。简介新闻分类中的分词只是一种应用,比如:检索、自然语言处理、数据挖掘等方面工作都需要用到中文分词,所以ansj还是值得好好研究一下的。Ansj 是一个开源

2016-03-26 21:02:50 847

原创 [022]Redis使用教程

简介Redis 即 REmote DIctionary Server,是一个由Salvatore Sanfilippo写的key-value存储系统。Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它使用内存提供主存储支持,而仅使用硬盘做持久性的存储;它的数据模型非常独特,用的是单线程。为什么要

2016-03-26 20:13:25 580

转载 [021]Redis与Memcached的区别

Redis与Memcached的区别传统MySQL+ Memcached架构遇到的问题  实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题:  1.MySQL需要不断进行拆库拆表,Memcached也需不断跟着

2016-03-14 23:24:59 523

原创 [020]Sencha Ext JS 6.0使用教程2

本节主要以典型例子介绍如何用Sencha Ext JS6.0进行项目开发 入门阶段总是比较难的,掌握了基本操作步骤,使用方法,架构思维,开发起来还是满顺利,开心的,自己又能掌握一门新技术,又能进步,主要还是学习能力上的提升,慢慢掌握如何从零开始接触一门新东西、新技术。IT方面的技术更新还是满快的,必须跟上时代的步伐,还能不被大浪淹没。好了废话不多说,对于程序员代码还是最有说服力。1,基本命令:生产

2016-03-01 21:45:07 3227

原创 [019]Sencha Ext JS 6.0使用教程1

为什么使用sencha Ext JS 6.0sencha对原先的模块与Ext进行了融合,新版本可以一次开发多平台使用,Web版、HD版、App应用程序(包括Android和IOS)跨平台使用,方便开发使用,是个不错的选择。1, 参考网址官方说明文档: 1, Sencha Products:http://docs.sencha.com/ 2, Sencha Ext Js 6.0:http

2016-03-01 21:27:27 7119

原创 [018]Java编程思想——聚合

聚合:类之间的一种引用,表示两个对象之间是整体和部分的弱关系,部分的生命周期可以超过整体,如电脑和鼠标; 组合:表示两个对象之间是整体和部分的强关系,部分的生命周期不能超越整体,如人和眼睛。 聚合关系的部分,可以在构造器中通过参数传递的形式进行初始化,有时聚合比继承好用。 下面代码例子就是很好的解释:public interface Moveable { void move();}i

2016-02-18 23:20:28 575

原创 [017]Java设计模式3——策略模式

本节主要介绍Comparable和Comparator两个接口,同种比较方法,使用不同比较策略,多态化,程序更容易扩展、维护。 首先列出比较类DataSorter :public class DataSorter { //冒泡排序,从小到大排序 public static void sort(Object[] a) { for(int i=a.length; i>0

2016-02-17 22:58:55 448

原创 [016]Java设计模式2——Iterator

Iterator主要针对Java容器设计的,主要目的就是为了解决多种容器统一遍历的问题。每一种容器都有其独特的遍历方式,当使用的容器发生变化的时候,遍历部分的代码也要跟着变化,这样不便于程序的维护,使用Iterator将使程序更加灵活。废话少说,直接上代码,程序员还是代码更有说明性。代码实现了ArrayList与LinkedList两种容器的逻辑。下面代码实现了这两种容器处理元素时经常用到的两种方法

2016-02-17 12:17:22 324

原创 [015]Java编程思想——多态

面向对象的核心是多态,其实我们写面向对象的程序总会用到多态,只是我们不太注意,有时并没有很好的理解,下面就以一个小程序来解释多态。 代码如下:class Driver{ public void driver(Vihecle v){ v.go(); }}//抽象类class abstract Vihecle{ //抽象方法 public abst

2016-02-14 22:47:56 300

空空如也

空空如也

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

TA关注的人

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