直方图均衡化

编程与开发李新春 发表了文章 • 0 个评论 • 11 次浏览 • 6 天前 • 来自相关话题

直方图均衡化
知乎链接(https://zhuanlan.zhihu.com/p/44918476)Github链接(https://github.com/lxcnju/histogram_equalization  ) 查看全部

Github汇总(1)

编程与开发李新春 发表了文章 • 0 个评论 • 38 次浏览 • 2018-09-19 11:20 • 来自相关话题

    暑假时学习了一些有意思的小项目,整理放在Github上了,大家有兴趣的可以Follow一下:https://github.com/lxcnju/。
    下面列举一下之前写的几个小项目,挺有意思的:
    1、基于javscript库p5.js写的烟花粒子系统,p5.js是用来专门做一些html特效、绘图的工具包,挺好用的,出于兴趣学习了一下。学习视频在B站可以找到:https://www.bilibili.com/video/av5188840。关注UP主pdcxs会有很多收获的。项目地址在:https://github.com/lxcnju/text_particle_p5
   2、利用DFS、Kruskal、Recursive三种方法实现的2D迷宫生成的小项目,项目地址在:https://github.com/lxcnju/maze_p5
   3、分形绘制,包括很多种方法:Escape Time Fractals、L-system、Iterated Function Systems、Attractor、Random Fractals等方法,有经典的MandelbrotSet和JuliaSet,还有一些著名的曲线和Attractor算子,曲线很漂亮。项目地址:https://github.com/lxcnju/fractals_py_p5
   4、利用PCA和NMF(Non-negative Matrix Factorization)进行提取图片主成分,可以理解为提取图片的主要特征成分,使用的是王者荣耀的英雄头像。项目地址:https://github.com/lxcnju/king_pics_feat_py
   5、用Tensorflow搭建SVM网络,使用GradientDescent进行求解,包括LinearSVM和KernelSVM。项目地址:https://github.com/lxcnju/svm_gradient_descent
   6、利用Tensorflow搭建LeNet-5经典架构,在MNIST上测试。项目地址:https://github.com/lxcnju/lenet5_tensorflow 
   7、各种采样方法汇总,包括Inverse-CDF,Box-Muller变换,ImportanceSampling,RejectSampling,GibbsSampling等等。项目地址:https://github.com/lxcnju/sampling 
   8、柏林噪声Perlin Noise生成优美的曲线图案,介绍了Perlin Noise的生成过程,及其应用。项目地址:https://github.com/lxcnju/perlin_noise_flowfields 查看全部
    暑假时学习了一些有意思的小项目,整理放在Github上了,大家有兴趣的可以Follow一下:https://github.com/lxcnju/
    下面列举一下之前写的几个小项目,挺有意思的:
    1、基于javscript库p5.js写的烟花粒子系统,p5.js是用来专门做一些html特效、绘图的工具包,挺好用的,出于兴趣学习了一下。学习视频在B站可以找到:https://www.bilibili.com/video/av5188840。关注UP主pdcxs会有很多收获的。项目地址在:https://github.com/lxcnju/text_particle_p5
   2、利用DFS、Kruskal、Recursive三种方法实现的2D迷宫生成的小项目,项目地址在:https://github.com/lxcnju/maze_p5
   3、分形绘制,包括很多种方法:Escape Time Fractals、L-system、Iterated Function Systems、Attractor、Random Fractals等方法,有经典的MandelbrotSet和JuliaSet,还有一些著名的曲线和Attractor算子,曲线很漂亮。项目地址:https://github.com/lxcnju/fractals_py_p5
   4、利用PCA和NMF(Non-negative Matrix Factorization)进行提取图片主成分,可以理解为提取图片的主要特征成分,使用的是王者荣耀的英雄头像。项目地址:https://github.com/lxcnju/king_pics_feat_py
   5、用Tensorflow搭建SVM网络,使用GradientDescent进行求解,包括LinearSVM和KernelSVM。项目地址:https://github.com/lxcnju/svm_gradient_descent
   6、利用Tensorflow搭建LeNet-5经典架构,在MNIST上测试。项目地址:https://github.com/lxcnju/lenet5_tensorflow 
   7、各种采样方法汇总,包括Inverse-CDF,Box-Muller变换,ImportanceSampling,RejectSampling,GibbsSampling等等。项目地址:https://github.com/lxcnju/sampling 
   8、柏林噪声Perlin Noise生成优美的曲线图案,介绍了Perlin Noise的生成过程,及其应用。项目地址:https://github.com/lxcnju/perlin_noise_flowfields

SP-cache: Load-balanced, Reunduncy-free cluster caching with Selective Partition.

编程与开发H掠影 发表了文章 • 0 个评论 • 45 次浏览 • 2018-08-27 20:39 • 来自相关话题

SP-cache: Load-balanced, Reunduncy-free cluster caching with Selective Partition.

wei wang. HKUST

SP-cache:使用选择分区进行负载均衡,无需冗余的集群缓存策略。

Memory trumps:RAM吞吐量指数级的提高。Disk I/O throughput stalls.(disk io 吞吐量停滞。)

Outline of this talk.1. prior talk. SP-caches. performance evaluation. Summary.

选择备份的缺点:

replication is too costly in memory.

>1*memory overhead per replica.每个副本都要内存开销。

>hot files large in size.热文件很大。

Erasure coding

(k,n)code: split a file into k chunks and compute n-k partly chunks.(k,n)编码:将文件拆分为k个块并计算n-k个部分块。

Any k of the n chunks are able to decode the original file.n个块中的任何k都能够解码原始文件。

>less memory overhead: (n-k)/k内存开销较小:(n-k)/ k

state-of-the-art goes to EC-cache [Rashm et al. OSDI16]最先进的EC缓存

Migrating hot spot w/ partition.

split files into multiple partitions. cached by servers uniformly at random.将文件拆分为多个分区。由服务器统一随机缓存。

potential benefits of partition.分区的潜在好处。

spread the load of hot files to multiple servers.将热文件负载分散到多个服务器。

No encoding/decoding overhead.没有编码/解码开销。

No redundancy w/ highest memory efficient.无冗余/最高内存效率。

Increasing read parallelism speeds up I/O.增加读取并行性可加快I / O.

However, reading partition from multiple server is susceptible to stragglers.但是,从多个服务器读取分区容易受到散乱者的影响。

How many partitions should a file be split into?

>too few are unable to migrate the load of hot spots.太少的人无法迁移热点的负荷。

>too many are susceptible to stragglers.太多容易受到散乱者的影响。

Intuition:selectively split hot files.直觉:有选择地分割热文件。

selective partition

split files into partitions based on their (expected) loads.根据预期负载将文件拆分。

​.其中​ 代表分区。a是scale factor。​ Is load.

而负载为popularity*size。

均衡的每分区负载Equalized per-partition load:​。

定理:compared to EC-cache with (k,n)coding scheme. SP-cache improves load balancing by O(​) in a large cluster.



其中​是一个文件的最大负载。

Determining scale factor.确定比例因子

model selective partition as a fork-join queue.将选择性分区模型化为fork-join队列。

Upper-bound analysis for the mean read latency ​.

Just-enough # of partitions to achieve load balancing.

periodic balancing w/ re-partitioning.

Master launcher multiple clients to re-partition files in parallel.

File popularity follows Zipf distribution w/ exponent parameter 1.05.(high skewness)

Two baseline w/ the same memory overhead.

EC-cache:coding scheme

Selective replication:copy to 10% popular files to 4 replica.

Read latency w/ stragglers.

manually inject stragglers.

bing cluster trace.

resilient to stragglers.

up to 40% improvement in latency.

Revisiting this talk

Load-balancing cluster caches with selective partition

split files into partition based on their popularity.

redundancy-free

no encoding/decoding overhead

split files into just enough# of partition for load balancing.
  查看全部
SP-cache: Load-balanced, Reunduncy-free cluster caching with Selective Partition.

wei wang. HKUST

SP-cache:使用选择分区进行负载均衡,无需冗余的集群缓存策略。

Memory trumps:RAM吞吐量指数级的提高。Disk I/O throughput stalls.(disk io 吞吐量停滞。)

Outline of this talk.1. prior talk. SP-caches. performance evaluation. Summary.

选择备份的缺点:

replication is too costly in memory.

>1*memory overhead per replica.每个副本都要内存开销。

>hot files large in size.热文件很大。

Erasure coding

(k,n)code: split a file into k chunks and compute n-k partly chunks.(k,n)编码:将文件拆分为k个块并计算n-k个部分块。

Any k of the n chunks are able to decode the original file.n个块中的任何k都能够解码原始文件。

>less memory overhead: (n-k)/k内存开销较小:(n-k)/ k

state-of-the-art goes to EC-cache [Rashm et al. OSDI16]最先进的EC缓存

Migrating hot spot w/ partition.

split files into multiple partitions. cached by servers uniformly at random.将文件拆分为多个分区。由服务器统一随机缓存。

potential benefits of partition.分区的潜在好处。

spread the load of hot files to multiple servers.将热文件负载分散到多个服务器。

No encoding/decoding overhead.没有编码/解码开销。

No redundancy w/ highest memory efficient.无冗余/最高内存效率。

Increasing read parallelism speeds up I/O.增加读取并行性可加快I / O.

However, reading partition from multiple server is susceptible to stragglers.但是,从多个服务器读取分区容易受到散乱者的影响。

How many partitions should a file be split into?

>too few are unable to migrate the load of hot spots.太少的人无法迁移热点的负荷。

>too many are susceptible to stragglers.太多容易受到散乱者的影响。

Intuition:selectively split hot files.直觉:有选择地分割热文件。

selective partition

split files into partitions based on their (expected) loads.根据预期负载将文件拆分。

​.其中​ 代表分区。a是scale factor。​ Is load.

而负载为popularity*size。

均衡的每分区负载Equalized per-partition load:​。

定理:compared to EC-cache with (k,n)coding scheme. SP-cache improves load balancing by O(​) in a large cluster.



其中​是一个文件的最大负载。

Determining scale factor.确定比例因子

model selective partition as a fork-join queue.将选择性分区模型化为fork-join队列。

Upper-bound analysis for the mean read latency ​.

Just-enough # of partitions to achieve load balancing.

periodic balancing w/ re-partitioning.

Master launcher multiple clients to re-partition files in parallel.

File popularity follows Zipf distribution w/ exponent parameter 1.05.(high skewness)

Two baseline w/ the same memory overhead.

EC-cache:coding scheme

Selective replication:copy to 10% popular files to 4 replica.

Read latency w/ stragglers.

manually inject stragglers.

bing cluster trace.

resilient to stragglers.

up to 40% improvement in latency.

Revisiting this talk

Load-balancing cluster caches with selective partition

split files into partition based on their popularity.

redundancy-free

no encoding/decoding overhead

split files into just enough# of partition for load balancing.
 

信息管理学院2018届飞跃手册

校友天地王开新 发表了文章 • 0 个评论 • 286 次浏览 • 2018-08-20 10:47 • 来自相关话题

拖了这么久终于做好了这个手册,希望对学弟学妹的申请有帮助。
 
感谢所有参与编写同学的付出,大家辛苦了!
 
希望明年19届留学的同学能将飞跃手册传承下去,为后面的同学提供最新的申请信息。
拖了这么久终于做好了这个手册,希望对学弟学妹的申请有帮助。
 
感谢所有参与编写同学的付出,大家辛苦了!
 
希望明年19届留学的同学能将飞跃手册传承下去,为后面的同学提供最新的申请信息。

一文总结各种信息熵

数据挖掘李新春 发表了文章 • 1 个评论 • 76 次浏览 • 2018-05-13 11:52 • 来自相关话题

在机器学习里面经常会遇到熵的概念,经常作为衡量信息多少的一种度量方式。本文就信息熵(Information Entropy)、联合熵(Joint Entropy)、条件熵(Conditional Entropy)、信息增益(Information Gain)、互信息(Mutual Information)、点互信息(Pointwise Mutual Information)、交叉熵(Cross Entropy)、KL散度(Kullback-Leibler Divergence)、相对熵(Relative Entropy)等概念进行介绍,当作一份系统的学习资料。










  查看全部
在机器学习里面经常会遇到熵的概念,经常作为衡量信息多少的一种度量方式。本文就信息熵(Information Entropy)、联合熵(Joint Entropy)、条件熵(Conditional Entropy)、信息增益(Information Gain)、互信息(Mutual Information)、点互信息(Pointwise Mutual Information)、交叉熵(Cross Entropy)、KL散度(Kullback-Leibler Divergence)、相对熵(Relative Entropy)等概念进行介绍,当作一份系统的学习资料。

1.png


2.png

 

海量数据处理资料分享

数据挖掘李新春 发表了文章 • 0 个评论 • 110 次浏览 • 2018-05-12 11:44 • 来自相关话题

在面试中可能会遇到“假如给你十几个亿的数据,如何利用有限的内存和时间进行排序,查找和统计一些统计指标等等”,在附件中的资料中,给出了十个方法,并结合了具体的例子进行解释,个人感觉还是挺好的一份资料,虽然细节不是很详细,但是可以作为一个系统地了解过程吧,感兴趣的同学可以查阅更详细的资料。
本文只是资料分享,下面的总结不是原创,方法和例子都来源于附件中文章。
文章中给出了十个海量数据处理的方法,分别是:
1、哈希分治
2、SimHash算法
3、外排序
4、MapReduce
5、多层划分
6、位图
7、布隆过滤器
8、Trie树
9、数据库
10、倒排索引
下面列举几个文章中提到的几个代表性面试问题:
Problem 1:
    有一个1G大小的文件,每一行是一个词,现在统计出现频次Top100的所有词,每个词不超过16字节,内存大小限制为1M。
Answer:
    采用Hash分治的思想。
    1)顺序读取文件每一行,按照Hash(word) % 5000计算,将每个词归为5000个小文件中的每一个,这样每个文件平均大小200K(如果有某个文件大于1M,可以对之进行二次Hash划分)。
    2)对每个小文件,利用Trie树或HashTable统计词和词频,利用堆排序返回前100个最高频词。
    3)合并,5000 * 100个词和词频,Trie树或HashTable进行合并,然后堆排序返回前100最高频词。
 
 
Problem2:
    给定a,b两个文件,每个文件有50亿个URL,每个URL占64字节,如何利用4G内存的计算机求出两个文件中相同的URL。
Answer:
   采用Hash分治。
   1)对a文件中每个URL,计算Hash(URL)00,变为1000个小文件;同样地,对于b文件也划分为1000个小文件。
   2)对ai和bi文件进行查找相同URL,1<=i<=1000。这一步可以利用先将ai里面的所有URL加入HashSet,然后对于bi中的每一个URL进行查找即可。
   3)合并1000个小结果,得到最终结果。
 
 
Problem3:
    搜索引擎中的网络爬虫会爬取大量网页,但是有许多网页是转载或抄袭的,因此高度相似,如何将这些近似重复的网页筛选出来呢?网页数量是上亿级别的。
Analysis:
    如果利用向量空间模型+文本相似度计算,那么时间复杂度是平方级别,并且计算余弦相似度特别耗费时间。
    如果利用Hash值,那么这只能挑选出那些完全一样的网页,而不能得到近似重复的网页集合。
    所以思想应该放在:容错性的Hash上,即SimHash算法。
    SimHash包括分词、Hash、加权、合并、降维操作。
Answer:
   文本相似度计算 + SimHash算法。
   1)对每个网页利用SimHash得到文档的Hash值,即01字符串。
   2)计算网页之间的Hamming距离,这里设置阈值,小于某个阈值即判别为重复。
   3)第2步还是需要计算凉凉网页间的Hamming距离,时间复杂度也比较大,文章给出了一种利用鸽巢原理和倒排索引的方法降低时间复杂度。
 
 
Problem4:
    文件中有上亿个电话号码,每个号码8位数字,如何快速找到不重复的所有电话号码。
Analysis:
    两两比较肯定是下下策略。
    利用HashSet思想可以通过。
    如果能利用位图BitMap的思想就更好了,内存空间更省。
Answer:
    1) 8位数字最大的是99 999 999,就开辟一个长度为100 000 000的字符串,作为01位图,空间大小为100 000 000/8 Bytes,即12.5M。
    2)对每个号码,假如是82 876 123,就将字符串第82 876 123处置为1;
    3)将最后字符串里面所有1对应的index输出即可。
More:
    如果电话号码为11位呢,那么需要的内存空间就是12.5G,此时可以利用电话号码的一些特性,比如第一位为1等等特性缩小为1.25G空间,但是还是很大。
    所以位图不是任何情况下都适用的,当数据集中数据量很大,且每个数据本身很小的时候,利用位图比较优。
    其实位图可以理解为计数排序的思想,这里提一下Hash分治的思想和基数排序、桶排序的思想比较相似。
 
 
Problem5:
    邮件供应商要解决的问题之一就是过滤垃圾邮件,那么每天可能需要处理上亿封邮件,如何快速高效地进行判别垃圾邮件呢?
Analysis:
    提到垃圾邮件,可能会想到机器学习里面的朴素贝叶斯。
    利用已有垃圾邮件,通过SimHash可以实现相似邮件查找,从而判断是否是垃圾邮件。
    这里利用布隆过滤器来实现,其主要思想也是利用了Hash思想,是对位图的扩展。
Answer:
    布隆过滤器,可以允许一定错误率(即错误分类),但是效率高且时间复杂度比较低。
 
 
上面就是我选取的5个比较有代表性的问题,涉及到了很多新知识,比如SimHash、布隆过滤器、位图、Trie树等等,除此之外还有外排序、MapReduce等没有列举。个人感觉,花费一上午时间阅读这篇文章并写一个小的博客来总结,获益匪浅。这里分享给大家,希望大家能学习到一些知识! 查看全部
在面试中可能会遇到“假如给你十几个亿的数据,如何利用有限的内存和时间进行排序,查找和统计一些统计指标等等”,在附件中的资料中,给出了十个方法,并结合了具体的例子进行解释,个人感觉还是挺好的一份资料,虽然细节不是很详细,但是可以作为一个系统地了解过程吧,感兴趣的同学可以查阅更详细的资料。
本文只是资料分享,下面的总结不是原创,方法和例子都来源于附件中文章。
文章中给出了十个海量数据处理的方法,分别是:
1、哈希分治
2、SimHash算法
3、外排序
4、MapReduce
5、多层划分
6、位图
7、布隆过滤器
8、Trie树
9、数据库
10、倒排索引
下面列举几个文章中提到的几个代表性面试问题:
Problem 1:
    有一个1G大小的文件,每一行是一个词,现在统计出现频次Top100的所有词,每个词不超过16字节,内存大小限制为1M。
Answer:
    采用Hash分治的思想。
    1)顺序读取文件每一行,按照Hash(word) % 5000计算,将每个词归为5000个小文件中的每一个,这样每个文件平均大小200K(如果有某个文件大于1M,可以对之进行二次Hash划分)。
    2)对每个小文件,利用Trie树或HashTable统计词和词频,利用堆排序返回前100个最高频词。
    3)合并,5000 * 100个词和词频,Trie树或HashTable进行合并,然后堆排序返回前100最高频词。
 
 
Problem2:
    给定a,b两个文件,每个文件有50亿个URL,每个URL占64字节,如何利用4G内存的计算机求出两个文件中相同的URL。
Answer:
   采用Hash分治。
   1)对a文件中每个URL,计算Hash(URL)00,变为1000个小文件;同样地,对于b文件也划分为1000个小文件。
   2)对ai和bi文件进行查找相同URL,1<=i<=1000。这一步可以利用先将ai里面的所有URL加入HashSet,然后对于bi中的每一个URL进行查找即可。
   3)合并1000个小结果,得到最终结果。
 
 
Problem3:
    搜索引擎中的网络爬虫会爬取大量网页,但是有许多网页是转载或抄袭的,因此高度相似,如何将这些近似重复的网页筛选出来呢?网页数量是上亿级别的。
Analysis:
    如果利用向量空间模型+文本相似度计算,那么时间复杂度是平方级别,并且计算余弦相似度特别耗费时间。
    如果利用Hash值,那么这只能挑选出那些完全一样的网页,而不能得到近似重复的网页集合。
    所以思想应该放在:容错性的Hash上,即SimHash算法。
    SimHash包括分词、Hash、加权、合并、降维操作。
Answer:
   文本相似度计算 + SimHash算法。
   1)对每个网页利用SimHash得到文档的Hash值,即01字符串。
   2)计算网页之间的Hamming距离,这里设置阈值,小于某个阈值即判别为重复。
   3)第2步还是需要计算凉凉网页间的Hamming距离,时间复杂度也比较大,文章给出了一种利用鸽巢原理和倒排索引的方法降低时间复杂度。
 
 
Problem4:
    文件中有上亿个电话号码,每个号码8位数字,如何快速找到不重复的所有电话号码。
Analysis:
    两两比较肯定是下下策略。
    利用HashSet思想可以通过。
    如果能利用位图BitMap的思想就更好了,内存空间更省。
Answer:
    1) 8位数字最大的是99 999 999,就开辟一个长度为100 000 000的字符串,作为01位图,空间大小为100 000 000/8 Bytes,即12.5M。
    2)对每个号码,假如是82 876 123,就将字符串第82 876 123处置为1;
    3)将最后字符串里面所有1对应的index输出即可。
More:
    如果电话号码为11位呢,那么需要的内存空间就是12.5G,此时可以利用电话号码的一些特性,比如第一位为1等等特性缩小为1.25G空间,但是还是很大。
    所以位图不是任何情况下都适用的,当数据集中数据量很大,且每个数据本身很小的时候,利用位图比较优。
    其实位图可以理解为计数排序的思想,这里提一下Hash分治的思想和基数排序、桶排序的思想比较相似。
 
 
Problem5:
    邮件供应商要解决的问题之一就是过滤垃圾邮件,那么每天可能需要处理上亿封邮件,如何快速高效地进行判别垃圾邮件呢?
Analysis:
    提到垃圾邮件,可能会想到机器学习里面的朴素贝叶斯。
    利用已有垃圾邮件,通过SimHash可以实现相似邮件查找,从而判断是否是垃圾邮件。
    这里利用布隆过滤器来实现,其主要思想也是利用了Hash思想,是对位图的扩展。
Answer:
    布隆过滤器,可以允许一定错误率(即错误分类),但是效率高且时间复杂度比较低。
 
 
上面就是我选取的5个比较有代表性的问题,涉及到了很多新知识,比如SimHash、布隆过滤器、位图、Trie树等等,除此之外还有外排序、MapReduce等没有列举。个人感觉,花费一上午时间阅读这篇文章并写一个小的博客来总结,获益匪浅。这里分享给大家,希望大家能学习到一些知识!

背包问题资料分享

编程与开发李新春 发表了文章 • 0 个评论 • 89 次浏览 • 2018-05-07 21:22 • 来自相关话题

最近在上工管的算法课,遇到了动态规划解决背包问题,所以网上搜了一下资料,有一份资料对九种背包问题进行了详细介绍,感觉是很好的资料,共16页,在这里分享出来,原创性属于作者本人,本文只是分享一下:
1.  01背包问题
     动态规划;空间复杂度;逆序遍历容量
2.  完全背包问题
     01背包问题化;二进制划分物品;顺序遍历容量
3.  多重背包问题
     01背包问题化;二进制划分物品
4.  混合三种背包问题
     分情况确定遍历顺序
5.  二维费用背包问题
     二维遍历
6.  分组背包问题
     每组物品只能取一个;依次遍历组,组里面遍历每个物品
7.  有依赖背包问题
     主件和所有附件一块组成一组,组内先01背包问题化;分组背包问题
8.  泛化物品
     每个物品是一个数组
9.  其余背包问题问法
     确定最优选择方案;确定所有方案;所有最优方案等等 查看全部
最近在上工管的算法课,遇到了动态规划解决背包问题,所以网上搜了一下资料,有一份资料对九种背包问题进行了详细介绍,感觉是很好的资料,共16页,在这里分享出来,原创性属于作者本人,本文只是分享一下:
1.  01背包问题
     动态规划;空间复杂度;逆序遍历容量
2.  完全背包问题
     01背包问题化;二进制划分物品;顺序遍历容量
3.  多重背包问题
     01背包问题化;二进制划分物品
4.  混合三种背包问题
     分情况确定遍历顺序
5.  二维费用背包问题
     二维遍历
6.  分组背包问题
     每组物品只能取一个;依次遍历组,组里面遍历每个物品
7.  有依赖背包问题
     主件和所有附件一块组成一组,组内先01背包问题化;分组背包问题
8.  泛化物品
     每个物品是一个数组
9.  其余背包问题问法
     确定最优选择方案;确定所有方案;所有最优方案等等

python3爬虫爬取pdf&解析pdf得到文本

编程与开发李新春 发表了文章 • 0 个评论 • 227 次浏览 • 2018-04-20 16:25 • 来自相关话题

    因为现在很多文献都是以pdf形式在网上挂着,所以笔者去网上搜取了一下如何利用python3下载pdf以及解析pdf得到文本呢?
   查了一下,发现下载pdf很简单,因为pdf资源可以通过urllib或request的get方法直接请求到,然后将得到的结果以"wb"的形式写入文件即可,后缀名改为pdf即可。具体见文件downloadpdf.py。
   解析pdf需要用到pdfminer包,安装很简单,使用“pip install pdfminer3k"即可,其作用就是将一篇pdf文档里面的文字提取出来(图片、表格还没去研究如何提取),然后得到文本,以后再处理pdf就方便了很多,但是有的时候得到的结果并不理想,仅供参考。 查看全部
    因为现在很多文献都是以pdf形式在网上挂着,所以笔者去网上搜取了一下如何利用python3下载pdf以及解析pdf得到文本呢?
   查了一下,发现下载pdf很简单,因为pdf资源可以通过urllib或request的get方法直接请求到,然后将得到的结果以"wb"的形式写入文件即可,后缀名改为pdf即可。具体见文件downloadpdf.py。
   解析pdf需要用到pdfminer包,安装很简单,使用“pip install pdfminer3k"即可,其作用就是将一篇pdf文档里面的文字提取出来(图片、表格还没去研究如何提取),然后得到文本,以后再处理pdf就方便了很多,但是有的时候得到的结果并不理想,仅供参考。

申请面经(持续更新,其实也不知道能更几次)

求职经验王开新 发表了文章 • 0 个评论 • 121 次浏览 • 2018-01-29 09:45 • 来自相关话题

waterloo:
 
彩票校之一,紧张地准备了几天。教授先blabla讲了她们组的工作,然后让我讲了一下暑研,就完了。。就完了。。没有“为什么读phd”,也没有讲文章环节,完全不按套路出牌啊。全程感觉自己没有看摄像头(即便是专门对着摄像头的时候),英语交流还好,就是害怕给教授留下了不想理她的印象。唉,凉凉。
 
NUS:
 
之前搜到了一个面经,很多问题都出现了,很有用:新国立ngs面经

我遇到的问题有这些:
1. 为啥读phd,为啥选ngs
2. 你看过教授列表吗?打算做什么方向
3. 你这个方向现有的技术有哪些?
4. 现有技术这么成熟,你有什么计划?(哪里成熟好嘛,捂脸)
5. 讲讲你之前的某个研究
6. 这个研究和你这个方向感觉没关系啊(强行扯出一点关系)
7. 你这个研究如何交叉学科?
8. 你还申了哪些学校,有没有收到offer(今早刚收到了mcgill)
9.  如果都收到offer,你把NUS rank到多少?
10. 问我还有啥问题

面试是4个人一起面的,从视频里看我好像被投影到了一面墙上 —_— 查看全部
waterloo:
 
彩票校之一,紧张地准备了几天。教授先blabla讲了她们组的工作,然后让我讲了一下暑研,就完了。。就完了。。没有“为什么读phd”,也没有讲文章环节,完全不按套路出牌啊。全程感觉自己没有看摄像头(即便是专门对着摄像头的时候),英语交流还好,就是害怕给教授留下了不想理她的印象。唉,凉凉。
 
NUS:
 
之前搜到了一个面经,很多问题都出现了,很有用:新国立ngs面经

我遇到的问题有这些:
1. 为啥读phd,为啥选ngs
2. 你看过教授列表吗?打算做什么方向
3. 你这个方向现有的技术有哪些?
4. 现有技术这么成熟,你有什么计划?(哪里成熟好嘛,捂脸)
5. 讲讲你之前的某个研究
6. 这个研究和你这个方向感觉没关系啊(强行扯出一点关系)
7. 你这个研究如何交叉学科?
8. 你还申了哪些学校,有没有收到offer(今早刚收到了mcgill)
9.  如果都收到offer,你把NUS rank到多少?
10. 问我还有啥问题

面试是4个人一起面的,从视频里看我好像被投影到了一面墙上 —_—

记信息素养协会及数据挖掘小组第一次分享会

兴趣小组李新春 发表了文章 • 0 个评论 • 168 次浏览 • 2017-10-24 23:20 • 来自相关话题

    随着十九大的召开,习大大号召产业升级,推动互联网,大数据,人工智能和实体经济深度融合。近期,平地一声雷,Nature发表了关于AlphaZero在无知状态下学习围棋并打败他的弟弟AlphaGo 的文章。人工智能,大数据在如今的学术界,工业界打得一片火热。与他们密切相关的信息素养协会的小伙伴们又怎么能落后于这股潮流呢?
    秉着给信息素养协会的伙伴们造福利的理念,10月15日,信息管理学院的李新春和韩韬同学来给同学们分享一些编程和算法的基础知识。
    分享会首先由李新春开始介绍python的基础知识,包括python的简介、安装,另外从python变量、运算符、基础语法、数据结构等进行展开介绍,同时给大家展示了一下python和C,Java的区别。由于分享时间只有半小时左右,所以只能给大家一个初步的认识,希望可以帮到那些对python尚不了解的同学。PPT见附件,里面有一些学习资源的链接。






    另外,为了适应不同层次同学的学习需要,以及小组“数据挖掘”为主的本质,李新春又给大家介绍了机器学习十大算法之一,无监督学习的KMeans,以及KMeans在图像分割中的应用,同时用python实现给大家进行了简单的展示。






    从python基础到机器学习,再到图像分割的具体应用,可以说是一个由浅入深的过程,希望大家可以从中学到一些知识。之外,可能有的同学对python, 对Kmeans都比较熟悉了,所以本次分享会进入第二阶段,由韩韬同学给大家分享爬虫的知识。
    韩韬首先给出了爬虫的基本框架,然后由南京大学小百合的网站出发,给大家展示了浏览器“查看元素”功能的强大之处,在网络爬虫的开发中,浏览器查看元素的作用很重要。此外,韩韬用python的requests库给大家抓取了一些网页,到此如何爬取网页内容已经介绍给大家了。然后,韩韬给大家分享了如何用正则表达式,css选择器来抽取相应的元素。最后,关于一些编码问题,韩韬也做了一些介绍,同时给了大家一些展示。可以说,本次爬虫的分享内容十分丰富,也非常实用,希望各位同学后续可以在网上找一些教程实战一下。






    分享会已经过去一周了,现在才发总结,是不是有点晚了呢?不晚,因为今天是10月24号,1024,仅代表数据挖掘兴趣小组全体成员向所有的程序员祝福,生日快乐。不不不,节日快乐!

   查看全部
    随着十九大的召开,习大大号召产业升级,推动互联网,大数据,人工智能和实体经济深度融合。近期,平地一声雷,Nature发表了关于AlphaZero在无知状态下学习围棋并打败他的弟弟AlphaGo 的文章。人工智能,大数据在如今的学术界,工业界打得一片火热。与他们密切相关的信息素养协会的小伙伴们又怎么能落后于这股潮流呢?
    秉着给信息素养协会的伙伴们造福利的理念,10月15日,信息管理学院的李新春和韩韬同学来给同学们分享一些编程和算法的基础知识。
    分享会首先由李新春开始介绍python的基础知识,包括python的简介、安装,另外从python变量、运算符、基础语法、数据结构等进行展开介绍,同时给大家展示了一下python和C,Java的区别。由于分享时间只有半小时左右,所以只能给大家一个初步的认识,希望可以帮到那些对python尚不了解的同学。PPT见附件,里面有一些学习资源的链接。

1.jpg


    另外,为了适应不同层次同学的学习需要,以及小组“数据挖掘”为主的本质,李新春又给大家介绍了机器学习十大算法之一,无监督学习的KMeans,以及KMeans在图像分割中的应用,同时用python实现给大家进行了简单的展示。

3.jpg


    从python基础到机器学习,再到图像分割的具体应用,可以说是一个由浅入深的过程,希望大家可以从中学到一些知识。之外,可能有的同学对python, 对Kmeans都比较熟悉了,所以本次分享会进入第二阶段,由韩韬同学给大家分享爬虫的知识。
    韩韬首先给出了爬虫的基本框架,然后由南京大学小百合的网站出发,给大家展示了浏览器“查看元素”功能的强大之处,在网络爬虫的开发中,浏览器查看元素的作用很重要。此外,韩韬用python的requests库给大家抓取了一些网页,到此如何爬取网页内容已经介绍给大家了。然后,韩韬给大家分享了如何用正则表达式,css选择器来抽取相应的元素。最后,关于一些编码问题,韩韬也做了一些介绍,同时给了大家一些展示。可以说,本次爬虫的分享内容十分丰富,也非常实用,希望各位同学后续可以在网上找一些教程实战一下。

2.jpg


    分享会已经过去一周了,现在才发总结,是不是有点晚了呢?不晚,因为今天是10月24号,1024,仅代表数据挖掘兴趣小组全体成员向所有的程序员祝福,生日快乐。不不不,节日快乐!