想用机器学习的方法了解放射学吗?

发布日期:2019-09-04 来源:未知 浏览量:
  • 想用机器学习的方法了解放射学吗?

    想用机器学习的方法了解放射学吗?这个学习工具链你值得拥有

     

     

    想用机器学习的方法了解放射学吗?这可不是件容易的事情。

    深度学习,TensorFlow,Scikit-Learn,Keras,Pandas,Python还有Anaconda,这么多的新术语让人头晕眼花。在正式学习开始前,需要先掌握这些让人目不暇接又相对基础的信息。

    大量的网络资源还有书籍资源可以帮助我们更好地入手。不过,在开始学习各类优秀教程之前,最好对整个生态有所了解。

     

    想用机器学习的方法了解放射学吗?这个学习工具链你值得拥有

     

     

    如果给我6小时砍树,我会先花4小时磨利斧头。亚伯拉罕·林肯

     

    想用机器学习的方法了解放射学吗?这个学习工具链你值得拥有

     

    首先……

     

    机器学习中最常用的开发语言是Python。许多机器学习的初学者都是从Python入门的,因此Python一定不能错过。

     

    本篇文章并不旨在教授Python的相关知识,而是演示开发人员如何在庞大的机器学习工具链中起步的。

     

    所以,第一件事应该是下载Python以及其他用于机器学习的必要的Python工具。

     

    Hello, Unix

    需使用命令行界面来安装管理Python工具。

     

    Bash不是越多越好

    Linux或Mac使用终端。可以在Finder>应用程序>实用程序>终端这个路径中找到该程序。

    Windows则使用命令提示符。单击Windows图标> Windows系统>命令提示符,或单击Windows图标并键入 cmd 。

    光标的前面会看到一个文本字符串,上面写着

    machinename:directoryusername$

    用户在“$”后输入。

     

    以下是一些常见命令:

    列出当前目录中的文件:ls

    显示隐藏文件:ls -a

    进入用户主目录:cd<directory_path>

    转回子目录:cd~ 或直接输入cd

    返回上级目录:cd ..

    转到你所在的最后一个文件夹:cd-

    显示当前工作目录:pwd

    使用上箭头键可以重新输入上一个指令。再按一次这个键则可以返回之前的命令。

    清除窗口:clear

    在文本编辑器中打开文件,如:atom <filename>

    终止应用程序(如ping),按 Ctrl+C

     

    想用机器学习的方法了解放射学吗?这个学习工具链你值得拥有

     

    Python

     

    Python是一种解释性语言,在运行程序时逐行读取代码,不像编译性语言在程序执行前需要将源代码编译成机器码。

     

    目前Python有两个不同的版本——Python2.7和Python3。Python2.7将于2020年暂停服务,而未来的Python3.x并不一定兼容。所以要不考虑一下以前的旧版本?很遗憾有些框架只支持Python2.7,无论是入门书籍还是网上的入门资源很多都是在这个版本上编写的。那该如何解决这个问题呢?

     

    幸运的是,电脑可以同时运行两个版本,并在硬盘上不同的文件夹中运行不同的虚拟环境。通过这样的方式,一方面我们可以在其他文件夹中专门运行Python2.7完成相应的任务,另一方面可以使用Python3.7完成大部分机器学习的任务。

     

    Virtualenv,Python Environment Wrapper (pew),venv以及 pyvenv是管理不同Python虚拟环境的工具。其中最简单的是Conda,使用Anaconda时,它与Python一起安装。

     

    想用机器学习的方法了解放射学吗?这个学习工具链你值得拥有

    https://imgs.xkcd.com/comics/python_environment.pn

     

    Anaconda

    Anaconda是一个开源平台,可能是在Linux,Mac OS X和Windows上使用Python进行机器学习的最简单方法。它可以帮助管理编程环境,它还包含数据科学中常用的Python包。

    各平台版本传送门:https://www.anaconda.com/distribution/

     

    在系统上安装完适用的Python版本后,接下来需要设置环境。

     

    Conda

    Conda是Anaconda使用的Python包管理器和环境管理系统。用户可以通过Conda下载安装大部分需要的软件包,但它并不是万能的。剩余无法安装的那部分可以通过命令行pip来完成,后文将详细介绍。

    如果要查看当前环境的软件包,请键入:

    conda list env

    如果想查看当前Conda的版本,请键入:

    conda -version

    (如果版本低于4.1.0,请输入conda update conda以更新Conda)

    在Anaconda Navigator中,还可以从左边菜单栏选择Environments,然后按Create按钮来创建环境。

     

    想用机器学习的方法了解放射学吗?这个学习工具链你值得拥有

    用Anaconda Navigator创造名为“new_env”的新环境

     

    还可以通过命令行来创造环境。下面例子使用了Python2.7创造了一个名为“py27”的新环境:

    conda create -n py27python=2.7

    如要激活环境,请键入:

    conda activate<your_env_name>

    如要停用当前环境,请键入:

    conda deactivate

    如要移除此环境,请键入:

    conda remove -name<your_env_name> -all

     

    如要列出所有的conda环境,请键入:

    conda info --envs

     

    想用机器学习的方法了解放射学吗?这个学习工具链你值得拥有

    带*的环境是当前的活动环境

     

    如要查看当前环境的包,请键入:

    conda list env

    如果要查看当前运行Conda的版本,请键入:

    conda -version

    (如果版本低于4.1.0,请输入conda update conda以更新Conda)

    使用pip可以安装两个重要的机器学习包TensorFlow和Keras。用户也可以安装TuriCreate作为苹果系统上的机器学习框架。

     

    想用机器学习的方法了解放射学吗?这个学习工具链你值得拥有

     

    科学栈

     

    以下的Python包为科学栈,可用于多个学科,包括有:

    NumPy:用于高效处理数组和矩阵的库

    传送门:http://www.numpy.org/

    SciPy:处理数学和科学问题的工具包

    传送门:https://www.scipy.org/

     

    matplatlib:Python中的标准2D绘图库

    传送门:https://matplotlib.org/

    pandas:含有矩阵式数据结构,标记索引,时间函数等功能的库

    传送门:https://pandas.pydata.org/

     

    Scikit-learn:机器学习算法库

    传送门:https://scikit-learn.org/stable/

    Jupyter:在基于网络的笔记本中运行的交互Python shell

    传送门:https://jupyter.org/

    Seaborn:用于统计数据可视化

    传送门:https://seaborn.pydata.org/index.html

    Bokeh:用于交互数据可视化

    传送门:https://bokeh.pydata.org/en/latest/

    PyTables:HDF5库的Python包装器

    传送门:https://www.pytables.org/

     

    用户可以使用Anaconda安装以上包及相应的依赖项,同时也可以在新创的环境中搜索需要的包。

     

    想用机器学习的方法了解放射学吗?这个学习工具链你值得拥有

    在Anaconda Navigator中搜索你需要的包

     

    然后,通过选中复选框并单击“apply”,从列表中选择它们需要的包。

     

    想用机器学习的方法了解放射学吗?这个学习工具链你值得拥有

     

     

    接下来就是像前文描述的那样,运行pip指令安装TensorFlow和Keras。(如要使用苹果系统的CoreML,还可以安装Turi Create)

     

    想用机器学习的方法了解放射学吗?这个学习工具链你值得拥有

     

    pip

     

    pip是通用的python包管理器。详情传送门:https://pypi.org/project/pip/

    pip install — upgradepip

    使用pip安装某个包,可以输入以下命令:

    pip install<package_name>

     

    想用机器学习的方法了解放射学吗?这个学习工具链你值得拥有

     

    编辑Python文件

     

    在Mac上的终端或Windows中的控制台上可以与python进行交互。如果要写代码,大部分人会使用Atomhttps://atom.io/或Sublime Text https://www.sublimetext.com/等代码编辑器。尽管目前已出现了各种各样的编辑器,但大部分很快就湮灭在代码编辑器的历史长河中。

    不少人喜欢的一款编辑器是Atom(https://atom.io/),这是由GitHub发布的免费编辑器。Atom还可以使用集成的终端窗口等功能扩展应用程序,这个功能贼6~

    这个编辑器安装完毕后,可以通过Settings/InstallPackages,然后搜索platformio-ide-terminal来添加这一功能。

     

    想用机器学习的方法了解放射学吗?这个学习工具链你值得拥有

     

    运行Python文档

     

    在命令提示符($ or >)后输入 python<filename.py>

    如果要退出Python则输入 exit()或直接按 Ctrl+D (如果是Windows系统则按Ctrl+Z )

    要查看当前使用的python版本,请键入:python --version 或 python -V

    要查看当前使用的Python安装位置,请键入:which python

     

    想用机器学习的方法了解放射学吗?这个学习工具链你值得拥有

     

    环境文件

     

    环境文件是项目根目录中的一个文件,它列出了所有包含的软件包及其用于特定项目环境的版本号。因此用户可以与他人分享项目,也允许在其他项目中重复使用这些软件包。

    创建文件请键入:

    conda env export -fileenvironment.yaml

     

    如需重创Conda环境及其包,请键入:

    conda env create -n<conda-env> -f environment.yaml

     

    在某些项目或教程中,作为包管理器的pip运行 requirements.txt,并没有使用Conda的environment.yaml。

    冻结环境可以完成以上动作:

    pip freeze >requirements.txt

    如要重组,请键入:

    pip install -rrequirements.txt

     

    想用机器学习的方法了解放射学吗?这个学习工具链你值得拥有

     

    Jupyter笔记本

     

    Jupyter笔记本(https://jupyter.org/)是一个基于网络浏览器的开源应用。这个笔记本可以让用户在更方便自如的环境中运行Python代码,并且能逐步查看效果。Jupyter笔记本可以在标记单元格中的代码单元格之间添加文本和图像,因此十分适用于教学。得益于其应用拓展性,还可以在笔记本上添加其他功能。也可以通过Anaconda Navigator安装Jupyter笔记本:

     

    想用机器学习的方法了解放射学吗?这个学习工具链你值得拥有

     

     

    使用Anaconda Navigator安装Jupyter笔记本

     

    在提示符下键入以下内容以在浏览器中创建新的Jupyter 笔记本:

    jupyter notebook

     

    想用机器学习的方法了解放射学吗?这个学习工具链你值得拥有

     

     

    用Python 3创建新的笔记本

     

    如果要启动某一特定笔记本,请键入:

    jupyter notebook<notebook-name>

    顺便说一句,不建议同时在Jupyter笔记本上同时运行多个实例:

     

    Jupyter

     

    想用机器学习的方法了解放射学吗?这个学习工具链你值得拥有

     

     

    Jupyter笔记是个整理好帮手

     

    要运行单元格,请单击Jupyter工具栏中的“Run”按钮或按Shift + Enter。如果要关闭笔记本,请直接关闭终端窗口或键入:

    jupyter notebook stop

    或是直接按Ctrl+C

     

    想用机器学习的方法了解放射学吗?这个学习工具链你值得拥有

     

    然后……

     

    斧头磨利之后就要开始砍树啦!那该如何入门真实的放射学信息呢?

    先看看以下链接:

    1. 基于机器学习的医学影像:https://pubs.rsna.org/doi/10.1148/rg.2017160130

    2. 深度学习:放射科医师的入门读物:https://pubs.rsna.org/doi/10.1148/rg.2017170077

     

    如果想继续钻研,可以查阅以下两个专门讨论该主题的期刊:

    1. JACR 2018年3月第15卷第3PB期《特刊数据科学:大数据,机器学习和人工智能》

    2. JDI 2018年6月31卷第3期《开源软件新焦点》

    当然还可以看看GitHub中其他的参考资料,它们一定也能带来新启发:

    1. https://github.com/ImagingInformatics/machine-learning

    2. https://github.com/slowvak/MachineLearningForMedicalImages

     

    终于要开始了!

    2018年6月的期刊《数码成像》,提供了很好的入门材料。(Hello World Deep Learning in Medical Imaging JDI(2018) 31: 283–289 Lakhani, Paras, Gray, Daniel L., Pett, Carl R., Nagy, Paul,Shih, George)(https://link.springer.com/article/10.1007/s10278-018-0079-6)

    我们的工作并不只是创建一个分辨狗与猫的分类器,而是一个分辨胸部与腹部的x光分类器。AI之旅始于这里!

  • 相关新闻:
最新新闻
热门新闻

中国健康世界网 All Rights Reserved 赣ICP备06006962号 邮箱:sheng6665588@gmail.com