作品简介

本书采用基于任务的方式来介绍如何在机器学习中使用Python。书中有近200个独立的解决方案,针对的都是数据科学家或机器学习工程师在构建模型时可能遇到的常见任务,涵盖从简单的矩阵和向量运算到特征工程以及神经网络的构建。所有方案都提供了相关代码,读者可以复制并粘贴这些代码,用在自己的程序中。

本书不是机器学习的入门书,适合熟悉机器学习理论和概念的读者阅读。你可以将本书作为案头参考书,在机器学习的日常开发中遇到问题时,随时借鉴书中代码,快速解决问题。

克里斯·阿尔本(Chris Albon)

是一位有十年经验的数据科学家和政治学家,他将统计学习、人工智能和软件工程应用到政治和社会活动以及人道主义活动中,譬如监查选举情况、灾难救助等。目前,Chris是肯尼亚创业公司BRCK的首席数据科学家。这家公司致力于为前沿市场的互联网用户构建一个稳健的网络。

韩慧昌,毕业于北京科技大学,ThoughtWorks高级咨询师,有多个大型企业AI项目经验。林然,有6年多的开发经验、4年多Python开发经验,在航空、零售、物流、汽车、通讯等多个行业应用过机器学习算法。徐江,毕业于瑞典皇家理工学院的系统生物学专业,曾就职于Thoughtworks软件技术有限公司。

作品目录

  • O'Reilly Media, Inc.介绍
  • 第1章 向量、矩阵和数组
  • 1.0 简介
  • 1.1 创建一个向量
  • 1.2 创建一个矩阵
  • 1.3 创建一个稀疏矩阵
  • 1.4 选择元素
  • 1.5 展示一个矩阵的属性
  • 1.6 对多个元素同时应用某个操作
  • 1.7 找到最大值和最小值
  • 1.8 计算平均值、方差和标准差
  • 1.9 矩阵变形
  • 1.10 转置向量或矩阵
  • 1.11 展开一个矩阵
  • 1.12 计算矩阵的秩
  • 1.13 计算行列式
  • 1.14 获取矩阵的对角线元素
  • 1.15 计算矩阵的迹
  • 1.16 计算特征值和特征向量
  • 1.17 计算点积
  • 1.18 矩阵的相加或相减
  • 1.19 矩阵的乘法
  • 1.20 计算矩阵的逆
  • 1.21 生成随机数
  • 第2章 加载数据
  • 2.0 简介
  • 2.1 加载样本数据集
  • 2.2 创建仿真数据集
  • 2.3 加载CSV文件
  • 2.4 加载Excel文件
  • 2.5 加载JSON文件
  • 2.6 查询SQL数据库
  • 第3章 数据整理
  • 3.0 简介
  • 3.1 创建一个数据帧
  • 3.2 描述数据
  • 3.3 浏览数据帧
  • 3.4 根据条件语句来选择行
  • 3.5 替换值
  • 3.6 重命名列
  • 3.7 计算最小值、最大值、总和、平均值与计数值
  • 3.8 查找唯一值
  • 3.9 处理缺失值
  • 3.10 删除一列
  • 3.11 删除一行
  • 3.12 删除重复行
  • 3.13 根据值对行分组
  • 3.14 按时间段对行分组
  • 3.15 遍历一个列的数据
  • 3.16 对一列的所有元素应用某个函数
  • 3.17 对所有分组应用一个函数
  • 3.18 连接多个数据帧
  • 3.19 合并两个数据帧
  • 第4章 处理数值型数据
  • 4.0 简介
  • 4.1 特征的缩放
  • 4.2 特征的标准化
  • 4.3 归一化观察值
  • 4.4 生成多项式和交互特征
  • 4.5 转换特征
  • 4.6 识别异常值
  • 4.7 处理异常值
  • 4.8 将特征离散化
  • 4.9 使用聚类的方式将观察值分组
  • 4.10 删除带有缺失值的观察值
  • 4.11 填充缺失值
  • 第5章 处理分类数据
  • 5.0 简介
  • 5.1 对nominal型分类特征编码
  • 5.2 对ordinal分类特征编码
  • 5.3 对特征字典编码
  • 5.4 填充缺失的分类值
  • 5.5 处理不均衡分类
  • 第6章 处理文本
  • 6.0 简介
  • 6.1 清洗文本
  • 6.2 解析并清洗HTML
  • 6.3 移除标点
  • 6.4 文本分词
  • 6.5 删除停止词(stop word)
  • 6.6 提取词干
  • 6.7 标注词性
  • 6.8 将文本编码成词袋(Bag of Words)
  • 6.9 按单词的重要性加权
  • 第7章 处理日期和时间
  • 7.0 简介
  • 7.1 把字符串转换成日期
  • 7.2 处理时区
  • 7.3 选择日期和时间
  • 7.4 将日期数据切分成多个特征
  • 7.5 计算两个日期之间的时间差
  • 7.6 对一周内的各天进行编码
  • 7.7 创建一个滞后的特征
  • 7.8 使用滚动时间窗口
  • 7.9 处理时间序列中的缺失值
  • 第8章 图像处理
  • 8.0 简介
  • 8.1 加载图像
  • 8.2 保存图像
  • 8.3 调整图像大小
  • 8.4 裁剪图像
  • 8.5 平滑处理图像
  • 8.6 图像锐化
  • 8.7 提升对比度
  • 8.8 颜色分离
  • 8.9 图像二值化
  • 8.10 移除背景
  • 8.11 边缘检测
  • 8.12 角点检测
  • 8.13 为机器学习创建特征
  • 8.14 将颜色平均值编码成特征
  • 8.15 将色彩直方图编码成特征
  • 第9章 利用特征提取进行特征降维
  • 9.0 简介
  • 9.1 使用主成分进行特征降维
  • 9.2 对线性不可分数据进行特征降维
  • 9.3 通过最大化类间可分性进行特征降维
  • 9.4 使用矩阵分解法进行特征降维
  • 9.5 对稀疏数据进行特征降维
  • 第10章 使用特征选择进行降维
  • 10.0 简介
  • 10.1 数值型特征方差的阈值化
  • 10.2 二值特征的方差阈值化
  • 10.3 处理高度相关性的特征
  • 10.4 删除与分类任务不相关的特征
  • 10.5 递归式特征消除
  • 第11章 模型评估
  • 11.0 简介
  • 11.1 交叉验证模型
  • 11.2 创建一个基准回归模型
  • 11.3 创建一个基准分类模型
  • 11.4 评估二元分类器
  • 11.5 评估二元分类器的阈值
  • 11.6 评估多元分类器
  • 11.7 分类器性能的可视化
  • 11.8 评估回归模型
  • 11.9 评估聚类模型
  • 11.10 创建自定义评估指标
  • 11.11 可视化训练集规模的影响
  • 11.12 生成对评估指标的报告
  • 11.13 可视化超参数值的效果
  • 第12章 模型选择
  • 12.0 简介
  • 12.1 使用穷举搜索选择最佳模型
  • 12.2 使用随机搜索选择最佳模型
  • 12.3 从多种学习算法中选择最佳模型
  • 12.4 将数据预处理加入模型选择过程
  • 12.5 用并行化加速模型选择
  • 12.6 使用针对特定算法的方法加速模型选择
  • 12.7 模型选择后的性能评估
  • 第13章 线性回归
  • 13.0 简介
  • 13.1 拟合一条直线
  • 13.2 处理特征之间的影响
  • 13.3 拟合非线性关系
  • 13.4 通过正则化减少方差
  • 13.5 使用套索回归减少特征
  • 第14章 树和森林
  • 14.0 简介
  • 14.1 训练决策树分类器
  • 14.2 训练决策树回归模型
  • 14.3 可视化决策树模型
  • 14.4 训练随机森林分类器
  • 14.5 训练随机森林回归模型
  • 14.6 识别随机森林中的重要特征
  • 14.7 选择随机森林中的重要特征
  • 14.8 处理不均衡的分类
  • 14.9 控制决策树的规模
  • 14.10 通过boosting提高性能
  • 14.11 使用袋外误差(Out-of-Bag Error)评估随机森林模型
  • 第15章 KNN
  • 15.0 简介
  • 15.1 找到一个观察值的最近邻
  • 15.2 创建一个KNN分类器
  • 15.3 确定最佳的邻域点集的大小
  • 15.4 创建一个基于半径的最近邻分类器
  • 第16章 逻辑回归
  • 16.0 简介
  • 16.1 训练二元分类器
  • 16.2 训练多元分类器
  • 16.3 通过正则化来减小方差
  • 16.4 在超大数据集上训练分类器
  • 16.5 处理不均衡的分类
  • 第17章 支持向量机
  • 17.0 简介
  • 17.1 训练一个线性分类器
  • 17.2 使用核函数处理线性不可分的数据
  • 17.3 计算预测分类的概率
  • 17.4 识别支持向量
  • 17.5 处理不均衡的分类
  • 第18章 朴素贝叶斯
  • 18.0 简介
  • 18.1 为连续的数据训练分类器
  • 18.2 为离散数据和计数数据训练分类器
  • 18.3 为具有二元特征的数据训练朴素贝叶斯分类器
  • 18.4 校准预测概率
  • 第19章 聚类
  • 19.0 简介
  • 19.1 使用K-Means聚类算法
  • 19.2 加速K-Means聚类
  • 19.3 使用Meanshift聚类算法
  • 19.4 使用DBSCAN聚类算法
  • 19.5 使用层次合并聚类算法
  • 第20章 神经网络
  • 20.0 简介
  • 20.1 为神经网络预处理数据
  • 20.2 设计一个神经网络
  • 20.3 训练一个二元分类器
  • 20.4 训练一个多元分类器
  • 20.5 训练一个回归模型
  • 20.6 做预测
  • 20.7 可视化训练历史
  • 20.8 通过权重调节减少过拟合
  • 20.9 通过提前结束减少过拟合
  • 20.10 通过Dropout减少过拟合
  • 20.11 保存模型训练过程
  • 20.12 使用k折交叉验证评估神经网络
  • 20.13 调校神经网络
  • 20.14 可视化神经网络
  • 20.15 图像分类
  • 20.16 通过图像增强来改善卷积神经网络的性能
  • 20.17 文本分类
  • 第21章 保存和加载训练后的模型
  • 21.0 简介
  • 21.1 保存和加载scikit-learn模型
  • 21.2 保存和加载Keras模型
  • 关于作者
展开全部