The data science roadmap for medical students
开学后智能医学社已经进行了几次练习,但学生的完成情况并不理想,今天我准备为医学生做一下课程的体系构建,这样能让想学习的同学提前学习,落后的同学,知道自己在哪个阶段,哪个步骤了。
医学生并不是专业的coder或者engineer,所以类似的Roadmap并不太适用医学生。
医学生想要步入数据科学,以下几点必须注意:
- 弱化数学及统计学
- 短期速成,容易掌握
- 启发思维为主,主张代码复用
- 符合医学思维和医药数据需求
- 实践为王,解决医学科学问题
先上图,数据科学金字塔,如果你按我的知识体系,能以最快的速度爬到塔尖
我们采用的程序语言是python和R,至于为什么,根本无需解释了。我更喜欢R,双条腿走路,不吃亏。整个学习体系,大部分以现有的优秀教程为主,实在不行,我就自己做教程,一步一步带你到达巅峰。最后警告大家一句:高处不胜寒!
Week 1 / Git、R、python 基础,小热身
本周,通过一些小练习和一些基础教程,来学习一些简单的编程语法和版本控制(git)。
- Python 新手入门课,该课程包含了git的部分内容
- Git 与 GitHub 入门实践,了解版本控制、代码托管。
- git/github采用token进行认证访问,解决部分git中的问题
- 20节R视频课程,零基础学习R! - 专栏课程 - 医咖会 (mediecogroup.com),经典入门课,只看到2章即可
Week 2 / 环境搭建,R和python形影不离
数据科学的王者是Anaconda,但我觉得它似乎太臃肿了,我更倾向于自己搭建。
所有工具,都建议采用英文界面,所有工具的安装目录都不得出现中文
Week 3 / 扫盲科普
数据科学必须了解的概念:机器学习,深度学习,神经网络,机器学习经典模型(算法)
每个视频都不长。算是入门科普。
是什么系列
https://www.bilibili.com/vide...
https://www.bilibili.com/vide...
https://www.bilibili.com/vide...
https://www.bilibili.com/vide...
https://www.bilibili.com/vide...
经典算法5分钟
https://space.bilibili.com/10...
人工智能、机器学习、深度学习的关系
一文看懂机器学习「3种学习方法+7个实操步骤+15种常见算法」 (easyai.tech)
深度学习
一文看懂深度学习(白话解释+8个优缺点+4个典型算法) (easyai.tech)
机器学习的步骤
- Define Problem.提出问题,分析问题。要解决一个什么样的科学问题,到底是分类问题?聚类问题?数据类型什么样?哪个是Y
- 收集数据:无论是来自excel, access, text files等文件的原始数据,这一步(收集过去的数据)是未来学习的基础。相关数据的种类、密度和数量越大,机器的学习前景就越好。
- 准备数据:任何分析过程都依赖于所使用数据的质量。我们需要花时间来确定数据的质量,然后采取措施来解决缺失数据和异常值的处理等问题。探索性分析可能是研究数据细微差别的一种方法,从而迅速提高数据的营养含量。
- 训练模型:这一步包括选择合适的算法并以模型的形式表示数据。清洗后的数据分为训练和测试两部分(比例视前提而定)。第一部分(训练数据)用于开发模型。第二部分(测试数据),用作参考。
- 评估模型:为了测试准确性,使用了数据的第二部分(holdout / test data)。这一步根据结果确定算法选择的准确度。检验模型准确性的更好的测试方法是查看其在模型构建过程中根本没有用到的数据上的性能。
- 提高性能:这一步可能包括选择一个完全不同的模型,或者引入更多的变量来提高效率。这就是为什么需要花费大量的时间来收集和准备数据。
Data!Data!Data!
这是机器学习的第一步,要对数据的基本概念有所了解。
编程语言数据类型
R data types and structure
factor是R中一个非常重要的数据类型!!!!
统计学数据类型
Numeric
Data that are expressed on a numeric scale.- Continuous
Data that can take on any value in an interval. (Synonyms: interval, float, numeric) - Discrete
Data that can take on only integer values, such as counts. (Synonyms: integer, count)
- Continuous
Categorical
Data that can take on only a specific set of values representing a set of possible categories. (Synonyms: enums, enumerated, factors, nominal)- Binary
A special case of categorical data with just two categories of values, e.g., 0/1, true/false. (Synonyms: dichotomous, logical, indicator, boolean) - Ordinal
Categorical data that has an explicit ordering. (Synonym: ordered factor)
- Binary
Rectangular Data
The typical frame of reference for an analysis in data science is a rectangular data object, like a spreadsheet or database table.
xml,json,csv,excel.....
Data frame
Rectangular data (like a spreadsheet) is the basic data structure for statistical and machine learning models.
Feature
A column within a table is commonly referred to as a feature.
attribute, input, predictor, (independent) variable, regressors, covariates
Outcome measurement Y
Many data science projects involve predicting an outcome Y
dependent variable, response, target, output
- In the regression problem, Y is
quantitative
(e.g price, blood pressure). - In the
classification problem
, Y takes values in a finite, unordered set (survived/died, digit 0-9, cancer class of tissue sample).
Records
A row within a table is commonly referred to as a record.
case, example, instance, observation, pattern, sample
Non-Rectangular Data
- Time series data
- Spatial data
- Graph (or network) data
- Plain text
Explore data
Read/Import Data
R自带数据集data()
Awesome Public Datasets
Data Exploration
描述和推理性统计学
R:Dataexplorer, SmartEDA, dlookr
Week 4 / 数据清洗和准备Cleaning & Preparation
Tidy Data
Tidy data | R for Data Science (had.co.nz)
- Each variable must have its own column.
- Each observation must have its own row.
- Each value must have its own cell.
数据清洗和准备就是将Rectangular Data做成标准的Tidy Data,以便进行分析
R Data cleaning工具
- dplyr https://r-bootcamp.netlify.ap...
- tidyr https://r-bootcamp.netlify.ap...
- janitor https://github.com/sfirke/jan...
- datawizard https://github.com/easystats/...
- data.table https://rdatatable.gitlab.io/...
Week 5 / 可视化
一图顶千言,数据在做了清洗和初步探索后,最好能用图展示数据的情况。数据可视化也是医学研究必不可少的内容。
可视化包
python
R
教程
- From data to Viz | Find the graphic you need
- The R Graph Gallery – Help and inspiration for R charts
- Python Graph Gallery
- R语言绘图:ggplot2初级9讲(中文)_哔哩哔哩_bilibili
- Matplotlib 最具价值的50个可视化项目 - Heywhale.com
Week 6 / R Markdown
为什么要把R Markdown单独罗列出来?因为它太好用了,它就是学术报告的未来!我们后面所有的练习都是在R Markdown上进行。通过R Markdown我们可以把做的任何项目展示出来,并发布到任何平台。我已经写了为什么要用它,及知识框架。
我为此已经做了一个非常系统的教程
R Markdown学术写作系列教程 医咖会 (mediecogroup.com)
Week 7 /Your First Machine Learning Project in R Step-By-Step
我们以该项目为例实现一次完整的机器学习过程。
Your First Machine Learning Project in R Step-By-Step (machinelearningmastery.com)
Your First Machine Learning Project in Python Step-By-Step
项目改造
- 如何用python来完成
- 如何用scikitlearn来实现?
- 如何用tidymodels来实现?
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。