0%

偏态分布(Skewed distribution)是指频数分布不对称,集中位置偏向一侧。若集中位置偏向数值小的一侧,称为正偏态分布;集中位置偏向数值大的一侧,称为负偏态分布。 偏态分布只有满足一定的条件(如样本例数够大等)才可以看做近似正态分布

对于偏态分布的资料可看:The Skew-Normal Probability Distribution

Read more »

摘抄整理自:《Mastering Shiny》 中的第7章 "User feedback"

为了让用户对于shiny app正在运行的功能有更好的了解,我们希望能以message或者其他输出形式对其进行说明解释,这个是属于Feedbac

Read more »

这是一本online版的shiny book, 《Mastering Shiny》,按照作者Hadley Wickham(真大神也。。)的说法,将于2020年在O'reilly系列中出版

Shiny is a framework for creating web applications using R code. It is designed primarily with data scientists in mind, and to that end, you can create pretty complicated Shiny apps with no knowledge of HTML, CSS, or JavaScript

Read more »

这是我整理的关于Spotfire的第三篇文章,主要记录下如何在Spotfire中安装Spotfire Statistics Services服务;由于网上相关资料比较少,而官方文档有些细节没写清楚,因此折腾了好久,因此记录下大致的过程。。。希望能帮助到大家,节省点时间哈(虽然用Spotfire的人真的不多)~

Read more »

上篇 Spotfire ironpython示例小结 主要整理了关于Spotfire中关于如何使用Ironpython来拓展Spotfire使用范围,即通过脚本来控制分析及展示的过程

这篇文章主要整理下关于Spotfire中TERR脚本使用注意事项,TERR是一个集成在Spotfire中的一个R版本,代码的函数以及R包的用法大部分都跟Open R(常见的R版本)一样,唯一需要注意的是如何将其结果输出到Spotfire的一些文档属性或者可视化图形中

Read more »

Spotfire是一个比较人性化的可视化软件,在药企(大外企)数据临床数据管理可视化方面应用较好

Spotfire除了自带的一些常用操作功能外,其内嵌了ironpython和TERR;以下是这段时间来整理的,关于一些功能的ironpython的实现

Spotfire-Ironpython主要社区: https://community.tibco.com/wiki/ironpython-scripting-tibco-spotfire

Read more »

平时常见的数据属性类型有连续和分类,然后在输入ML algorithms之前一般会转化为numerical matirx;除了上述两类数据外,还有一种是文本型数据,我们也需要通过一定的方法将其转化为numerical matirx

Read more »

在肿瘤研究中,bioinformatics是一个很好的用于寻找biomarker的方法,其中会涉及到两个概念:预后生物标记物(prognostic biomarker)和预测生物标记物(predictive biomarker);最近在一个biomarker探索性研究中把两者搞混了,经推荐看了一篇文章(预后因素?预测因素?一字之差,谬之千里),以及结合研究数据才把两者搞清楚,因此粗略的做个记录

Read more »

处理缺失值常用的方法:

  • 直接移除缺失值的行
  • 以均值/中位数等方法填充
  • 以一些常数(-1/-999/etc.)代替
  • 重构,比如以通过模型来预测缺失值
  • 选择一些能处理缺失值的模型,比如XGBoost和CatBoost

Scikit-learn整理了几种方法,对应了上述的思路

Read more »

Pipeline

Pipeline可以用来简化构建变换和模型链的过程

Pipeline的好处:

  1. 构建好Pipeline后,只需要一次fitpredict,即可避免对每一个estimators都调用一遍fittransform
  2. 如果使用grid search,即一次历遍所有estimators的参数
  3. 避免测试集的信息泄露到交叉验证训练集中(典型的就是在做交叉验证前做了scale,这样会leaking statistics)
Read more »

为了评价模型在新数据上的泛化性能,我们一般除了训练集外,还需要测试集;有时为了评价不同参数下的模型性能,不能直接在测试集进行测评,而是在两者之间再加个验证集来先进行评估;如果比较成功的话,再在测试集上进行最后的评估

Read more »

记录来自Kaggle的一次playground competition(Categorical Feature Encoding Challenge);备注,Kaggle比赛分类以下几种类型,摘抄自知乎回答

  • Getting Started(面向初学者),非常适合入门级的参赛者用来练手,但没有奖牌或奖金,只能看到自己的排名
  • Playground(面向初学者),项目难度比Getting Started稍难,主要是一些趣味性的比赛,看创意而不是解决具体的研究问题,奖励可能是奖金、荣誉,不能获得奖牌
  • Featured(面向竞赛者),是Kaggle上主要的竞赛类型,为解决商业问题而设立的比赛,奖金高竞争激烈,有金银铜牌奖励,对参赛选手的能力有一定的要求
  • Research(面向竞赛者),致力于解决科研界学术界的前沿问题,偏向于实验性质,较难;竞争没那么激烈,通常也有奖金和金银铜牌,但有的比赛只给荣誉奖励,或者是提供参加顶会的机会
  • Recruitment(面向求职者),赞助商为招聘数据科学家而设立的比赛,奖励就是赞助商提供的工作机会
  • Annual,不是严格意义上的比赛,每年两次,一次是美国大学篮球锦标赛期间的三月机器学习比赛,一次是圣诞节期间的圣诞主题优化比赛
  • Limited participation,通常是私人赛或邀请赛,例如只有master级别及以上才能参加的Master's Competition
Read more »

最近在Kaggle中学习一些关于ML的方法,其提供的 kernel是一个很好的工具,非常类似于Jupyter notebook

kaggle Kernel本质上是一种jupyter笔记本,可以在浏览器中直接运行代码,并提供免费的gpu

但是遇到一个问题:如果某个训练的模型需要跑N个小时,kernel有时会由于一些原因(可能网络,也可能是无法长时间待机)导致断开;待重开打开后,模型又要重新跑了(而且是该notebook里所有代码都要重新跑)。。。

如果将代码拿到本机上跑,则太占用资源(CPU/内存),有时由于配置不够的原因,导致模型训练速度大大拉长。。

这时我才想起来可以在服务器上安装个Jupyter notebook,然后本机远程连接即可,只要网络不出问题,即可长时间的待机运行代码

Read more »

在机器学习模型中,需要人工选择的参数称为超参数。比如SVM的Ckernelgamma,随机森林的n_estimators,人工神经网络模型中的隐藏层层数和每层的节点个数等等

对于各个分类器,各个参数及其对应值都通过get_params()获取

最常用的方法就是网格搜索(grid search),从而获得最佳的cross-validation的score,其中可分为: * GridSearchCV * RandomizedSearchCV

Read more »

机器学习(周志华):有用的属性称为“相关特征”(relevant feature),没用的属性称为“无关特征”(irrelevant feature)。从给定特征值集合中选择出相关特征子集的过程,称为“特征选择”(feature selection)

之前对于数据的处理一直比较喜欢用R,但是Python的scikit-learn库对于机器学习又比较的友好,因此打算多学点scikit-learn库;其实个人觉得很多方法R或者Python都能实现,原理都是一样的,只是在于哪个实现的更快更熟练罢了

sklearn.feature_selection是用于feature筛选(增加模型的精确度)或者降维(提高在高维数据中的性能)的模块

Read more »

文章:Identification of trunk mutations in gastric carcinoma: a case study

这个不知道啥时候写的一篇文献总结。。。怀念下以前看文献的时光~

文章背景

这是一篇proof-of-concept研究,通过最近几年的大规模测序研究,大家发现对于癌症是一个heterogeneous disease,肿瘤内异质性(Intratumor heterogeneity (ITH))使得肿瘤内存在着许多不同肿瘤突变的细胞,这对于精准医疗、靶向治疗以及免疫治疗是一个急迫需要解决的问题。因此作者想从肿瘤细胞的主干突变(trunk mutations)入手,来研究ITH;主干突变的理论依据在于广泛认知肿瘤是一个进化过程产物,不断的通过细胞克隆、自然选择,从而产生一个具有多样性的复杂体,因此被认为是从一个单细胞微进化而来的

Read more »

从开始写博客至今已经2年有余;最开始选择博客系统的时候,由于wordpress操作比较简单,并且云虚拟机也比较便宜(其实这个才是重点。。。那时还不知道有Github。。。),所以就选择wordPress来搭建我第一个博客~

后来接触的事物多了,逐渐也了解到了多个博客系统,如:

  • Hexo,基于node.js的静态博客生成系统,使用markdown来写作,有多种丰富的插件和主题可供选择,文档完善,可以搭建在Github上(这个是重点,省钱省事。。。)
  • Hugo,基于Go的静态网站生成器,操作上跟Hexo比较类似,也可以搭建在Github上;网页生成速度上比Hexo快上很多(这个是很多人选择Hugo的原因之一)
  • Halo,基于Java的博客系统,这个跟wordpress比较类似,有完善的后台系统,上手管理容易,可搭建在各个服务器上
  • Wordpress,操作简单,插件丰富,主题可选度较高,搭建方便(一般虚拟机都已预安装好),我曾经戏说wordpress的操作就类似小时候的QQ空间。。点点点就好了。。。
    Read more »

因为打算将博客从wordpress转到Halo,因此换了台ECS主机,并且需要配置Nginx反向代理,将其中遇到的“坑”记录下

前期准备:

  • 主机:阿里云的ECS服务器
  • 系统:ubuntu 16.04
  • 如有域名,先解析到到公网IP上
    Read more »