- 博客(25)
- 资源 (5)
- 收藏
- 关注
原创 java版查找链表最后k个元素
package com.test;public class Test { class Node{ private int num; private Node next; public Node(int num,Node node){ this.num = num; this.next = node; } public void setNum(int num){ this.nu...
2018-06-23 18:29:52 446
原创 Java版链表逆序
package com.test;public class Test { class Node{ private int num; private Node next; public Node(int num,Node node){ this.num = num; this.next = node; } public void setNum(int num){ this.nu...
2018-06-23 18:12:19 206
原创 在排序数组中查询指定数字
//注意查询边界以及正序逆序判断package com.test;public class Test { public static int search(int arr[],int len,int target){ if(len < 1){ return -1; } int first = 0; int last = len-1; while(first <= las...
2018-06-23 08:14:09 282
原创 关于集成学习算法中弱分类器的生成
集成思想的方法一般是集成多个弱分类器用以提高泛化能力。Bagging算法中,弱分类器的生成可以有以下几种:基于样本分布的弱分类器生成,可以根据样本分布抽样产生,也可以不抽样,在弱分类中应用样本分布(这种方法需要修改弱分类器的实现过程);基于属性选择的弱分类器生成,一般是在高维数据中,随机选择不同的属性组合产生弱分类器;基于参数变化的弱分类器生成,有些分类器对参数敏感,小的变化就会导致分类器的不同;
2017-03-10 15:50:13 3859
原创 OpenMP的简单测试 并行化
//测试之前要开启OpenMP支持#include#includeusing namespace std;int main(){ int num_procs = omp_get_num_procs(); cout long long count = 0; long long* array = new long long[num_
2017-01-18 10:11:28 852
原创 逻辑回归中sigmoid函数的来历
逻辑斯谛分布中的sigmoid函数来源于最大熵原理,通过拉格朗日乘数法(寻找变量受一个或多个条件限制的多元函数极值的方法)求偏导得出。论文The equivalence of logistic regression and maximum entropy models 中有详细推导过程。
2017-01-06 20:54:26 5762
原创 python 获取文件夹下指定后缀的文件
import osimport sysimport os.pathdef list_file(path): count = 0 for filename in os.listdir(path): if os.path.splitext(filename)[1] == '.csv': count = count+1
2016-12-28 21:36:45 5610
原创 基于物品的协同过滤推荐算法
基于物品的协同过滤推荐算法的主要思想是通过计算物品间的相似性,将目标用户已购买过的物品的相似物品,推荐给目标用户。相比于基于用户的协同过滤算法有更好的解释性。
2016-11-13 19:53:30 426
原创 基于用户的协同过滤算法
基于用户的协同过滤算法主要思想是通过计算目标用户的相似用户,将相似用户喜欢或者购买过的商品过滤掉目标用户已购买过的商品形成推荐列表,一般将这些商品按照一定的规则排序(例如按照商品评分大小)展示给目标用户。 当我们想购买某一商品而不知道应该购买哪一个的时候,通常情况下会向自己周围的同学询问,而这些同学一般是跟自己有类似爱好或者有过购买经历的同学,于是协同过滤这样的思路就产生了。
2016-11-13 19:39:51 611
原创 回归提升树 算法
回归提升树算法流程输入:训练数据集 T={(x1,y1),(x2,y2),⋅⋅⋅,(xN,yN)},xi∈χ⊆Rn,y∈η⊆RT = \{ ({x_1},{y_1}),({x_2},{y_2}), \cdot \cdot \cdot ,({x_N},{y_N})\} ,{x_i} \in \chi \subseteq {R^n},y \in \eta \subseteq R输出:提升树 fM
2016-11-12 21:47:59 1079 1
原创 熵、信息增益、信息增益比
熵是表示随机变量不确定性的度量,变量XX是一个取有限值的离散属性,其概率分布为P(X=xi)=pii=1,2,⋅⋅⋅,nP(X = {x_i}) = {p_i}{\rm{ i = 1,2,}} \cdot \cdot \cdot {\rm{,n}}其中nn为变量取值个数,那么变量 XX的熵定义为H(X)=−∑i=1npilogpiH(X) = - \sum\limits_{i = 1}^n
2016-11-11 14:10:03 897
原创 随机森林 RandomForest java
随机森林是由多棵树组成的分类或回归方法。主要思想来源于Bagging算法,Bagging技术思想主要是给定一弱分类器及训练集,让该学习算法训练多轮,每轮的训练集由原始训练集中有放回的随机抽取,大小一般跟原始训练集相当,这样依次训练多个弱分类器,最终的分类由这些弱分类器组合,对于分类问题一般采用多数投票法,对于回归问题一般采用简单平均法。随机森林在bagging的基础上,每个弱分类器都是决策树,决策
2016-11-11 09:27:35 6066 4
原创 梯度提升回归树 GBDT java
/** * 梯度提升回归树 简单实现 * @author ysh 1208706282 * */public class Gbdt { static List mSamples; static List mTrainTarget; static List mTrainCurTarget; static List mCarts;
2016-11-10 19:09:41 3130 1
原创 最小二乘回归树 属性选择比率 gbdt基分类器 java
/** * 最小二乘回归树 缺失属性还没想好怎么处理好 * @author ysh 1208706282 * */public class Cart { static double MISSINGDATA = -111111111; int mMaxDepth; //设定的最大深度 int mMinLeaf;
2016-11-10 19:02:56 1018
转载 SQL 语句调优 where 条件 数据类型 临时表 索引
基本原则避免全表扫描建立索引尽量避免向客户端返回大数据量,若数据量过大,应该考虑相应需求是否合理尽量避免大事务操作,提高系统并发能力使用基于游标的方法或临时表方法之前,应先寻找基于集的解决方案来解决问题,基于集的方法通常更有效。尽量避免使用游标,因为游标的效率较差。where 后的条件应尽量避免在 where 子句中使用 != 或 应尽量避免在 where 子句中使用 or
2016-11-09 16:21:30 1077
原创 朴素贝叶斯分类器 拉普拉斯变换 java
/** * 朴素贝叶斯分类器 拉普拉变化的重要性(暂未实现) 小样本数据有坑 特征为离散型数值化 * @author ysh 1208706282 * */public class NavieBayes { Map labelInfo; Map featureInfo; List samples; static class Sa
2016-11-09 15:35:43 963
原创 KNN分类器 适合数值型分类 java
/** * KNN分类器 * @author ysh 1208706282 * */public class KNN { Set labelSet; List samples; /** * 样本 * @author Administrator * */ static class Sample
2016-11-08 11:57:39 731
原创 逻辑回归 随机梯度下降 批梯度下降 二分类问题 不带正则项 java
/** * 逻辑回归 随机梯度下降 批梯度下降 二分类问题 * @author Administrator * */public class LR { List samples; List paramers; static class Sample{ Double label; List feature;
2016-11-07 22:37:05 800
原创 感知机 java
/** * 感知机 解决二分类问题 1,-1 * @author ysh 1208706282 * */public class Perceptron { double weight[]; List samples; static class Sample{ Double label; List feature;
2016-11-07 22:33:33 726
原创 二叉排序的创建,删除,遍历,查找
#include using namespace std;typedef struct Node{ int val; Node *left; Node *right;}Node,*PNode;void insert(PNode &p,int key){ if(p == NULL){ p = new Node;
2016-10-11 15:35:10 271
原创 java 排序算法小节 直接插入排序 冒泡排序 选择性排序 快速排序 归并排序
public class Mainx { /** * 交换数组内的两个数据 * @param array * @param i * @param j */ public static void swap(int array[],int i,int j){ int temp = array[i];
2016-09-06 17:00:24 282
转载 When Should I Use HBase
HBase isn’t suitable for every problem.First, make sure you have enough data.If you have hundreds of millions or billions of rows, then HBase is a good candidate.If you only have a few thousand/
2016-08-25 10:37:18 362
原创 10个集合,集合中无重复元素,但元素个数海量。求这个10个集合的交集。
思路:每个集合是海量元素,可以考虑使用bitmap的方式存储每个集合,之后集合间做与运算,结果即为交集
2016-08-23 14:48:59 810
原创 堆排序的实现
堆排序c++实现//大堆比较templatebool max_compare(T a, T b){ return a }//小堆比较templatebool min_compare(T a, T b){ return a > b;}templatevoid heapify(T *src, int start,int len,boo
2016-05-05 19:54:07 362
租房直通车
2012-08-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人