使用Python进行实践无监督学习
本仓库包含Ankur A. Patel撰写的O'Reilly Media, Inc.出版的《使用Python进行实践无监督学习:如何利用未标记数据构建应用机器学习解决方案》一书的代码。
官方图书网站:https://www.unsupervisedlearningbook.com/thebook
亚马逊购买链接:https://www.amazon.com/Hands-Unsupervised-Learning-Using-Python/dp/1492035645
O'Reilly Safari在线阅读:https://www.oreilly.com/library/view/hands-on-unsupervised-learning/9781492035633/
作者更多信息:https://www.ankurapatel.io
发布更新
2021年5月:增加了对TensorFlow 2.x的支持、Fashion MNIST示例和用于降维的Tensorboard。
图书简介
许多行业专家认为无监督学习是人工智能的下一个前沿,可能持有通向人工智能研究圣杯的钥匙,即所谓的通用人工智能。由于世界上大部分数据都是未标记的,传统的监督学习无法应用;这就是无监督学习发挥作用的地方。无监督学习可以应用于未标记的数据集,以发现深埋在数据中的有意义的模式,这些模式可能近乎不可能被人类发现。
作者Ankur Patel提供了如何使用两个简单、可用于生产的Python框架——scikit-learn和TensorFlow来应用无监督学习的实用知识。通过提供的实践示例和代码,你将能够识别数据中难以发现的模式并获得更深入的业务洞察,检测异常,执行自动特征工程和选择,以及生成合成数据集。你只需要具备编程和一些机器学习经验就可以开始了。
- 比较不同机器学习方法的优缺点:监督学习、无监督学习和强化学习
- 从头到尾设置和管理机器学习项目——从数据获取到构建模型和在生产环境中实施解决方案
- 使用降维算法揭示数据中最相关的信息,并构建异常检测系统以捕获信用卡欺诈
- 应用聚类算法对用户进行分类——如贷款借款人——将其划分为不同的同质群体
- 使用自编码器执行自动特征工程和选择
- 结合监督和无监督学习算法开发半监督解决方案
- 使用受限玻尔兹曼机构建电影推荐系统
- 使用深度信念网络和生成对抗网络生成合成图像
- 对时间序列数据(如心电图)进行聚类
- 探索无监督学习迄今为止的成功以及其充满希望的未来
Google Colaboratory
如果你希望使用Google Colab(而不是本地机器),请按照这些说明在Google Colab上运行代码。
设置主Conda环境
如果你希望在本地机器上运行这个仓库,请按照以下说明操作。
-
如果你使用的是macOS,请在终端中使用
xcode-select --install
安装Xcode命令行工具。 -
根据你的操作系统安装Python 3.8的Miniforge发行版。如果你使用的是Windows,你可以选择Python 3.8的Anaconda发行版来代替Miniforge发行版。
-
对于NVIDIA GPU支持,安装CUDA 11.0。这仅适用于特定的NVIDIA GPU。
-
设置新的Anaconda环境,并根据你的操作系统按照以下说明操作。
对于Windows:
```
conda env create -f environment_windows.yml
conda activate unsupervisedLearning
pip install -r requirements_windows.txt
```
对于macOS:
```
conda env create -f environment_mac.yml
conda activate unsupervisedLearning
pip install -r requirements_mac.txt
```
5) 从Google Drive下载数据(文件太大,无法在Github上存储和访问)。
```
https://drive.google.com/drive/folders/1TQVOPUU4tVOYZvdpbxUo6uOCh0jvWNhv?usp=sharing
```
6) 使用Jupyter运行notebooks。
```
jupyter notebook
```
7) 如果你在设置、代码或其他方面遇到任何问题或错误,请发送电子邮件至ankur@unsupervisedlearningbook.com联系作者。
为macOS Conda环境设置TensorFlow
请按照以下说明为macOS设置TensorFlow。
对于macOS:
```
conda env create -f environment_tensorflow_mac.yml
conda activate tensorflow_mac
pip install -r requirements_tensorflow_mac.txt
对于Apple Silicon Mac(M1):
pip install --upgrade --force --no-dependencies https://github.com/apple/tensorflow_macos/releases/download/v0.1alpha3/tensorflow_macos-0.1a3-cp38-cp38-macosx_11_0_arm64.whl https://github.com/apple/tensorflow_macos/releases/download/v0.1alpha3/tensorflow_addons_macos-0.1a3-cp38-cp38-macosx_11_0_arm64.whl
对于Intel Mac:
pip install --upgrade --force --no-dependencies https://github.com/apple/tensorflow_macos/releases/download/v0.1alpha3/tensorflow_macos-0.1a3-cp38-cp38-macosx_11_0_x86_64.whl https://github.com/apple/tensorflow_macos/releases/download/v0.1alpha3/tensorflow_addons_macos-0.1a3-cp38-cp38-macosx_11_0_x86_64.whl
```
如果遇到问题,请参考macOS TensorFlow指南或联系我们。