自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 「ML」Chap4决策树

决策树 1. 划分选择: 1.1 信息增益(ID3) 信息熵的定义: Ent(D)=−∑k=1|y|pklog2pkEnt(D) = -\sum_{k=1}^{|y|}p_klog_2p_k Ent(D)越小,纯度越高 信息增益(information gain) Gain(D,a)=Ent(D)−∑v=1V|Dv||D|Ent(Dv)Gain(D, a) = Ent(D) -

2017-07-19 01:21:17 512

转载 每日vim系列0716

:tabe 新建标签页 :tab file 在新标签页中打开 :tab split 在新标签页中打开当前窗口(缓冲区)的文件 :tab *.txt 正则匹配打开,只能打开一个文件列出标签页 :tabs 列出所有标签切换标签页 :tabn 移动到一个标签页 :tabp 移动到上一个标签页 gt 等效于:tabn gT 等效于:tabp :tabfirst 移到第一个标签

2017-07-17 00:59:06 371

转载 每日vim系列0713

在查找替换时,有时候需要设置忽略大小写和高亮,这时 :set ignorecase :set hlsearch 另外还有一些文件的高级操作: :w filename:将缓冲区内容保存为filename文件,原文件内容不更改。 :20,$w filename:将文件20行处到结尾保存为filename文件:20,30w >> filename:追加20至30行内容到new_file文件中

2017-07-13 14:05:31 362

原创 每日vim系列0712

用了vim好久,算是从中survive了,但是高级用法还是不是很懂。所以开了这么个系列用于督促自己每天学习新的命令。 1.多个文件 :saveas filename将文件另存为 :bp :bn 上一个、下一个文件 2.对于单词 以前一直用ves去删除一个单词,替换命令cw gU+定位符,如gUe将光标到单词末尾的字母全部转成大写, gu +定位符 dt”

2017-07-12 16:07:00 372

原创 「ML」chapter3:线性模型

基本形式f(x)=ω1x1+ω2x2+...+ωdxd+bf(x) = \omega_1 x_1+ \omega_2 x_2 + ... + \omega_d x_d +b 写成向量模式: f(x)=ωTx+bf(x) = \omega^Tx + b线性回归均方误差最小化,可以求出解析解。在引入多变量时,特征矩阵X往往不是满秩矩阵,这时可以有多组参数解,选择那个解作为输出,有学习算法的

2017-07-10 01:19:10 381

原创 「ML」chapter2模型选择与评估

经验误差和过拟合经验误差 学习器在训练集上的误差称为经验误差 2.过拟合 学习器的经验误差降低,同时泛化性能也跟着下降。评估方法划分训练集和测试集 1.留出法 数据划分成互斥的两组,并尽可能保证数据分布的一致性,避免因为划分过程引入的偏差而对结果产生影响。 同时,单次使用留出法得到的估计结果往往不够稳定,一般采用若干次随机划分,重复实验评估。 2. 交叉验证法 分成k组大小相似的

2017-07-09 15:53:05 394

原创 [leetcode]629. K Inverse Pairs Array

这道题可以根据题意,构造递归式,根据排列的最后一位是第几大的数可以得出递归式: d[n,k] = d[n-1,k]+d[n-1,k-1]+d[n-1,k-2]+… 区别n和k的大小,保证不越界,即可。另外注意结果要mod(1e9+7),一定要注意读题啊。 solution:class Solution {public: int kInversePairs(int n, int k)

2017-07-06 13:56:48 439

原创 比赛总结

有一个半月没有写博客了,一来是因为实习的工作量一下变多了,第二是因为在打Tencent的比赛,虽然接触比赛很久,但是这个比赛应该算是我第一个用心从头到尾打的一个比赛。就大致记录一下感悟吧。特征工程首先这一点是任何数据挖掘比赛少不了的,而在这一点上我的能力是非常欠缺的,特征显然是很重要的,但是这次比赛我们欠缺的不单单是这一点,还有更多欠缺的东西需要学习和弥补。问题抽样 这个比赛的复赛阶段数据量很大

2017-06-28 14:26:07 315

原创 决策树

决策树的实现代码class DecisionNode(object): def __init__(self, feature_i=None, threshold=None, value = None, true_branch=None, false_branch=None): self.feature_i = feature_i

2017-05-13 11:56:03 324

原创 pandas join merge

SQL里面的连接在pandas里面是pd.merge,而用pd.DataFrame.join()和pd.merge的效果如何,达到一致呢?Examples-------->>> caller = pd.DataFrame({'key': ['K0', 'K1', 'K2', 'K3', 'K4', 'K5'],... 'A': ['A0', 'A

2017-05-11 17:20:21 747

原创 Python函数代码移植

函数体的code属性,存储着函数的参数运行过程等,做了一个探索。def funa(abc): print str(a)def funb(): print 'funb'funb.__code__ = funa.__code__funb('abc')屏幕显示:abc

2017-05-11 13:02:29 436

原创 适应Mac之搞定文件目录操作

Mac里面的文件路径是一个比较烦的事情。不像windows那样可以直接看到,有时候要移动文件,连个剪切都没有,想打开终端用命令行移动吧,它又不能在当前路径下打开终端。解决方案查看路径:右键点击文件夹名,按顺序展示的就是上级目录,上上级目录… 设置在当前目录打开终端,左上角Finder->服务->服务偏好设置->勾选 “新建位于文件夹位置的终端窗口”退到当前文件夹的上一层文件夹:比如在桌面打开终端

2017-05-10 17:05:54 612

原创 Adaboost算法

算法思路Adaboost是将弱分类器进行组合的算法。在这里弱分类器采用DecisionStump,通过迭代产生一系列的DecisionStump分类器,然后以一定权重进行组合。需要注意的是Adaboost正负样本一+1,-1表示,不是0、1。训练过程1.设置样本权重向量WW 2.计算得到当前最优的DecisionStump分类器 3.计算当前误分类率ϵ=∑W(h)\epsilon = \sum{

2017-05-08 15:29:12 532 1

原创 Mac上安装MySQLdb(mysql-python)

mac上安装mysqldb用于连接mysql数据库实验环境MacOS Sierra步骤1.前提需要安装mysql,留意安装路径。我这的安装路径为/usr/local/Cellar/mysqlbrew install mysql2.安装mysqldbpip install mysql-python3.修改环境变量。打开~/.bash_profile,添加下列几行:PATH="/usr/local/Ce

2017-05-08 11:23:28 2246

原创 [DP] 576Out of boundary path

题意不再赘述,大致解法是用动态规划。 N等于来自于4个方向N-1的解的和Solution方案:class Solution {public: int findPaths(int m, int n, int N, int i, int j) { int dp[51][50][50]; for(int Ni=1;Ni<=N;Ni++){

2017-05-08 00:16:08 385

原创 FM和FFM原理

模型用途FM和FFM,分解机,是近几年出的新模型,主要应用于广告点击率预估(CTR),在特征稀疏的情况下,尤其表现出优秀的性能和效果,也数次在kaggle上的数据挖掘比赛中拿到较好的名次。FM原理特征编码时常用的one-hot编码,会导致特征非常稀疏(很多0值)。常用的特征组合方法是多项式模型,模型表达式如下: y(x)=w0+∑i=1nwixi+∑i=1n∑j=i+1nwijxixjy(x)

2017-05-07 15:40:34 10295

原创 [Array]495.Teemo Attacking

Example 1:Input: [1,4], 2Output: 4Explanation: At time point 1, Teemo starts attacking Ashe and makes Ashe be poisoned immediately. This poisoned status will last 2 seconds until the end of time poi

2017-05-05 18:53:00 829

原创 [Array] 560Subarray sum Equal k

Given an array of integers and an integer k, you need to find the total number of continuous subarrays whose sum equals to k.Example 1: Input:nums = [1,1,1], k = 2 Output: 2Solution方法1:暴力解法for (int i

2017-05-05 17:50:56 369

转载 Mac终端多窗口tmux

配置git

2017-05-05 10:08:09 2711

转载 Mac hadoop伪分布式安装

原地址1 原地址2 Hadoop on Mac 在Mac OS x 10.11.6以下操作基于Hadoop 2.8.0, 环境:Java version 1.8.01.开启ssh和远程登陆 - 偏好设置->共享->远程访问->允许所有人ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsacat ~/.ssh/id_dsa.pub >>~/.ssh/author

2017-05-04 20:18:19 451

原创 mac automator使用

Mac 神器automator的使用 今天为了给新mac添加一个锁屏功能,整了半天,这里面遇到的问题可能是air的一个bug,记录一下automator的使用过程。 1.打开automator 我是使用command+space打开spotlight搜索输入automator,就可以打开。 automator可以在lauchpad文件夹其他中打开 2.新建服务 文件-新建-选择服务 3

2017-05-04 14:40:33 1661

转载 Mac上安装oh-my-zsh

1.克隆这个项目到本地(前提是你得有装git)git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh2.创建一个zsh的配置文件注意:如果你已经有一个~/.zshrc文件的话,建议你先做备份。使用以下命令cp ~/.zshrc ~/.zshrc.orig然后开始创建zsh的配置文件cp ~/.oh-my-zsh/templ

2017-05-04 13:24:30 601

原创 [Leetcode.Array]561. Array Partition I Add to List

Given an array of 2n integers, your task is to group these integers into n pairs of integer, say (a1, b1), (a2, b2), …, (an, bn) which makes sum of min(ai, bi) for all i from 1 to n as large as possibl

2017-04-26 11:53:15 526

原创 [leetcode.Tree]563. Binary Tree Tilt

Given a binary tree, return the tilt of the whole tree.The tilt of a tree node is defined as the absolute difference between the sum of all left subtree node values and the sum of all right subtree nod

2017-04-26 11:25:25 481

原创 c++单元测试框架Catch

Catch是一个不错的单元测试框架,帮助刷Leetcodegithub在此 使用也比较简单,最简单的方式就是直接下载Catch.hpp,做好引用。#define CATCH_CONFIG_MAIN // This tells Catch to provide a main() - only do this in one cpp file#include "catch.hpp"#incl

2017-04-25 22:18:56 4151 1

原创 [LeetCode]378. Kth Smallest Element in a Sorted Matrix

Given a n x n matrix where each of the rows and columns are sorted in ascending order, find the kth smallest element in the matrix. Note that it is the kth smallest element in the sorted order, not th

2017-04-25 18:01:38 285

转载 桥接模式

1.http://blog.csdn.net/hitzjm/article/details/8283377

2017-04-24 12:36:23 290

原创 python共享模式

class Borg: __shared_state = {} def __init__(self): self.__dict__ = self.__shared_state self.state = '' self.exit = '' def __repr__(self): return self.state

2017-04-24 12:09:09 558

转载 工厂模式(facotory)

工厂模式

2017-04-24 10:55:20 368

原创 kaggle 代码pipeline学习

#留坑

2017-04-23 01:05:32 825 1

原创 django分页和消息队列

django分页和消息队列

2017-04-23 01:04:28 3818

原创 unicode 和 str(Python字符编码解码)

python读写字符串数据,最痛苦的事情之一就是编码的问题,这里收集并整理一下

2017-04-23 00:58:55 905

原创 探索性数据分析(EDA)

探索性数据分析(EDA)目的是最大化对数据的直觉,完成这个事情的方法只能是结合统计学的图形以各种形式展现出来。通过EDA可以实现: 1. 得到数据的直观表现 2. 发现潜在的结构 3. 提取重要的变量 4. 处理异常值 5. 检验统计假设 6. 建立初步模型 7. 决定最优因子的设置数据类型数据一般按类型分为两种:离散型和连续型;针对这两种类型的

2017-04-20 09:47:23 11726 1

转载 协方差与协方差矩阵

参考文献1.http://blog.csdn.net/ybdesire/article/details/6270328/

2017-04-19 23:29:21 402

原创 核密度估计(KDE)

对于大量数据的可视化,在一维数据中,直方图(histogram)是一种普遍的方式,另外还有一种方式:核密度估计(kernel density estimation)。除了在可视化方面的用处以外,核密度估计有利与进行聚类算法的构造。基本概念核密度估计方法从直观上来看是平滑化的直方图,从理论角度上来讲是不利用数据分布的先验知识研究数据的分布特征。 优于直方图的一点是核密度估计是可以用于多维空间的。直观

2017-04-19 10:24:07 8487

翻译 Seaborn教程

原教程绘图风格管理控制图形审美 matplotlib是高度自定义的,但是很难去知道怎么调节参数获得一个很漂亮的plot,Seaborn库包含一些定制好的主题和一些高层次的参数去调节matplotlib的图像。Seaborn库把matplotlib的参数分为两种,一种是设置图形的审美外观风格,另一种则是为了调节缩放以达到更好的观察效果。 设置风格通过axes_style()和set_style

2017-04-18 11:46:20 4863

原创 Matplotlib入门

教程在此,点击教程中的图片会有相应的代码。 总结如下:简单图默认设置 plt.figure ; plt.plot()设置坐标范围 plt.xlim(); plt.ylim()设置刻度值 plt.xticks(); plt.yticks(),和刻度值的展示标签移动坐标轴,不固定在左下角。ax.spines[‘right’].set_color(‘none’)添加标注 先plt.p

2017-04-17 22:00:02 353

原创 几种朴素贝叶斯分类器

* 朴素的由来 * 朴素的假设:认为各个特征相互独立。 * 种类 * 1. 高斯朴素贝叶斯(Gaussian Naive Bayes) 2. 多项式朴素贝叶斯(Multinomial Naive Bayes) 3. 伯努利朴素贝叶斯( Bernoulli Naive Bayes)朴素贝叶斯最常见的分类方法:根据贝叶斯公式可以得到 ŷ =argminyP(y)∏i=1NP(xi|y)

2017-04-17 17:20:15 1486

原创 c++中数字字符串的转换

1.整数转字符串#include <sstream>using namespace std;int main(){ int a = 0 ostringstream os; os << a; cout << a.str()<<endl; return 0;}2.字符串转整数 <cstdlib> atoi()char str[] = "123456";

2017-04-17 15:42:09 689

原创 STL Heap使用方法

概述 STL中的heap并不是container,默认是最大堆,如果需要最小堆,则需要添加参数greater<type>() 常用堆操作:make_heap(), pop_heap(), push_heap(), sort_heap(), 头文件<algorithm> 1.make_heap(v.begin(), v.end())使序列变成堆 2.push_heap(v.beg

2017-04-17 11:33:38 392

空空如也

空空如也

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

TA关注的人

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