
python
机器变得更残忍
做一个快乐的程序员
展开
-
Spyder3更新和更新后碰到的图标变化问题
spyder3出来后我很快就更新了,现在整理了自己碰到的一个小问题。更新我使用的是anaconda,直接在命令行里面输入conda update spyder就能很方便地更新了。碰到的问题更新后界面如下,可以发现图标不是原来那种很清爽的样子了。 解决方案按下快捷键Ctrl+Alt+Shift+P召唤Preferences界面 在Icon theme那栏选择Spyder 2 确定完重启就好了原创 2016-10-22 13:09:08 · 8137 阅读 · 2 评论 -
简易爬虫自制之查看优快云排名的小工具
没开多久的博客,排名总是显示 千里之外,受到 如何查看优快云 排名 这篇文章的启发,结合最近学习的爬虫技术写了个小工具。HTTPError: Forbidden原创 2016-12-17 17:13:49 · 1008 阅读 · 0 评论 -
在Windows下安装LightGBM的Python包
LightGBM是微软旗下DMTK推出的Gradient Boosting框架,因为其快速高效,以后或许会成为数据挖掘竞赛中的又一个大杀器。1.下载源代码git clone --recursive https://github.com/Microsoft/LightGBM2.编译DLL 进入LightGBM目录,用VS2013(或者更高的版本)打开windows/LightGBM.sln,选择D原创 2016-12-22 15:12:20 · 12550 阅读 · 0 评论 -
win10+gtx1060+vs2015+cuda8.0安装theano时的各种疑难杂症
win10+gtx1060+vs2015+cuda8.0安装theano时的各种疑难杂症c:\program files\nvidia gpu computing toolkit\cuda\v8.0\include\common_functions.h(65): fatal error C1083: 无法打开包括 文件: “string.h”: No such file or directory原创 2016-12-18 14:41:54 · 1834 阅读 · 2 评论 -
PyQt5学习随笔
在学习pyqt5的过程中碰到的问题,以及一些关键知识点的记录,方便自己再学习。在python2.7中继承QWidget时super的用法from PyQt5.QtWidgets import QWidgetclass Example(QWidget): def __init__(self): super(QWidget,self).__init__() '''原创 2017-01-05 14:29:14 · 2447 阅读 · 0 评论 -
Scikit-learn源码学习之cluster.SpectralClustering
最近看的都是聚类算法,像kmeans和mean_shift都是根据欧式空间的距离来计算的,而谱聚类(Spectral Clustering, SC)则是基于图论的,每个样本就是一个节点,给出节点间的相似矩阵就能聚类。先说下谱聚类的算法流程 1.生成图的相似矩阵 2.生成几个最小的特征值和对应的特征向量 3.特征向量进行聚类接下来是源码,源码地址def spectral_clustering(a原创 2016-12-31 20:03:04 · 3192 阅读 · 0 评论 -
python直方图均衡化直观理解
直方图均衡化是灰度变化中常用的一种非常有用的变化方式,可以用作增强对比度,思想也比较简单,就是使得变化后的图像每个灰度值概率分布相同。代码import numpy as npdef histeq(im,nbr_bins=256): '''对灰度图进行直方图均衡化''' #计算直方图 imhist,bins = np.histogram(im.flatten(),nbr_bin原创 2017-01-23 16:57:50 · 3432 阅读 · 0 评论 -
PIL学习随笔
PIL学习随笔基本就是从《Python计算机视觉编程》这本书里面摘下来的,结合自己的实践记录下来的比较实用的东西。os.path.splitext分割后缀名三种方法显示PIL灰度图片Numpy格式与PIL格式之间转化pickle的保存与读取原创 2017-01-27 16:32:37 · 1407 阅读 · 0 评论 -
Scipy的几个简单图像操作
Scipy的几个简单图像操作Scipy.ndimageBluring imageImage derivativesMorphology原创 2017-01-27 16:48:02 · 6039 阅读 · 0 评论 -
从Spyder3降级回Spyder2
spyder3已经更新了很长时间了,不少问题还是没能解决,比如启动时跳出许多nvcc.exe,然后持续kernel died,敲代码突然自动退出这种情况也是越来越频繁了。确认历史版本号这是第一步,选择一个3以下的版本号,我的方法比较简单 pip install spyder==然后就会出现如下的错误 Could not find a version that satisfies the r原创 2016-12-17 16:21:17 · 3996 阅读 · 0 评论 -
scikit-learn源码学习之cluster.mean_shift.estimate_bandwidth
继续我的源码学习之旅,这次是mean-shift聚类算法里面的estimate_bandwidth函数。 estimate_bandwidth函数使用mean-shift算法来估计带宽,如果MeanShift函数没有传入bandwidth参数,MeanShift会自动运行estimate_bandwidth,源码地址def estimate_bandwidth(X, quantile=0.3, n原创 2016-12-06 23:29:24 · 6408 阅读 · 1 评论 -
TypeError: ufunc 'multiply' did not contain a loop with signature matching types dtype('S32')
今天拿python写AdaBoost的时候碰到的,一看报错提示就知道是类型错误,后来参考了 http://hyry.dip.jp/tech/book/page/scipy/numpy_ndarray.html 得知S32就是 长度为32个字节的字符串类型,这下就好办了,发现问题是出在读取txt数据时没有转换类型,依旧保持着字符类型。解决方案: float()原创 2016-10-23 12:13:14 · 18429 阅读 · 1 评论 -
提升方法AdaBoost算法完整python代码
提升方法AdaBoost算法提升方法简述俗话说,“三个臭皮匠顶个诸葛亮”,对于一个复杂的问题,一个专家的判断往往没有多个专家的综合判断来得好。通常情况下,学习一个弱学习算法比学习一个强学习算法容易得多,而提升方法研究的就是如何将多个弱学习器转化为强学习器的算法。 强学习算法:如果一个多项式的学习算法可以学习它,而且正确率很高,那就是强可学习的。 弱学习算法:如果一个多项式的学习算法可以原创 2016-10-23 18:57:59 · 10335 阅读 · 6 评论 -
pandas 快速添加一行数据
pandas 快速添加一行数据洗数据时经常碰到添加数据什么的,可我pandas用的也不熟练,就把每次的一点小技巧记录下来,不会时查查也方便。原创 2016-10-28 23:57:28 · 14193 阅读 · 0 评论 -
利用PCA简化数据
利用PCA简化数据用途主成分分析(Principal Component Analysis)可以把大量的数据的维度减小,也可以叫做降维。 这么做的好处如下: 使得数据更容易使用 降低很多计算的开销 去除噪声 使得结果易懂 本质通过将原来的数据从高维度的坐标系映射到低维度新的坐标系来,这里有一篇很不错的例子:主元分析(PCA)理论分析及应用。PCA过程简述去除平均值 计原创 2016-10-20 23:30:25 · 1961 阅读 · 0 评论 -
scikit-learn源码学习之cluster.MeanShift
聚类部分的mean-shift算法终于看完了,网上这部分资料还是有些的,都是令人头疼数学公式,不过不如直接读源码来得直接些。执行mean-shift算法的核心函数 源码地址def mean_shift(X, bandwidth=None, seeds=None, bin_seeding=False, min_bin_freq=1, cluster_all=True, m原创 2016-12-10 11:47:27 · 7752 阅读 · 1 评论 -
python中 if-else 与 try-except的转换 while 与 whileTrue-try-except的转换
if-else 与 try-except转换 while 与 while-True-try-except转换比较神奇的写法,直接看代码吧 见如下if-else场景if fun(): do something1else: do something2如果fun()抛出异常表示假,那么可以改写成如下形式try: fun() do something1expect:原创 2016-12-02 01:44:14 · 8221 阅读 · 4 评论 -
爬虫时碰到的socket.error: [Errno 10060]错误的原因以及解决方法
socket.error: [Errno 10060]原因是爬取页面过快造成暂时被网站ban掉的情况,设置time.sleep(1)就好,后来发现ban的时间不定,就自己动手写了个暴力的做法def avoid_10060(fun): error_time = 0 while True: time.sleep(1) try: re原创 2016-12-02 19:51:09 · 20110 阅读 · 4 评论 -
scikit-learn源码学习之datasets.samples_generator.make_blobs
在scikit-learn看聚类的时候碰到的,可以按照需求生成数据,官方源码地址 读代码顺带把注释和心得写了上去datasets.samples_generator.make_blobs原创 2016-12-04 11:09:32 · 5324 阅读 · 0 评论 -
目标!半天学完《Spark快速大数据分析》核心概念
在写下这个标题的时候已经下午了,看来只有半天时间了(汗初衷以及Spark简介最近找工作,发现很多公司都要求Hadoop、Spark,我平时也没有啥这方面的需求所以没学,而且这个东西真正用起来需要分布式集群。 于是买了本书《Spark快速大数据分析》,挺薄的,而且是三种语言写的(java,scala,python),如果只看Python,目测一天就能学完核心概念。 配置环境学习一门新技术,环境配置原创 2017-08-13 23:48:46 · 751 阅读 · 0 评论