- 博客(45)
- 收藏
- 关注
原创 SQL函数与自定义函数
SQL强大的一个原因就是函数丰富,MYSQL为例,函数有以下几种:数学函数字符串函数日期和时间函数条件判断函数系统信息函数加密函数格式化函数同时,MYSQL也支持自定义函数,这篇文章分为两个部分,限于篇幅,第一个部分介绍常用函数,第二部分讲解如何自定义函数。已有函数数学函数:ABS(x),绝对值 CEIL(x),FLOOR(x),大于等于的整数,小于等于的整数 SIGN(x)
2017-07-30 22:55:05
3210
1
原创 Nth Highest Salary 解法讨论(Mysql)
题目分析 Write a SQL query to get the nth highest salarymysql join order by limit offset
2017-06-26 14:31:03
1123
原创 使用稀疏化(字典学习)工具spams做分类
spams简介SPAMS (SPArse Modeling Software)是一个为解决各种稀疏估计问题的开源优化工具箱,其主页为http://spams-devel.gforge.inria.fr/index.html 可以解决以下问题: ①Dictionary learning and matrix factorization (NMF, sparse PCA, …) 字典学习与矩阵
2016-11-03 15:40:09
5959
4
原创 LASSO和L1正则包liblinear,glmnet使用和对比
LASSO算法有很多包,今天我就两个常用包liblinear和glmnet做一下分析,并给出我做分类的例子。liblinearLIBLINEAR是一个简单的求解大规模规则化线性分类和回归的软件包。 Liblinear是国立台湾大学的Chih-Jen Lin博士开发的,主要应对large-scale的data classification。liblinear包提供的算法包括: 我们要使用的la
2016-11-03 14:47:59
9627
原创 机器学习防止过拟合之L1范数(正则)与LASSO
机器学习过拟合问题对于机器学习问题,我们最常遇到的一个问题便是过拟合。在对已知的数据集合进行学习的时候,我们选择适应度最好的模型最为最终的结果。虽然我们选择的模型能够很好的解释训练数据集合,但却不一定能够很好的解释测试数据或者其他数据,也就是说这个模型过于精细的刻画了训练数据,对于测试数据或者其他新的数据泛化能力不强。 以一个简单的多项式拟合为例: 图一只捕捉了数据的简单特征,处于欠拟合状态
2016-11-03 13:56:42
9967
原创 ACM标准输入输出JAVA版及性能优化
这篇介绍ACM输入输出的java语言版本1. 输入①类形式:import java.util.*;import java.io.*;public class Main{public static void main(String[] args){ Scanner cin1 = new Scanner(System.in);Scanner cin2 = new Scanner(new Buff
2016-11-03 12:50:05
5562
2
原创 ACM标准输入输出C/C++版
对于刚开始在OJ平台上刷题的人来说,标准输入输出是一个很让人头痛的问题,个人也经历过这样的痛苦,因此在这里进行一下总结。C++输入①只有一组测试数据 以计算a+b为例:#include < iostream > using namespace std; int main() { int a,b; cin >> a >> b; cout << a+b <
2016-11-03 12:30:37
12556
原创 pandas数据处理常用函数demo之缺失值/merge/concact/绘图
Python pandas、matplotlib缺失值,merge,concact,画图
2016-08-25 19:14:09
5439
原创 pandas数据处理常用函数demo之创建/行列操作/查看/文件操作
pandas是Python下强大的数据分析工具,这篇文章代码主要来自于 10 Minutes to pandas,我将示例代码进行了重跑和修改,基本可以满足所有操作
2016-08-25 18:43:59
3145
原创 Andrew Ng机器学习笔记+Weka相关算法实现(六)SMO/LibSVM/SVM参数
SMO算法,坐标上升法,LibSVM,Weka中的SMO和MultiClassClassifier分类器的使用,SVM参数含义,SVM参数寻优技巧,SVM使用注意事项
2016-03-29 15:28:26
9500
5
原创 Andrew Ng机器学习笔记+Weka相关算法实现(五)SVM最优间隔和核方法
这一章主要讲解Ng的机器学习中SVM的后续内容,主要包括最优间隔分类器求解,核方法。最优间隔分类器的求解利用以一篇讲过的的原始对偶问题求解的思路,我们可以将类似思路运用到SVM的求解上来。具体的分析如下: 对于SVM求解的问题: 我们把约束条件稍微变形一下: 只有函数间隔是1的点才能使上式取等号,也就是有意义的,如下图: 叉叉和圈圈分别代表正反例,可以看出,只有落在边缘的点的
2016-03-29 13:45:43
2588
原创 Andrew Ng机器学习笔记+Weka相关算法实现(四)SVM和原始对偶问题
这篇博客主要讲解了Ng的课第六、七个视频,涉及到的内容包括,函数间隔和几何间隔、最优间隔分类器 ( Optimal Margin Classifier)、原始/对偶问题 ( Primal/Dual Problem)、 SVM 的对偶问题几个部分。函数间隔和几何间隔函数间隔( functional margin) 与几何间隔( geometric margin)是理解SVM的基础和前提。 假设
2016-03-29 12:02:20
1472
原创 Andrew Ng机器学习笔记+Weka相关算法实现(三)神经网络和参数含义
神经网络的概念和基本推导,Weka中实现神经网络和参数的基本含义
2016-03-19 13:57:14
10121
原创 Andrew Ng机器学习笔记+Weka相关算法实现(二)生成学习/朴素贝叶斯
这篇博客主要涉及到Ng的课第二个讲义,包括生成学习算法 (generate learning algorithm)、高斯判别分析( Gaussian Discriminant Analysis,GDA)、朴素贝叶斯( Navie Bayes)、拉普拉斯平滑( Laplace Smoothing)。生成学习算法首先要清楚什么是生成学习。之前讲的方法如回归等方法都属于判别学习,也就是直接对问题求解
2016-03-15 17:08:27
2989
原创 使用Weka进行数据挖掘(Weka教程九)模型序列化/持久化存储和加载
有很多时候,你在构建了一个模型并完成调优后,你很可能会想把这个模型存入到磁盘中,免得下次再重新训练。尤其是神经网络、SVM等模型训练时间非常长,重新训练非常浪费时间。那么怎么持久化模型呢? 其实既然模型也是一个JAVA对象,那我就按照JAVA的序列化和反序列化方法保存模型对象即可。Java中的序列化和反序列化①java.io.ObjectOutputStream 代表对象输出流,它的writ
2016-03-15 14:42:58
3491
原创 Andrew Ng机器学习笔记+Weka相关算法实现(一)梯度下降与回归方法
最近在看Andrew Ng的机器学习课程,将学到的东西在此做个总结,包括梯度下降、随机梯度下降、最小二乘法、局部加权回归、极大似然原理、logistic regression、牛顿方法、广义线性模型、指数分布族
2016-03-14 16:05:15
2543
原创 使用Weka进行数据挖掘(Weka教程八)Weka分类评价Evaluation输出分析
Weka提供了多种多样的评价指标,为了让大家更清楚,降低学习时间,在这篇文章中我将分析ROC/AUC/F1/recall/precision/MCC/PRC
2016-03-14 14:21:56
14372
原创 使用Weka进行数据挖掘(Weka教程六)Weka采样Filter/Resample/SMOTE
简单介绍Weka支持的Resample和SMOTE采样方式。即简单随机抽样和SMOTE采样算法。
2016-03-10 16:39:36
13051
原创 使用Weka进行数据挖掘(Weka教程五)Weka数据预处理之Filter使用
加载完毕数据集后,还是不能直接进行数据挖掘模型的训练和学习,必须要进行数据预处理,Weka中的数据预处理使用Filter实现。
2016-03-10 15:37:52
15294
1
原创 使用Weka进行数据挖掘(Weka教程四)Weka数据Instance之Attribute
本篇博客讲解下Weka中数据的属性Attribute。
2016-03-10 14:55:09
7993
原创 使用Weka进行数据挖掘(Weka教程三)Weka数据之Instances和Instance
本博客讲解以下Weka运行时数据的存储对象Instances和Instance。
2016-03-05 16:15:45
15285
2
原创 使用Weka进行数据挖掘(Weka教程二)Weka数据之ARFF与多文件格式转换
这篇博客主要讲解Weka的数据格式Weka数据格式Weka的专有数据格式ARFF及与其他格式文件之间的转换。
2016-03-05 15:17:41
8370
原创 git常用命令及使用技巧
1、初次使用git 首先应该配置用户名和邮箱$ git config --global user.name "Your Name"$ git config --global user.email "email@example.com"还可以配置时间、缓存等,配置完后可以查看相关配置:git config -1 初始化git$ git init更改代码,之后添加文件git add filenam
2015-06-03 22:55:12
508
原创 mySQL之增删改查与JAVA示例
最近使用到了MySQL数据库,学习了相关的SQL语句,在此做个备份,谨防遗忘。初始化操作 ①\c 退出本语句,输错了直接退出 ②set names gbk 设置字符集 ③mysql -h localhost -u username -p password登陆数据库操作 ①create database Name 创建库 ②drop database Name 删除库 不允许修改数
2015-05-23 16:21:02
921
原创 JAVA Swing 图形化编程(二)文本输入框JTextField/JTextArea
Java Swing提供了两种常用的文本输入方式,分别是文本框(JTextField)与文本区(JTextArea),这两种方法有相似点也有不同点,在此具体分析,做个笔记。一、JTextField常用的构造方法有:JTextField() 构造一个新的 TextField。JTextField(int columns) 构造一个具有指定列数的新的空 TextField。JTextField(St
2015-05-16 00:18:00
4945
原创 JAVA Swing图形化编程(一)文件选择器JFileChooser
这两天做一个图形化软件需要选择文件并进行文件读取,因此需要使用到JAVA Spring中的文件选择框。查阅相关资料发现FileChooser是一个不错的选择,在此记录一下使用过程和心得。 拿到一种新的java类,最先做的就是查看API文档,相关介绍如下; 首先看一下构造方法:造方法摘要 JFileChooser() 构造一个指向用户默认目录的 JFileChooser。 JFileChoo
2015-05-15 23:57:35
9612
原创 JavaScript浏览器访问/上传本地文件
这两天着手进行数据的可视化问题,需要使用javascript进行本地文件的操作,但是使用浏览器访问本地文件一直不太方便。为了在浏览器中能够实现诸如拖拽并上传本地文件这样的功能,我们就不得不求助于特定浏览器所提供的各种技术了。比如对于 IE,我们需要通过 ActiveX 控件来获取对本地文件的访问能力,而对于 Firefox,同样也要借助插件开发。由于不同浏览器的技术实现不尽相同,为了让程序能够支持多
2015-04-28 14:48:48
4973
原创 JAVA读文件类之FileReader/InputStreamReader/BufferedReader
上一篇写了Java写入文件操作,这一篇回顾一下Java读文件操作。 Java IO采用reader类来进行文件读取,而且已经提供了三个Reader的实现类,FileReader,InputStreamReader和BufferedReader。其中InputStreamReader可以让你在构造器中重指定编码的方式,如果不指定的话将采用底层操作系统的默认编码方式,这让你可以在字节和字符中自由的转换
2015-04-26 14:56:17
4034
原创 JAVA和Scala写文件类FileWriter/FileOutputStream/BufferedWriter
今天进行spark MLlib测试,修改了decisiontree的源码,准备将运行过程中的时间等参数都写入文件,以便后面对数据进行分析和可视化处理,在这过程中需要使用Scala对文件进行读写操作。就记录下了相关过程。对文件相关知识进行温习。 一、Java操作文件 1.1 写文件 ①FileWritter 用来写入字符文件的便捷类。此类的构造方法假定默认字符编码和默认字节缓冲区大小都是可接
2015-04-23 19:19:25
2459
原创 CSV转LibSVM格式之C语言实现改进
上次讲了使用Excel的宏进行Excel数据和libsvm数据之间的转换,但是对于大数据量情况下,该方法并不好用,因此需要使用程序来实现。 非常幸运在libsvm官网上找到了C程序可以做这个事情,试用了一下后觉得有一些问题,因此对源程序进行了修改,在此分享给大家。 主要的改进点如下: 1、原来的程序计算后数据输出在控制台,不方便进行进一步操作,因此 将输出改成写入了TXT文件。 2、解决了d
2015-04-14 16:54:14
1143
原创 IntelliJ 下Spark应用程序开发流程
今天使用了intellij开发了spark应用程序,特此记录一下流程。1、配置相关环境 安装好JDK、Scala、intellij、spark 等相关软件并配置好环境,具体方法 之前的博客里都有。2、下载spark-assembly-1.3.0-hadoop2.4.0.jar 这个是spark程序的依赖库文件,有两种方法生成,一种是直接从官网下载预编译好的spark安装包,解压后在lib下可以找
2015-04-14 10:59:42
864
原创 LibSVM格式简介和利用Excel与CSV/XLS格式转换
最近在spark上研究决策树类算法,发现给的决策树的demo使用到了libsvm dataset,便查阅了相关的资料。相关内容如下:1、什么是libsvm LIBSVM是台湾大学林智仁(Lin Chih-Jen)教授等开发设计的一个简单、易于使用和快速有效的SVM模式识别与回归的软件包,他不但提供了编译好的可在Windows系列系统的执行文件,还提供了源代码,方便改进、修改以及在其它操作系统上应用
2015-04-13 19:07:10
6419
1
原创 Apache Spark MLlib学习笔记(七)MLlib决策树类算法源码解析 3
上篇已经分析到Spark MLlib库的决策树最终实现使用了random forrest的run方法,这篇将对run方法进行详细的剖析和解释。 上篇提到input先被转换成Metadata处理,因此首先看一下buildMetadata方法 可以看出DecisionTreeMetadata确定了叶子节点数在不同情况下的范围,将数据的属性分为了有序和无序两种情况。将二元分类和回归问题放在了一起考虑。
2015-04-10 20:57:54
1747
原创 Apache Spark MLlib学习笔记(六)MLlib决策树类算法源码解析 2
上篇说道建立分类决策树模型调用了trainClassifier方法,这章分析trainClassifier方法相关内容 按照以下路径打开源码文件: /home/yangqiao/codes/spark/mllib/src/main/scala/org/apache/spark/mllib/tree/DecisionTree.scala 先重点分析DecisionTree.scala文件。 首
2015-04-08 18:24:06
2975
原创 Apache Spark MLlib学习笔记(五)MLlib决策树类算法源码解析 1
从这章开始分析spark MLlib的decision tree的源码实现。 首先看下官方给的java使用决策树的例子,路径是/home/yangqiao/codes/spark/examples/src/main/java/org/apache/spark/examples/mllib/JavaDecisionTree.java 为了方便,部分解析我将直接在代码上进行注释:public fin
2015-04-08 16:41:59
2345
原创 Apache Spark MLlib学习笔记(四)Intellij上部署Spark源码
从这篇开始,就正式开始进行源码分析,源码分析是一件工作量很大的工作,尤其是spark这样的大工程,因此一定要使用编辑器才能较好的理顺各个类的关系。看别人经验,都推荐使用intelliJ编辑器。在此也要介绍一下ubuntu系统下spark在intelliJ上的部署。 1,配置java和scala开发环境 spark依赖java和scala环境,因此要先安装JDK,具体方法可以参看以前的一篇博客。
2015-04-08 15:19:31
2683
原创 Apache Spark MLlib学习笔记(三)MLlib统计指标之关联/抽样/汇总
决策树利用树形结构进行分类和回归,构建树的指标有多种,其中一种就是方差。在介绍决策树类算法前,首先介绍一下Spark MLlib中基本的统计。Spark官方提供了summary statistics、correlations、stratified sampling、hypothesis testing、random data generation。即汇总统计、关联、分层抽样、假设检验、随机数据生成。
2015-04-03 15:25:12
3584
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人