数据科学笔记。数据科学的相关笔记、代码和实例,包含数学、统计、机器学习、深度学习等数据科学基础,以及某些应用场景的实现。
参考来源已在最后说明。
大部分代码都是 Python 的,涉及的库及框架:
- NumPy
- SymPy
- SciPy
- Scikit-learn
- Gensim
- TensorFlow 1.X
- TensorFlow 2.X
- MXNet
部分数值分析代码使用 MATLAB。
注:
(notebook):Jupyter Notebook 文件链接
(MATLAB):相应的 MATLAB 代码链接
(md):Markdown 文件链接
(link):外部链接
- Vector and Determinant (notebook). 向量和行列式
- Matrix (notebook). 矩阵及其运算
- Distance (notebook). 距离
- Dirivative (notebook). 导数,用 SymPy 求导与高阶求导
- Calculus (notebook). 微积分,用 SymPy 求积分
- Partial Derivatives (notebook). 偏导,用 SymPy 求偏导
- NumPy.
- TensorFlow. Machine learning platform
- PyTorch. Machine learning framework
- MXNet. Deep learning framework
- Taylor Polynomials and Series (泰勒多项式和泰勒级数) (md)
- The Bisection Method (二分法) (notebook) (MATLAB). 二分法求单变量方程近似根。
- Fixed-point Iteration (不动点迭代法) (notebook) (MATLAB). 不动点迭代法求单变量方程近似根。
- Newton's Method (牛顿法) (notebook) (MATLAB). 牛顿法及其拓展(割线法、试错法)求单变量方程近似根。
- Lagrange Interpolation Polynomial (拉格朗日插值法)
- Neville’s Method (内维尔插值)
- Hermite Interpolation (埃尔米特插值)
- Cubic Spline Interpolation (三次样条插值)
3.1 - Feature Engineering (特征工程) (md)
- Feature Enhancement (特征增强) (notebook). 清洗数据(缺失值处理)、标准化和归一化。
- Feature Construction (特征构建) (notebook). 分类变量处理(填充)和编码(独热编码、标签编码、分箱操作)、扩展数值特征
- Feature Selection (特征选择) (notebook). 模型选择、特征选择
- Feature Transformation (特征转换) (notebook). 主成分分析(PCA)、线性判别分析(LDA)
- Feature Learning (特征学习) (notebook). 受限玻尔兹曼机(RBM)
- Simple Linear Regression (notebook). TensorFlow 2.X 实现,Keras 自定义模型,简单的线性回归模型,回归任务
- Binary Linear Regression (notebook). MXNet 实现,二元线性回归模型,回归任务
- Binary Linear Regression (notebook). MXNet Gluon 接口实现,二元线性回归模型,回归任务
- Logistic Regression (notebook). Scikit-learn 实现,Logistic 回归线性分类模型,二分类任务
- Softmax Regression (notebook). MXNet 实现,Softmax 回归模型,完成 Fashion-MNIST 图像分类任务,多分类任务
- Softmax Regression (notebook). MXNet Gluon 接口实现,Softmax 回归模型,完成 Fashion-MNIST 图像分类任务,多分类任务
- Perceptron (notebook). Python 实现,感知机线性分类模型,二分类任务
- Perceptron (notebook). Scikit-learn 实现,感知机线性分类模型,二分类任务
- Naive Bayes Classification (notebook). Scikit-learn 中的 GaussianNB + MultinomialNB + BernoulliNB 分类任务
4.7 - Hidden Markov Model (HMM 隐马尔可夫模型)
- Hidden Markov Model (Introduction and Python Example) (notebook). 隐马尔可夫模型 Python 示例
- K-Means (notebook). Python 实现,K-Means 算法,完成鸢尾花分类任务
- K-Means (notebook). Scikit-learn,用 K-Means 算法完成手写体识别任务
- Color Quantization using K-Means (notebook). 基于 sklearn 演示用 K-Means 进行色彩压缩。
- Simple 3-Layer Neural Network (notebook). Python/NumPy 实现,一个简单的 3 层神经网络,完成 MNIST 手写体数字图片数据集分类任务
- Multi-layer Perceptron (MLP) (notebook). TensorFlow 2.X 实现,多层感知机,MNIST 手写体数字图片数据集分类任务
- Multi-layer Perceptron (MLP) (notebook). MXNet 实现,多层感知机,完成 Fashion-MNIST 图像分类任务
- Convolution Neural Networks (notebook). TensorFlow 2.X 实现,卷积神经网络(CNN),MNIST 手写体数字图片数据集分类任务
- Convolution Neural Networks LeNet (notebook). MXNet 实现,LeNet 卷积神经网络,Fashion-MNIST 图像分类任务
- Convolution Neural Networks AlexNet (notebook). MXNet 实现,AlexNet 深度卷积神经网络,Fashion-MNIST 图像分类任务
- Convolution Neural Networks VGGNet (notebook). MXNet 实现,VGG 深度卷积神经网络,Fashion-MNIST 图像分类任务
- Convolution Neural Networks - NiN (Network In Network) (notebook). MXNet 实现,NiN 卷积神经网络,Fashion-MNIST 图像分类任务
- Convolution Neural Networks GoogLeNet (notebook). MXNet 实现,GoogLeNet 卷积神经网络,Fashion-MNIST 图像分类任务
- Convolution Neural Networks ResNet (notebook). MXNet 实现,ResNet 残差网络,Fashion-MNIST 图像分类任务
- Convolution Neural Networks DenseNet (notebook). MXNet 实现,DenseNet 稠密连接网络,Fashion-MNIST 图像分类任务
- Recurrent Neural Networks (notebook). TensorFlow 2.X 实现,循环神经网络(RNN),尼采风格文本的自动生成
- LSTM Recurrent Neural Networks (notebook). TensorFlow 2.x,Keras Sequential 实现,LSTM 循环神经网络(RNN),外汇交易(时序数据)预测
- LSTM Recurrent Neural Networks (notebook). TensorFlow 2.x,Keras 自定义 Model 实现,LSTM 循环神经网络(RNN),外汇交易(时序数据)预测
- LSTM Bi-directional Recurrent Neural Network(notebook). TensorFlow 2.x,Keras 自定义 Model 实现,LSTM 双向循环神经网络(RNN),外汇交易(时序数据)预测
- GRU Recurrent Neural Networks (notebook). TensorFlow 2.x,Keras 自定义 Model 实现,GRU 循环神经网络(RNN),外汇交易(时序数据)预测
- Text Generation with LSTM (notebook). TensorFlow 2.x + Keras + LSTM + Softmax Temperature Sampling,完成字符级的尼采风格文本生成任务
- DeepDream (notebook). TensorFlow 2.x 实现 DeepDream
- Overview Introduction (概览介绍) (md)
- Understanding Word Embedding (理解词嵌入) (md)
- Understanding Language Model (理解语言模型) (md)
- Natural Language Processing Task (NLP 任务) (md)
- Word2Vec - Skip-gram (notebook). TensorFlow 1.x 实现,Skip-gram 词嵌入模型,维基百科数据
- Word2Vec - CBOW
- GloVe: Gensim Word Vector Visualization of GloVe (notebook). Gensim 工具包读取操作 GloVe 预训练词向量并可视化
- FastText
- Using Word Embedding Example
- Introduction of Subword Model (md)
- ELMo
- BERT (md)
- Question Answering Task Using BERT + SQuAD 2.0 + BERT Offcial Script (notebook). 基于 Colab TPU + TensorFlow 1.x + BERT offcial script,微调BERT,完成QA任务
- XLNet
- ALBERT
- Text Classification (文本分类)
- Bi-LSTM RNN Model (notebook). TensorFlow 2.X 实现,完成 IMDB 电影评论情感预测任务
- Machine Translation (机器翻译)
- Seq2seq Model - Neural Machine Translation with Attention (notebook). TensorFlow 2.X 实现,基于 Attention 机制的 Seq2seq 模型
- Transformer Model
- 《动手学深度学习》 Aston Zhang and Zachary C. Lipton and Mu Li and Alexander J. Smola:所有 MXNet 部分的笔记都整理自这本书
- 《Python 神经网络编程》Tariq Rashid:引用了手写一个简单神经网络的例子的部分
- 《机器学习中的数学》孙博:基础知识的数学部分
- 简单粗暴 TensorFlow 2.0 | A Concise Handbook of TensorFlow 2.0
- github.com/aymericdamien/TensorFlow-Examples
- 《Deep Learning With Python》François Chollet: fchollet/deep-learning-with-python-notebooks
- 《Python Data Science Handbook》Jake VanderPlas: https://jakevdp.github.io/PythonDataScienceHandbook/
- (2019)斯坦福CS224n深度学习自然语言处理课程 by Chris Manning
- 《特征工程入门与实践》Sinan Ozdemir and Divya Susarla