问题描述

在做数据处理的时候,根据原论文的蛋白质链下载蛋白质PDB文件,大体上还算正常。但是有的protein的PDB文件在PDB数据库已经不存在了,所以下载后的PDB文件理论上只属于原论文提到的PDB文件的一个子集。由于数据比较大,手动去找会耗费大量的时间,所以为了找出这些不存在的PDB文件,下面写一段代码来实现。

问题转换与实现

首先,将问题转化成一个数学问题。

Read More »

在Linux服务器下,使用wget命令下载PDB文件,即蛋白质文件。

  • 输入文件格式:一个存有protein chain的单独文件,每行的格式为:1A34A
  • 输出文件:多个蛋白质文件,买一行下载一个蛋白质,格式:1A34.pdb
Read More »

本文主要介绍两种基本的数据归一化方法。

  • min-max标准化(Min-Max Normalization)
  • Z-score标准化方法

数据标准化(归一化)处理是数据挖掘的一项基础工作,不同评价指标往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据标准化处理,以解决数据指标之间的可比性。原始数据经过数据标准化处理后,各指标处于同一数量级,适合进行综合对比评价。归一化方法主要有两种形式,一种是把数变为(0,1)之间的小数,一种是把有量纲表达式变为无量纲表达式。

Read More »

今天整理资料的时候,发现要在很多文件中的头部和尾部添加相同的文本,于是自己使用Python做了一个简单的文件拼接功能,也可以说是文件追加功能,给一个文件批量追加头尾内容,达到省事的效果,顺便还可以练习下Python。下面来介绍下这个功能的代码。

Read More »

关于Python的正则表达式,初步学习了下,感觉跟shell脚本的正则表达式大体相同,先来做个小结吧!

正则表达式

正则表达式在实际的文本文件处理中,经常用到,其实正则表达式并不是Python的一部分,其它语言中都有。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能真的十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法数量不同;但不用担心,不被支持的语法通常是不常用的部分。如果已经在其他语言里使用过正则表达式,只需要简单看一看就可以上手了。

下图展示了使用正则表达式进行匹配的流程:

Read More »

本文主要是对照scikit-learn的preprocessing章节结合代码简单的回顾下预处理技术的几种方法,主要包括标准化、数据最大最小缩放处理、正则化、特征二值化和数据缺失值处理。内容比较简单,仅供参考!

首先来回顾一下下面要用到的基本知识。

Read More »

在这个振奋人心的程序员节日里,我决定认真地写一篇文章来纪念一下自己这长达六年程序员史。o(╯□╰)o

本文是一篇关于特征工程的总结类文章,如有不足之处或理解有偏差的地方,还望多多指教。

Read More »

学习Machine Learning也有很长一段时间了,前段时间在paper中应用了GTB(Gradient Tree Boosting)算法。在我的数据集上GTB的performance比Random Forest要稍微强一点,整个experiment做完之后,有许多东西都来不及及时整理,很多都遗忘了。打算接下来的时间里,好好整理下自己的学习资料,这份资料绝对不是一时半会就整理得完的,先开个头吧,以后会间断性更新该blog的。

下面来做个资料整理吧。

Read More »

在机器学习各大算法中,决策树这种算法有着很多良好的特性,其现有的特点就有训练的时间复杂度$Omega$较低,对新样本预测的过程比较快,同时模型容易展示(容易将得到的决策树做成图片展示出来)等。但与此同时,单决策树又有一些不好的地方,比如说容易over-fitting。虽然目前有一些方法,比如剪枝可以减少这种over-fitting的程度,但结果还是不太理想。

Read More »

英文链接:http://creative-punch.net/2015/07/frameworks-and-libraries-for-deep-learning/

深度学习是机器学习和人工智能的一种形式,利用堆积在彼此顶部的神经网络的多个隐藏层来尝试形成对数据更深层次的“理解”。

最近,深度神经网络以“Deep Dreams”形式在网站中如雨后春笋般出现,或是像谷歌研究原创论文中描述的那样:Inceptionism。

在这篇文章中,我们将讨论几个不同的深度学习框架,库以及工具。

Read More »

1.原理

1.1 概念

交叉验证(Cross-validation)主要用于模型训练或建模应用中,如分类预测、PCR、PLS回归建模等。在给定的样本空间中,拿出大部分样本作为训练集来训练模型,剩余的小部分样本使用刚建立的模型进行预测,并求这小部分样本的预测误差或者预测精度,同时记录它们的加和平均值。这个过程迭代K次,即K折交叉。其中,把每个样本的预测误差平方加和,称为PRESS(predicted Error Sum of Squares)。

Read More »

一个Windows操作系统能够使用的pythonIDE

winPython下载地址:WinPython_2.7

传统的F-measure或平衡的F-score (F1 score)是精度和召回的调和平均值:

$$F_1 = 2 \times \dfrac{precision \times recall}{precision + recall}$$

Read More »

组合模型

下面简单的介绍下Bootstraping, Bagging, Boosting, AdaBoost, RandomForest 和Gradient boosting这些组合型算法.

1.Bootstraping

Bootstraping: 名字来自成语“pull up by your own bootstraps”,意思就是依靠你自己的资源,称为自助法,它是一种有放回的抽样方法,它是非参数统计中一种重要的估计统计量方差进而进行区间估计的统计方法。其核心思想和基本步骤如下:

Read More »

原文链接:http://scikit-learn.github.io/dev/tutorial/basic/tutorial.html

章节内容

在这个章节中,我们主要介绍关于scikit-learn机器学习词库,并且将给出一个学习样例。

机器学习:问题设置

通常,一个学习问题是通过一系列的n个样本数据来学习然后尝试预测未知数据的属性。如果每一个样本超过一个单一的数值,例如多维输入(也叫做多维数据),那么它就拥有了多个特征。

Read More »