<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[penzo的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/penzo</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; penzo]]></copyright><item><title><![CDATA[关联规则挖掘基本概念与Aprior算法]]></title><link>https://blog.youkuaiyun.com/penzo/article/details/77624281</link><guid>https://blog.youkuaiyun.com/penzo/article/details/77624281</guid><author>penzo</author><pubDate>Sun, 27 Aug 2017 22:52:38 +0800</pubDate><description><![CDATA[关联规则挖掘在电商、零售、大气物理、生物医学已经有了广泛的应用，本篇文章将介绍一些基本知识和Aprori算法。

　啤酒与尿布的故事已经成为了关联规则挖掘的经典案例，还有人专门出了一本书《啤酒与尿布》，虽然说这个故事是哈弗商学院杜撰出来的，但确实能很好的解释关联规则挖掘的原理。我们这里以一个超市购物篮迷你数据集来解释关联规则挖掘的基本概念：




TID

Items

]]></description><category></category></item><item><title><![CDATA[不产生候选集的关联规则挖掘算法FP-Tree]]></title><link>https://blog.youkuaiyun.com/penzo/article/details/77624247</link><guid>https://blog.youkuaiyun.com/penzo/article/details/77624247</guid><author>penzo</author><pubDate>Sun, 27 Aug 2017 22:50:02 +0800</pubDate><description><![CDATA[上篇博客讲述了Apriori算法的思想和Java实现，http://blog.youkuaiyun.com/u010498696/article/details/45641719
 Apriori算法是经典的关联规则算法，但是如上篇博客所述，它也有两个致命的性能瓶颈，一个是频繁集自连接产生候选集这一步骤中可能产生大量的候选集；另一个是从候选集得到频繁项集需要重复扫描数据库。
2000年，Han等提出了一个]]></description><category></category></item><item><title><![CDATA[主成分分析（PCA）原理详解]]></title><link>https://blog.youkuaiyun.com/penzo/article/details/77624076</link><guid>https://blog.youkuaiyun.com/penzo/article/details/77624076</guid><author>penzo</author><pubDate>Sun, 27 Aug 2017 22:32:37 +0800</pubDate><description><![CDATA[一、PCA简介
1. 相关背景
      在许多领域的研究与应用中，往往需要对反映事物的多个变量进行大量的观测，收集大量数据以便进行分析寻找规律。多变量大样本无疑会为研究和应用提供了丰富的信息，但也在一定程度上增加了数据采集的工作量，更重要的是在多数情况下，许多变量之间可能存在相关性，从而增加了问题分析的复杂性，同时对分析带来不便。如果分别对每个指标进行分析，分析往往是孤立的，而不是综合的。]]></description><category></category></item><item><title><![CDATA[并发用户数和QPS]]></title><link>https://blog.youkuaiyun.com/penzo/article/details/22852321</link><guid>https://blog.youkuaiyun.com/penzo/article/details/22852321</guid><author>penzo</author><pubDate>Thu, 03 Apr 2014 10:14:29 +0800</pubDate><description><![CDATA[关于并发用户数和QPS，自己一直被这两个概念纠结，阅读了一下相关资料，总结如下：并发 用户数和QPS两个概念没有直接关系，但是如果要说QPS时，一定需要指明是多少并发用户数下的QPS，否则豪无意义，因为单用户数的40QPS和20并 发用户数下的40QPS是两个不同的概念。前者说明该应用可以在一秒内串行执行40个请求，而后者说明在并发20个请求的情况下，一秒内该应用能处理40 个请求，当QPS相同时]]></description><category></category></item><item><title><![CDATA[PyMongo基本使用]]></title><link>https://blog.youkuaiyun.com/penzo/article/details/21894175</link><guid>https://blog.youkuaiyun.com/penzo/article/details/21894175</guid><author>penzo</author><pubDate>Sun, 23 Mar 2014 23:28:31 +0800</pubDate><description><![CDATA[﻿﻿
引用PyMongo

>>> import pymongo

 
创建连接Connection


>>> import pymongo


>>> conn = pymongo.Connection('localhost',27017)


或


>>> from pymongo import Connection


>>> conn = Co]]></description><category></category></item><item><title><![CDATA[linux下mongodb的安装启动操作]]></title><link>https://blog.youkuaiyun.com/penzo/article/details/21789029</link><guid>https://blog.youkuaiyun.com/penzo/article/details/21789029</guid><author>penzo</author><pubDate>Sat, 22 Mar 2014 12:28:55 +0800</pubDate><description><![CDATA[1. 下载MongoDB，此处下载的版本是：mongodb-linux-i686-1.8.1.tgz.tar。（我的测试机是ubuntu32bit的）

http://fastdl.mongodb.org/linux/mongodb-linux-i686-1.8.1.tgz






2. 解压文件到某目录下,然后重命名：


[root@localhost src]#]]></description><category></category></item><item><title><![CDATA[Python中调用C++函数]]></title><link>https://blog.youkuaiyun.com/penzo/article/details/7015936</link><guid>https://blog.youkuaiyun.com/penzo/article/details/7015936</guid><author>penzo</author><pubDate>Sun, 27 Nov 2011 01:04:38 +0800</pubDate><description><![CDATA[Python开发效率高，运行效率低。而c/c++恰恰相反。因此在python脚本中调用c/c++的库，对python进行扩展，是很有必要的。使用python api，http://www.python.org/doc/ ，需要安装python-dev。
test.cpp文件如下
 
#include  //包含python的头文件   
#include 
#include 
usin]]></description><category></category></item><item><title><![CDATA[CentOS下安装mysql]]></title><link>https://blog.youkuaiyun.com/penzo/article/details/6754353</link><guid>https://blog.youkuaiyun.com/penzo/article/details/6754353</guid><author>penzo</author><pubDate>Tue, 06 Sep 2011 18:24:44 +0800</pubDate><description><![CDATA[1、到chinaunix下载mysql 
 
下载地址： http://download.chinaunix.net/download/0008000/7159.shtml 
 
2、上传到CentOS服务器
 
本例放在 /home/jiangfeng3 中]]></description><category></category></item><item><title><![CDATA[Linux下SVN命令]]></title><link>https://blog.youkuaiyun.com/penzo/article/details/6736631</link><guid>https://blog.youkuaiyun.com/penzo/article/details/6736631</guid><author>penzo</author><pubDate>Wed, 31 Aug 2011 17:22:42 +0800</pubDate><description><![CDATA[1.svn add:往版本库中添加新的文件
例如：svn add test.php(添加test.php)
svn add *.php(添加当前目录下所有的php文件)

2.svn blame (praise, annotate, ann):显示特定文件和URL内嵌的作]]></description><category></category></item><item><title><![CDATA[MySQL常用命令总结]]></title><link>https://blog.youkuaiyun.com/penzo/article/details/6053896</link><guid>https://blog.youkuaiyun.com/penzo/article/details/6053896</guid><author>penzo</author><pubDate>Fri, 03 Dec 2010 21:39:00 +0800</pubDate><description><![CDATA[一、基础1、说明：创建数据库CREATE DATABASE database-name 2、说明：删除数据库drop database dbname3、说明：备份sql server--- 创建备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', 'c:/mssql7backup/MyNwind_1.dat'--- 开始备份BACKUP DATABASE pubs TO testBack 4、说明：创建新表create table ta]]></description><category></category></item><item><title><![CDATA[Shell常用的文本处理命令总结]]></title><link>https://blog.youkuaiyun.com/penzo/article/details/6051919</link><guid>https://blog.youkuaiyun.com/penzo/article/details/6051919</guid><author>penzo</author><pubDate>Fri, 03 Dec 2010 09:47:00 +0800</pubDate><description><![CDATA[awk:awk ‘print{$1,$2}’ grade.txt             打印单独记录awk ‘BEGIN print{“Name         Belt/n-------------------------------”} print{$1”/t”$4} END {print “end-of-report”}’ grade.txt          打印报告头尾awk ‘$4 ~ /48/ {print $0}’ grade.txt                   匹配awk ‘$4]]></description><category></category></item><item><title><![CDATA[C++中内存分配、函数调用和返回值]]></title><link>https://blog.youkuaiyun.com/penzo/article/details/6016445</link><guid>https://blog.youkuaiyun.com/penzo/article/details/6016445</guid><author>penzo</author><pubDate>Wed, 17 Nov 2010 22:05:00 +0800</pubDate><description><![CDATA[一个由C/C++编译的程序占用的内存分为以下几个部分1、栈区（stack）— 由编译器自动分配释放，存放函数的参数值，局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区（heap） — 一般由程序员分配释放，若程序员不释放，程序结束时可能由OS回收。注意它与数据结构中的堆是两回事，分配方式倒是类似于链表，呵呵。3、全局区（静态区）（static）—，全局变量和静态变量的存储是放在一块的，初始化的全局变量和静态变量在一块区域，未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 - 程序结束后有系]]></description><category></category></item><item><title><![CDATA[C++虚函数表解析(2)]]></title><link>https://blog.youkuaiyun.com/penzo/article/details/6004300</link><guid>https://blog.youkuaiyun.com/penzo/article/details/6004300</guid><author>penzo</author><pubDate>Fri, 12 Nov 2010 10:19:00 +0800</pubDate><description><![CDATA[多重继承（无虚函数覆盖）<br />下面，再让我们来看看多重继承中的情况，假设有下面这样一个类的继承关系。注意：子类并没有覆盖父类的函数。<br /> <br />对于子类实例中的虚函数表，是下面这个样子：<br /> <br />我们可以看到：<br />1）每个父类都有自己的虚表。（这样做就是为了解决不同的父类类型的指针指向同一个子类实例，而能够调用到实际的函数）<br />2）子类的成员函数被放到了第一个父类的表中。（所谓的第一个父类是按照声明顺序来判断的）多重继承（有虚函数覆盖）<br />下面我们]]></description><category></category></item><item><title><![CDATA[C++虚函数表解析(1)]]></title><link>https://blog.youkuaiyun.com/penzo/article/details/6004204</link><guid>https://blog.youkuaiyun.com/penzo/article/details/6004204</guid><author>penzo</author><pubDate>Fri, 12 Nov 2010 09:54:00 +0800</pubDate><description><![CDATA[C++中的虚函数的作用主要是实现了多态的机制。关于多态，简而言之就是用父类型别的指针指向其子类的实例，然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”，这是一种泛型技术。所谓泛型技术，说白了就是试图使用不变的代码来实现可变的算法。比如：模板技术，RTTI技术，虚函数技术，要么是试图做到在编译时决议，要么试图做到运行时决议。关于虚函数的使用方法，我在这里不做过多的阐述。大家可以看看相关的C++的书籍。在这篇文章中，我只想从虚函数的实现机制上面为大家一个清晰的剖析。当然，相同的文]]></description><category></category></item><item><title><![CDATA[求序列连续数最大和]]></title><link>https://blog.youkuaiyun.com/penzo/article/details/6003055</link><guid>https://blog.youkuaiyun.com/penzo/article/details/6003055</guid><author>penzo</author><pubDate>Thu, 11 Nov 2010 16:28:00 +0800</pubDate><description><![CDATA[<br />-2,11，-4,13，-5，-2<br />思路：序列a[n]，记<br />f(i)：前i个数中连续数最大和；<br />end(i)：以下标i结尾的前i个数中连续数最大和。<br />有以下递推式：<br />f(i) = max{f(i-1), end(i)}；<br />当end(i-1)<=0，end(i) = a[i]；否则end(i) = end(i-1)+a[i]。<br />以front，rear指针记录连续最大和的首尾下标。<br />程序如下：<br />#include]]></description><category></category></item><item><title><![CDATA[求二叉树中两节点的最近公共祖先]]></title><link>https://blog.youkuaiyun.com/penzo/article/details/6002873</link><guid>https://blog.youkuaiyun.com/penzo/article/details/6002873</guid><author>penzo</author><pubDate>Thu, 11 Nov 2010 15:40:00 +0800</pubDate><description><![CDATA[<br />思路：最近公共祖先有一个好的特点，设A，B两个节点的过最近公共祖先C，那么A,B必然在C的两支上。<br />程序：<br />#include <stdio.h>
#include <stdlib.h>
struct Node
{    
	const Node *left, *right;    
	const char* name;    
	Node(const Node *left, const Node *right, const char* name)        ]]></description><category></category></item><item><title><![CDATA[四种类型转换]]></title><link>https://blog.youkuaiyun.com/penzo/article/details/6001395</link><guid>https://blog.youkuaiyun.com/penzo/article/details/6001395</guid><author>penzo</author><pubDate>Wed, 10 Nov 2010 22:10:00 +0800</pubDate><description><![CDATA[<br />Q:什么是C风格转换？什么是static_cast, dynamic_cast 以及 reinterpret_cast?区别是什么？为什么要注意？<br />A:转换的含义是通过改变一个变量的类型为别的类型从而改变该变量的表示方式。为了类型转换一个简单对象为另一个对象你会使用传统的类型转换操作符。比如，为了转换一个类型为doubole的浮点数的指针到整型：<br />代码:<br />int i;<br />double d;<br />i = (int) d;<br />或者：<br />i ]]></description><category></category></item><item><title><![CDATA[剖析Linux系统启动过程]]></title><link>https://blog.youkuaiyun.com/penzo/article/details/6001391</link><guid>https://blog.youkuaiyun.com/penzo/article/details/6001391</guid><author>penzo</author><pubDate>Wed, 10 Nov 2010 22:08:00 +0800</pubDate><description><![CDATA[<br /> 当用户打开PC的电源，BIOS开机自检，按BIOS中设置的启动设备(通常是硬盘)启动，接着启动设备上安装的引导程序lilo或grub开始引导Linux，Linux首先进行内核的引导，接下来执行init程序，init程序调用了rc.sysinit和rc等程序，rc.sysinit和rc当完成系统初始化和运行服务的任务后，返回init；init启动了mingetty后，打开了终端供用户登录系统，用户登录成功后进入了Shell，这样就完成了从开机到登录的整个启动过程。<br /><br /> <br]]></description><category></category></item><item><title><![CDATA[CreateProcess()输出到文件]]></title><link>https://blog.youkuaiyun.com/penzo/article/details/6001385</link><guid>https://blog.youkuaiyun.com/penzo/article/details/6001385</guid><author>penzo</author><pubDate>Wed, 10 Nov 2010 22:06:00 +0800</pubDate><description><![CDATA[<br />利用CreateProcess()创建子进程，并输出到文件，主要步骤如下：<br />//首先用CreateFile创建文件，得到文件句柄。

HANDLE hFile = CreateFile(m_sAllPath.c_str(),GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ,&sa,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
if (hFile == INVALID_HANDLE_VALUE) 
{ ]]></description><category></category></item><item><title><![CDATA[探寻struct ipq_packet_msg结构体大小]]></title><link>https://blog.youkuaiyun.com/penzo/article/details/6001383</link><guid>https://blog.youkuaiyun.com/penzo/article/details/6001383</guid><author>penzo</author><pubDate>Wed, 10 Nov 2010 22:05:00 +0800</pubDate><description><![CDATA[<br />问题来源：<br />在Ubuntu主机上添加一条iptables命令：sudo iptables -A INPUT -p icmp -j QUEUE，将使得流入该系统的icmp数据包由内核转发到IP Queue中，用户空间的应用程序通过netlink协议与内核空间进行通信，将从IP Queue队列中读取转发的icmp数据包。 内核空间向用户空间转发数据包时，包括一个netlink消息头，接着一个struct ipq_packet_msg结构体，最后是IP数据包。<br />当从一个window]]></description><category></category></item></channel></rss>