自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leetcode 99. Recover Binary Search Tree

//分析若有两个节点是错误的。深度遍历从最深处开始探索//那么他们的公共祖先所在那棵树比如是不合法的//一种是左右两个子树错误的那么找到那两个点//一种是左子树上面的节点和它某个祖先交换了 需要//一种是右子树上的节点和它某个祖先交换了//找到最开始出问题的根节点需要不断的回溯#include#include#includeusing namespace st

2017-03-19 12:28:12 368

原创 Kaggle_news_stock简单文本特征处理

摘要:这个是https://www.kaggle.com/aaron7sun/stocknews上面的一道DJIA波动预测题,其实也是二分类问题也是个文本分类问题,特征是文本类型基本方法是:TF-IDF + SVM 是文本分类问题的基准线开始数据探索import pandas as pdimport numpy as npfrom sklearn.svm impor

2017-02-12 22:11:21 1820

转载 XGBoost参数调优

摘要:转载:http://blog.csdn.net/han_xiaoyang/article/details/526653961. 简介如果你的预测模型表现得有些不尽如人意,那就用XGBoost吧。XGBoost算法现在已经成为很多数据工程师的重要武器。它是一种十分精致的算法,可以处理各种不规则的数据。 构造一个使用XGBoost的模型十分简单。但是,提高这个模型

2017-02-12 17:52:17 5823 1

原创 GBDT参数调优

摘要:此处主要是如何利用xgboost以及如何进行Xgboost调参,特征工程处理的比较简单。特征工程:City这个变量已经被我舍弃了,因为有太多种类了。DOB转为Age|DOB,舍弃了DOB创建了EMI_Loan_Submitted_Missing这个变量,当EMI_Loan_Submitted 变量值缺失时它的值为1,否则为0。然后舍弃了EMI_Loan_Submi

2017-02-10 21:51:43 21863

原创 FP-growth算法高效实现

摘要:  搜索引擎中,输入一个单词或者单词的一部分。搜索引擎就会自动补全查询的单词项。用户甚至实现都不知道搜索引擎推荐的东西是否存在。搜索引擎公司研究元需要查看互联网上的词找出经常出线一起的词对。它是基于Apriori算法,但是比它快。这里的任务是将数据集存储在一个特定的FP树结构中发现频繁项集或者频繁项对。过程简化如下:会两次扫描数据集1)构建FP树2)从FP树中挖掘频繁项集

2017-02-10 15:40:02 1919

原创 kaggle模型融合简单入门

#这个题属性其实就两种 类别属性和数值属性 和Tantic不太一样我们可以统一处理#处理类别属性但是值却是数字的特征#MSSubClass 的值其实应该是一个category,是住宅属性 可是取值却是整数#所以我们考虑将这个类的类型重新确定def processMSSubClass(df): df['MSSubClass']=df['MSSubClass'].astype(str)

2017-02-07 20:51:54 6034

原创 kaggle简单框架总结

摘要:分析过程在ipython notebook笔记中。下面主要贴一下这道题的代码框架。#-*-coding:utf-8-*-import numpy as npimport pandas as pdimport matplotlib.pyplot as pltfrom sklearn import preprocessingfrom sklearn.ensemble

2017-02-05 21:36:24 2405 1

原创 Apriori算法实现关联分析

摘要:主要是讲解一些数据挖掘中频繁模式挖掘的Apriori算法原理应用实践当我们买东西的时候,我们会发现物品展示方式是不同,购物以后优惠券以及用户忠诚度也是不同的,但是这些来源都是大量数据的分析,为了从顾客身上获得尽可能多的利润,所以需要用各种技术来达到目的。通过查看哪些商品一起购物可以帮助商店了解客户的购买行为。这种从大规模数据集中寻找物品间的隐含关系被称为关联分析或者关联规

2017-01-22 14:55:56 3309 1

原创 k-Means聚类算法实践

摘要:    前面所实现的机器学习算法,都是为了对一定目标的分类或者预测。但是如果目标变量事先不知道?那么问题就是转换成从数据X中能发现什么,或者构成X的最佳6个数据簇有哪些。或者X中哪3个特征最频繁出现。本章是将聚类算法在无监督学习中的应用。    聚类是一种无监督学习,它将相似的对象归为同一个簇中。它有点像自动全分类。聚类方法几乎可以应用到所有对象,簇内对象越相似,聚类的效果就越好。

2017-01-04 15:08:36 1089

原创 树回归的实现

摘要:前面已经介绍过线性回归的方法,但是这些算法局限处就是需要拟合所有的样本点,当时据拥有众多特征时候,并且特征之间的关系十分复杂的时候。构建全局模型十分困难。许多生活问题也是非线性的。常见的解决的方法是将数据集切分许多容易建模的数据。复杂的局部性建模: 通过决策树可以进行分类,决策树不断将数据集切分小,直到所有目标变量完全相同或者数据不能再切分为止。这是一种贪心的算法,在

2016-12-31 16:48:56 333

原创 线性回归(2)缩减系数理解

摘要:当我们的数据特征比样本点还多怎么办,是否能够预测呢答案是否定。那么如何解决这个问题呢?科学家们引入了岭回归这个概念,岭回归其实就是如下:与前面的算法相比。这里通过预测误差的最小化得到系数首先抽取一部分用于训练I的系数,剩下的再来训练Wdef ridgeRegres(xMat,yMat,lam=0.2): xTx = xMat.T*xMat deno

2016-12-22 00:05:22 1961

原创 基本线性回归两种方法实现

摘要:  分类是对离散性数据进行预测,而回归则是对连续性数据进行预测找出最佳拟合直线假设输入数据为X,回归系数放在向量W中,预测结果为Y = W^T *X,那么如何找到W呢 平方误差def loadDataSet(filename): numFeat = len(open(filename).readline().split('\t')) - 1 d

2016-12-08 11:41:12 734

原创 AdaBoost算法实现

摘要:机器学习处理问题,我们关注的是Boosting方法和代表分类器adaboost。我们已经实现过一些分类算法了,组合结果就是集成方法或者元算法。算法可以不同,数据集合不同部分分给不同分类器集成。训练算法:基于错误提升分类器性能 能够使用弱分类器和多个实例来构建强分类器?下面的实现是基于决策树构建的弱分类器。单层决策树是简单的决策树,仅仅基于单个特征来决策但是由于单层决策树可

2016-12-05 16:45:51 770 1

原创 leetcode42 Trapping Rain Water

通过双指针,头指针是当前第一个非递减的位置,尾指针是当前高度位置通过两个栈来维护数据..出栈的时候填充了水以后修改高度重新加入栈内算法思路:1若为空栈直接加入栈 2.若当前不为空栈讨论当前高度与栈顶高度的值 若小于等于栈顶高度直接加入栈 否则设当前位置为j,找到栈内从右到左第一个非递减的位置i将 i

2016-11-28 16:36:01 244

原创 支持向量机实现编码

文章摘要:对于非线性可分的复杂数据,我们在支持向量机的基础上可以引入核的概念来辅助,可以将数据转换成分类器易于理解的数据形式核函数  我们可以发现核函数的用处就是如图所示在低维不可分的数据映射到高维以后就可以划分了。这个过程是从一个特征空间映射到另外一个特征空间,就是通过核函数实现。我们能把核函数想象成一个包装器或者接口,它把数据从某个很难处理形式转换成比较容易处理的形式。

2016-11-17 19:44:24 1009

原创 SVM实战的理论基础

本章摘要:主要是理解支持向量机一些理论知识,本文采用序列最小化的实现方法实现SMO。同时如何使用核进行扩展道非线性上分类。基于最大间隔分割数据优点:泛化错误率低,计算开销不大缺点:参数调节和核函数的选择敏感,原始分类器不修改只能处理二类分类器分隔超平面当数据点在二维平面的时候,分隔超平面就是一个平面。显而易见,更高维的情况同样适用,比如数据集是1024那么就需要

2016-11-11 20:43:37 1181

原创 leetCode的数独题目

leetCode36, 数独检测合法性就是看每一行每一列以及每个九宫格子是否有重复元素#include#include#include#include#include#includeusing namespace std;struct P{ int i; int j; bool operator<(const P&p2)const { return (i <

2016-11-08 00:16:20 388

原创 Logistic回归的实现

摘要:  Logistic回归也称为对率线性回归,需要涉及到最优化算法。此回归应用十分广泛,对于回归的预测也是概率的值,既属于回归模型也属于分类模型。Logistic回归的基本过程收集数据准备数据:由于需要距离的计算所以需要为数值同时需要格式化分析数据:任意方法训练算法:找到最佳回归系数测试算法使用算法:根据输入转换成对应的结构化数据而如何进行最优系数的

2016-11-02 16:33:17 474

原创 朴素贝叶斯分类的实现

摘要:本文是基于朴素贝叶斯模型的来进行分类。是使用概率值进行分类的一种模型。贝叶斯决策理论优点:数据较少的情况,可以处理多分类问题缺点:输入数据的准备方式比较敏感适用数据类型:标称型类型那么如何确定数据类型呢?比如类别1 p1(x,y)的概率以及类别2 p2(x,y)的预测概率,找出其中大的作为分类的结果就是贝叶斯的核心思想贝叶斯公式:p(c|x)

2016-10-31 16:29:18 623 1

原创 决策树的实现

文章摘要:本文是基于《机器学习实战》来编写的决策树的模型,决策树不是利用惰性算法进行求解的,而是需要学习到数据规则。决策树的构造  决策树  优点:计算复杂度不高,输出容易理解,中间值缺失不敏感,可以处理不相关数据 缺点:过拟合适用数据类型:离散以及连续都行那么决策树构造过程每一次都是对特征进行划分,而如何进行划分就是看数据集上哪个特征在划分数据的时候起

2016-10-26 20:28:27 411

原创 k-近邻算法用于实际应用

摘要:本章所有内容数据均来自《机器学习实战》的数据,是对K近邻算法的应用以及熟练实例1改进约会网站的配对效果 题目描述:海伦喜欢在在线约会网站寻找适合自己的对象,但是她不是喜欢每一个人。她发现交往过三种类型的人:  1.不喜欢的人  2.魅力一般的人  3.极具魅力的人所以需要对网站的对象归入恰当的分类。她周一到周五喜欢魅力一般的人,而周末则更喜欢极具魅力的人。

2016-10-20 23:51:29 5079 1

原创 k-近邻算法的基本实现

摘要:K近邻算法是一种自动判别测试数据类型的算法,它是基于数据集的特征来进行分类,并不需要计算出数据预测模型,属于惰性算法。算法介绍:简单来说就是将测试数据与不用类别之间向量距离进行计算来进行分类优点:精度高,异常值不敏感没有数据输入的假定缺点:计算复杂度高,空间复杂度高适用类型:数值型和标称型算法过程:存在一个样本的数据集合,同时数据集合带有标签。

2016-10-16 15:26:15 551

原创 读书笔记数据科学入门————梯度下降

文章摘要:从事数据科学的时候,常常面临这样的问题从某种特定情形中寻找出最佳的模型。“最佳”常常会被解读为类似于“最小化模型残差”或者“最大数据可能性”这意味着解决一连串最优化问题。而梯度下降的问题适合从零开始逐步解决问题。梯度下降的思想:def sum_of_squares(v):return sum(v_i**2 for v_i in v)比如计算这个函数,梯

2016-10-03 23:55:23 359

原创 读书笔记数据科学入门————概率

本章摘要:  概率论是一种对从事件空间中抽取的事件的不确定性进行量化的一种方式。我们用投掷硬币来举例,空间就是指所有可能的结果的集合。这些结果任意一部分就是事件。条件概率 如果事件E和事件F相互独立那么有如下的定义:   P(E,F) = P(E)P(F)如果两者不一定独立那么E关于F的条件概率为P(E|F) = P(E,F)/P(F)P(E,F) = P(F)

2016-09-19 21:38:56 326

原创 leetcode----Regular Expression Matching

这是一道正则表达式匹配问题,当我们编写程序的时侯会发现一个重要问题就是*前面的字符需要匹配几个的问题,如果.*那么对应被匹配串需要划掉多少个呢?那么这种问题显然不能自己盲目的去划掉遍历所有情况,那么可以交给递归函数去解决,我们遍历我们遍历所有x*可能匹配的字符个数然后看有没有情况满足条件。那么这题很自然的就是分治的思维解决了。class Solution {public

2016-09-13 20:06:29 247

原创 读书笔记数据科学入门————统计学

本章摘要:   统计学是我们赖以理解数据的数学和技术。数据集的描述:  凭借口碑与运气,融资部门的副总如果问你的成员有多少朋友的时候,来确定他潜在的演说对象。当然很容易生成这个数据,但是如何描述这个数据集合呢?对于数据集合,最简单的描述方法就是描述数据本身

2016-09-10 15:21:52 413

原创 读书笔记数据科学入门————线性代数

本章摘要:线性代数是数学的分支,是研究向量空间。什么是向量向量就是指可以加运算,可以乘标量,从而生成新向量的对象。具体就是有限维空间的点。即使你无意将你的数据看作向量,但是将数值数据表示为向量也是很好的处理方式。比如人的身高,体重,年龄可以看作三维向量。那么python中可以用列表表示一个向量:height_weight_age = [70,170,40]那么向

2016-09-04 16:48:20 450

原创 读书笔记数据科学入门————可视化数据

本章摘要数据可视化是数据科学家的重要部分。创建可视化的目的:探索数据,交流数据。matplotlib的配置    许多工具可以可视化数据,目前应用很广的是matplotlib库,在windows下配置该模块稍微比较麻烦,下面会一步一步讲解:Matplotib 是python 的一个绘图库,里头有各种各样的绘图方法,可以用Matplotib 显示图像,放大图像,保存图像等等,

2016-08-21 19:19:31 1055

原创 读书笔记数据科学入门————Python快速入门

本章摘要快速熟悉Python的基本语法并将其用于数据分析之中其中python的设计原则:按照“明显”的方式编写代码完成工作。python模块化:python某些特征默认不加载,包含了语言的本身部分特征。导入方式:import re re是处理正则表达式和常量模块然后通过re前缀调用函数my_regex = re.compile("[0-9]+",re.I)用模块

2016-08-15 17:52:38 460 1

原创 COM技术内幕读书笔记————动态链接和组件

1.什么是动态链接和组件?   首先组件并不是DLL。DLL是一种服务程序,是一种发行组件的方式。而组件就是DLL中所实现的接口集。DLL是一种形式,组件是实质。2.组件事怎么被创建的? 主要是将组件动态链接到客户中来,那么创建组件,这是临时性的创建方法。在用户获取组件接口之前,就需要先将DLL加载到进程空间,在此空间中创建组件。

2016-08-13 17:28:31 929

原创 读书笔记数据科学入门————数据科学导论

问题1:从给定字典中寻找关键联系人关系序列:friendships=[(0,1),(0,2),(1,2),(1,3),(2,3),(3,4),(4,5),(5,6),(5,7),(6,8),(7,8),(8,9)]每个属性列表:users=[{"id":0,"name":"Hero"},{"id":1,"name":"Dunn"},{"id":2,"name":"Sue"},{"i

2016-07-31 13:51:48 3243 1

原创 #hiho1099 Constellations枚举法的应用

枚举的应用以及无法存储的大数组通过记录其中的关键点(次题就是#点)来进行遍历#pragma warning(disable:4996)#include#include#include#include#include#includeusing namespace std;#define REP(i,a,b) for(int i=a;i<b;++i)struct Pose{

2016-05-18 21:52:11 318

原创 hiho1087状态压缩dp

//记忆话搜索方法//此题状态压缩中套用记忆化搜索的方法//并用树状数组的方法遍历子集# include# include# include# include# includeusing namespace std;int n, m, dp[12][1 << 12], st[12], p[1 << 12];int DP(int u, int s){ if (dp[u][s])

2016-05-11 17:51:12 360

原创 UVA11992二维线段树区间修改

#include #include #include #include #include using namespace std;#define MAXN 100006#define inf 0x3f3f3f3fstruct CNode{ int L,R; long long nsum; int nmax; int nmin; long long Inc;//增

2015-11-04 23:28:48 416 1

原创 POJ1068双端队列模拟

//题意:P代表当前右括号位置前面有多少个左括号//W代表右括号位置从与它匹配的位置到该位置有多少个右括号#include #include #include #include using namespace std;int n;int P[25];int W[25];int main(){ int T; scanf("%d",&T); while(T--) {

2015-10-25 21:54:54 361

原创 poj1323,poj2586贪心容易题

poj1323//,M个人,每人N张牌,每轮比较谁出的牌大,最大者为胜。现在给定M和N,以及你的牌,//要求输出你至少能确保获得几轮的胜利每个人得到的牌是不同的//136K 0MS#include #include #include #include #include using namespace std;#define MAXN 60int m,n;int pip[M

2015-10-17 22:38:31 387

原创 #1049 : 后序遍历分治算法

//题意:给出该树前序以及中序的结果//根据当前树的前序和中序为状态//求出后序遍历的结果#include #include #include using namespace std;#define MAXN 40char str1[MAXN];char str2[MAXN];char ret[MAXN];int root;int cnt;//因为中序与前序的长度是

2015-10-08 22:34:44 375

原创 hihocoder#1044状态压缩dp+滚动数组

//20ms 0#include#include #include using namespace std;#define MAXN 1500int N,M,Q;int dp[2][MAXN];//前一次的字母以及i的前面m个字母状态int num[2][MAXN];//记录前m个字母中1的个数int w[MAXN];int main(){ scanf("%d %d %

2015-10-02 00:34:18 326

原创 poj2817状态压缩DP

//输出最大的与前一个字符相同的个数之和//184K 0MS //主要要理解是状态压缩DP,状态是是否选择了该字符//并且保存状态时候因为字符之间有顺序,所有需要保存最后一个字符#include #include #include using namespace std;#define MAXN 12static int N;static char words[MAXN]

2015-09-26 10:10:13 334

原创 poj1797最大生成树

//1348K 454MS //注意不是生成整棵树而是只要可以到达N点就行了#include #include #include #include using namespace std;#define MAXE 1000005#define MAXN 1006static struct edge{ int from; int to; int cost;}

2015-09-18 20:31:11 400

空空如也

空空如也

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

TA关注的人

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