- 博客(45)
- 收藏
- 关注
原创 理解线性回归(二)——Logistic Regression 回归
LR的基本思想:假设现在有一些数据点,我们用一条直线对这些点进行拟合(该线称为最佳拟合直线),这个拟合过程就称作回归。利用LR回归进行分类的主要思想是:根据现有数据对分类边界线建立回归公式,以此进行分类。因为LR中需要输出类别,那么有一个映射的需求,就是输入一个样本的特征,投影到一个便于分类的空间中。LR回归采用的是Sigmoid函数:sigmoid函数的图像如下:可以看到:如
2014-09-27 17:32:10 2750 2
原创 python中常用的函数
index函数num = ['one', 'two', 'three', 'four', 'five']try: k=num.index('one') print kexcept ValueError: print 'error'我们发现列表的index()函数返回的是该元素在列表中的位置。但是,如果找不到,我们可以使用try-except
2014-09-27 17:31:17 791
原创 入门python中的matplotlib
调用matplotlib画图的流程是:调用figure()得到fig对象 -> 调用fig.add_subplot(111)得到axis对象 -> 调用plt.plot绘制 -> plt.show()显示出figure上面的程序中,figure()返回一个figure对象,add_subplot()返回一个axes对象,里面的参数abc表示在一个figure窗口中,有a行b列个小窗
2014-09-27 17:26:50 2086
转载 python中array和matrix的区别
二者的区别主要在于在做乘法运算的时候,一个是矩阵乘,一个是数组乘,这里和MATLAb很相似。调用的时候需要用numpy.arrayNumpy matrices必须是2维的,但是numpy arrays (ndarrays) 可以是多维的(1D,2D,3D····ND). Matrix是Array的一个小的分支,包含于Array。所以matrix 拥有array的所有特性。
2014-09-27 17:25:23 5702
原创 Adaboost算法
基于多分类器Adaboost的问题相似度匹配算法IntroductionAdaboost是一种分类器,核心思想就是针对同一个训练集,训练不同的弱分类器,然后把这些弱分类器集合起来,构成一个强分类器。Adaboost算法本身是通过改变数据分布来实现的,它根据每次训练集之中,每个样本的分类是否正确,以及上次的总体分类的准确率,来确定每个样本的权重。将修改过的权重的新数据集送给下层分类器进行
2014-09-27 17:24:06 1356
原创 Python中的NumPy函数库
NumPy函数库是python中一个重要的数值计算数据库,在用python实现一些机器学习算法的时候,也经常用到NumPy函数库。NumPy函数库中存在两种不同的数据类型(矩阵matrix和数组array),都可以用于处理行列表示的数组元素。罗列一些NumPy函数库中常用到的函数:mat()函数可以将数组转化为矩阵;.I操作符实现矩阵求逆;矩阵相乘
2014-09-27 17:23:03 4775
转载 入门二叉树的世界
http://blog.csdn.net/karldoenitz/article/details/8180297http://blog.csdn.net/luckyxiaoqiang/article/details/7518888http://whg841001.blog.163.com/blog/static/1765782720098263203575/二叉
2014-09-27 17:21:48 863
原创 用左移来实现*2^n
在C语言中,我们就有左移>运算符;在C++中,左右移运算符又被扩展到了cin>>和cout不过即使在C++中,我们还是可以用左移>运算符来实现2^n。左移a右移>>: 除以2a>>b就是a/(2^b)。这里需要注意的是a和b一定钥匙int型数。
2014-09-27 17:18:18 815
原创 什么是词干化处理
在NLP中,我们对一句话或一个文档分词之后,一般要进行词干化处理。词干化处理就是把一些名词的复数去掉,动词的不同时态去掉等等类似的处理。对于切词得到的英文单词要进行词干化处理,主要包括将名词的复数变为单数和将动词的其他形态变为基本形态。对动词的词干化可以使用 Porter 算法[5]。R语言很多包可以词干化,如snowball,Rstem等,但是它们的词干化是比较机
2014-09-27 17:16:03 7095
原创 周期串问题
有一类题目:一个字符串可以由某个长度为k的字符串重复多次得到,该串以k为周期。例如,abcabcabcabc以3为周期,也以6和12为周期,那么如何求它的最小周期?求解这一类的周期性的题目,有个关键:周长一定可以被串长整除,故我们无需判断所有的i-len,只需要判断能被len整除的i;其次,我们的i从小开始遍历,即for(int i=0; i还有一个模板,当我们需要逐一比较
2014-09-27 17:15:51 678
原创 扩展阅读资料
阿里技术沙龙http://club.alibabatech.org/index.htmHadoop, storm, and spark: http://www.itpub.net/thread-1845750-1-1.htmlhttp://www.aboutyun.com/thread-6858-1-1.htmlhttp://www.csdn.net/article/2
2014-09-27 17:15:11 573
原创 SQL常用的语句
为了查看数据库里的数据,我们可以通过在SQL编译器中编写一些代码来查看、增加、删除、更新数据。首先使用的MySQL数据库管理工具是Navicat for MySQL,安装包在我的百度云上面。需要连接之后才能够看到数据:其中在表那一栏中出现了几个表,显示的都是这些表名;双击就可以看到那些表里面的详细内容。最重要的地方
2014-09-27 17:09:58 611
原创 1097卡片游戏——队列queue的应用
queue类是为程序员提供了一个队列的功能的容器适配器,具体而言,一个FIFO(先入先出)的数据结构在头文件中定义。原型templateclass T, class Container =std::deque> class queue;成员函数empty()判断队列空,当队列空时,返回true。size()访问队列中的元素个
2014-09-27 17:02:15 822
原创 Python下连接SQL
在Python中,读取的文件有时候不是本地文件,需要从数据库上读取,这个时候我们就需要把Python和SQL数据库连接,对其中的数据down下来,数据处理分析之后,再把数据上传上去。首先,我们需要一个Python中做SQL的模块:mysqldb,这个在我的百度云上有,安装就可以使用了。然后需要用到的mysqldb的函数以及事例如下:MySQLdb模块是p
2014-09-27 17:02:14 1223
原创 string类型自带的函数
可以直接赋值string s1, s2=" we are one"; s1=s2; 可以初始化连续字符string s1(8, 'A'); //AAAAAAAA可以求长度s1.length()可以用+实现字符串的联结s2=s3+' '+s4; insert插入s3.insert(7, "are one"); /
2014-09-27 17:01:09 1037
原创 Python中的自定义函数
两种情况:1)def rev(revlist): #计算逆序数 count = 0 revlen = len(revlist) #the length of revlist for i in range(revlen): #依次遍历 for j in range(i+1,revlen): if revlist[
2014-09-27 16:51:11 907
原创 如何求逆序数
逆序数在很多算法中都有涉及,下面的一篇文章把如何求解一个数列或是字符串的逆序数讲解的较为清楚了。http://blog.csdn.net/dlengong/article/details/7594919我们现在用到的是一个长度和n的list或者string,最大逆序数为n*(n-1)/2。
2014-09-27 16:48:19 703
原创 字典里对key的查找
首先构建一个dict类型,可以直接初始化:phonebook = {'你': '2341', '是': '9102', '谁': '3258'}if '2341' in phonebook: print 'abc'也可以先定义再赋值:dict1={}if 'a' not in dict1: dict1[a]=1 #这种方式就可以增加字典里面的元素了
2014-09-27 16:45:47 1887
原创 startswith和endswith函数
当我们做文本处理的时候,经常要判断一个文本有没有以字串开始,或者结束。Python为了实现这样的功能提供了两个函数:startswith, endswithS.startswith(prefix[, start[, end]]) -> bool如果字符串S以prefix开始,返回True,否则返回False。start和end是两个可以缺省的参数。分别是开始比较的位置和结束比较
2014-09-27 16:45:44 1370
原创 1113斐波那契数应用
斐波那契数应用时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte总提交:212 测试通过:133描述知道斐波那契数吗?下面是它的一个定义:F1 = 1F2 = 2Fn+1 = Fn+Fn-1 ,这里n>1 每个正整数x 可写为不同斐波那契数的总和,因而
2014-09-27 16:42:53 663
原创 1034IBM技术俱乐部主席竞选
IBM技术俱乐部主席竞选时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte总提交:524 测试通过:197描述今天IBM技术俱乐部举行主席竞选,你的任务是统计谁是得票最多的候选人。输入输入数据包含多组测试案例。每组测试案例由N(0)开头,N表示投票总数,后续N行每行包含一个参加主
2014-09-27 16:41:20 622
原创 1135Missile
Missile时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte总提交:123 测试通过:37描述Long , long ago ,country A invented a missile system to destroy the missiles from their enemy
2014-09-27 16:40:16 575
原创 1041线段相交
做题小结题目线段相交时间限制 (普通/Java):1000MS/3000MS 运行内存限制 :65536KByte总提交 :356 测试通过 :77描述你将判断给定线段 L1,L2 是否相交 , 其中L1 表示为s1x,s1y,e1x,e1y, L2表示为s2x,s2y,e2x,e2y
2014-09-27 16:35:33 689
原创 如何安装Python中的模块
在学习python的时候,一定要注意对几个重要module的学习。例如:主要做数值计算和数据分析的Numpy,做机器学习的Scikit-Learn(sklean)。在import这些模块之后,我们才可以使用里面封装了一些超级好用的方法。那么在调用这些模块之前,就有一个问题:如何安装呢?就像在MATLAB中,也需要经常安装一些常用的工具包一样。主要来说,有两种安装方法:
2014-09-27 16:33:18 965
转载 Python中常用的机器学习模块——Scikit-Learn
scikit-learn是一个用于机器学习的 Python 模块,建立在SciPy基础之上,获得3-Clause BSD 开源许可证。这个项目是由 David Cournapeau 在 2007 年发起的一个 Google Summer of Code 项目,从那时起这个项目就已经拥有很多的贡献者了,而且该项目目前为止也是由一个志愿者团队在维护着。主要特点:操作
2014-09-27 16:28:18 1595
原创 Python的built-in函数
Python中内置了好处功能特别强大的函数,完整的函数列表可以查看下面的网站:https://docs.python.org/3/library/functions.htmlabs(x)求绝对值,只能有一个参数cmp(x, y)比较函数cmp(x, y)就需要两个参数,如果x,返回-1,如果x==y,返回0,如果x>y,返回1。该函数只有
2014-09-27 16:19:23 1784
原创 Python常用网站
http://www.pythontab.com/ Python开发者门户http://www.liaoxuefeng.com/https://docs.python.org/3/library/functions.html Python官方文档http://www.w3cschool.cc/python/att-string-index.html
2014-09-27 16:18:38 571
原创 Python的基础
1. Python提供了ord()和chr()函数,可以把字母和对应的数字相互转换:2. 输出内容包含变量内容的时候,用法和C语言一样,使用%。你可能猜到了,%运算符就是用来格式化字符串的。在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?,括号可以省略。常见的占位符有:%d
2014-09-27 16:16:30 853
原创 贝叶斯学习
贝叶斯学习的基础是其遵循某种概率分布,根据这些概率及已观察到的数据进行推理,以做出最优的决策。贝叶斯学习的特性:观察到的每个训练样本都可以增量地降低或升高某假设的估计概率。而其他算法会在某个假设与任一样本不一致的时候完全去掉该假设;先验知识可以与观察数据一起决定假设的最终概率。这里的先验知识可以是每个候选假设的先验概率,以及每个可能假设在可观察数据上的概率分布;贝叶斯学习可允许假设
2014-09-27 16:13:02 2144
原创 编程的一些细节
scanf函数是有返回值的,返回输入变量的个数,如果输入无效,则返回零;此处的输入无效是指用户输入的类型和scanf指定的类型不一致;做OJ题目的时候,如果要调用math.h头文件中的pow函数,注意可能会超时;for循环中,不要使用for (int i=0; i
2014-09-27 16:09:55 449
原创 C++的多态性
多态性就是用一个函数名定义不同的函数;静态多态性。同一个类中的同名函数,定义时在形式参数的个数、顺序、类型方面有所不同,在程序编译时就能根据实际参数与形式参数的匹配情况,确定该类对象究竟调用了哪一个成员函数。静态多态性可以通过函数重载和运算符重载实现;动态多态性。在基类与派生类中存在的同名函数,要求该同名函数的原型在基类和派生类中完全一致,而且是虚函数。在编译时无法确定究竟调用的是哪一个同名函数,
2014-09-27 16:03:05 543
原创 C++中的类的定义
class Point{...};定义的形式。最后的分号不能少;在类的定义中不能对数据成员进行初始化;类的任何成员都必须指定访问属性。一般情况下将成员函数定义为public, 将数据成员定义为private or public;public的成员。既能够被该类的成员函数访问,又能够被类外部的其他函数访问;protected的成员。允许该类的成员函数和友元访问,允许派生类的成员函数访问;privat
2014-09-27 16:01:14 639
原创 C++中类的继承与派生
为了代码的可重用性,我们有了派生和继承。在既有的类的基础上创建一个新类,新类继承了既有类的成员,并且还允许增加信的成员,或者改造了既有类中的某些成员函数,这就是继承;基类不能被派生类继承的两类函数是构造函数和析构函数;派生类可以直接调用基类的数据成员和成员函数,也可以调用新增加的数据成员和成员函数;基类的private成员在派生类的成员函数不可以直接访问,但派生类的成员函数可以通过调用基类被继承的
2014-09-27 16:00:33 597
原创 C++中的const修饰符
定义常量。const double PI=3.1415926; 这个好于在C中的宏定义;指向常量的指针。const int*p; p=&x; p本身是个变量,可以修改,指向其余的常量。但是p指向的内容*p不能直接修改。常指针。int *const p=&x; 指针p本身就是一个常量,只可以初始化,不能赋值改变。但是p指向的内容*p可以修改;指向常量的常指针。 const int *const
2014-09-27 15:56:49 534
转载 C++中的字符/字符串的I/O
cin最基本的应用,输入一个数字:cin>>a>>b; cout输入的是一个字符串,那么cin遇到空格、TAB、回车都会结束。char a[20]; cin>>a; coutcin.get()cin.get(字符变量名) 可以接收字符。cin.get(字符数组名, 需要接收字符的数目) 可以接收一行字符串,可以接收空格,只要不超过
2014-09-27 15:51:15 635
原创 JAVA中的对象和类
Java中类也有构造方法,其作用就是为了完成类的初始化;同一个文件总可以有多个类,但只能有一个类是公共的,而且main函数也在这个公共类中。此外,公共类必须与文件同名。在JAVA中允许把许多类的申明放在一个JAVA中的,但是这些类只能有一个类被声明为public,而且这个类名必须和JAVA文件名相同;在这个public类前可以先定义一个class,类似于C++中的struct类型,然后在publi
2014-09-27 15:48:56 615
原创 JAVA中的字符串和文本I/O
定义一个字符串,Java可以有如下几种方式:1) String newstring = new String("Welcome to Java"); 2) String message = "Welcome to Java"; 3) char [] charArray = {‘H’, 'e', 'l', 'l', 'o'}; String message =new String(charA
2014-09-27 15:48:10 780
原创 JAVA中的多维数组
声明一个二维数组:int [] [] matrix = new int [5] [5]; 或者使用:int [] [] matrix = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {10, 11, 12} }; 这是一个直接初始化的格式;获取二维数组的长度。int [] [] martix = new int [3] [4]; 那么martix.length=3; 即行
2014-09-27 15:46:00 620
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人