开源!100 页机器学习教程全面开放,附完整代码

简介: 开源!100 页机器学习教程全面开放,附完整代码


之前早些时候,红色石头就在公众号发文推荐过一本书,就是短小精悍的《The Hundred-Page Machine Learning Book》,中文译为《百页机器学习》。之所以说这本书短小精悍,是因为它仅仅只有 152 页。如今这本书已经正式完稿了!而且开源了书籍配套的所有代码!


image.png

这本《百页机器学习》的作者是 Gartner 公司机器学习团队负责人、人工智能博士 Andriy Burkov。作者表示,这本书麻雀虽小五脏俱全,内容十分丰富。


作者本着「先读后买」的原则,允许读者免费在线阅读本书,这里附上在线阅读地址:


http://themlbook.com/wiki/doku.php?id=start


适合人群


这本书包含了自 20 世纪 60 年代以来发展起来的大量机器学习材料中被证明具有重大实用价值的部分。一个机器学习的初学者会在这本书中发现足够的细节,以获得对这个领域的一个舒适的理解水平。有经验的实践者可以使用这本书作为进一步自我提高的方向集。


书籍目录


这本《百页机器学习》已经完稿!具体目录如下:


  • 前言
  • 第 1 章:介绍

第一部分 监督式学习

  • 第二章:标记和定义
  • 第三章:基础算法
  • 第四章:学习算法的解剖
  • 第五章:基础实战
  • 第六章:神经网络与深度学习
  • 第七章:问题与解决
  • 第八章:进阶实战

第二部分 非监督式学习和其它学习

  • 第九章:非监督式学习
  • 第十章:其它形式学习
  • 第十一章:结论


开源代码


这是一个好消息,现在本书配套的所有代码都已开源,GitHub 地址为:


https://github.com/aburkov/theMLbook


image.png

有了代码,大家可以一边看书一边编写代码了。效率翻倍,其乐无穷~


例如本书第三章中最简单的线性回归算法。


image.png

GitHub 上相应的 Python 代码为:


import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import Ridge
from sklearn.preprocessing import PolynomialFeatures
from sklearn.pipeline import make_pipeline
import matplotlib
matplotlib.rcParams['mathtext.fontset'] = 'stix'
matplotlib.rcParams['font.family'] = 'STIXGeneral'
matplotlib.rcParams.update({'font.size': 18})
def f(x):
""" function to approximate by polynomial interpolation"""
return 0.5 * x
# generate points used to plot
x_plot = np.linspace(-10, 10, 100)
# generate points and keep a subset of them
x = np.linspace(-10, 10, 100)
rng = np.random.RandomState(0)
rng.shuffle(x)
x = np.sort(x[:10])
noize = [(-2 + np.random.random()*2) for i in range(len(x))]
y = f(x) + noize
# create matrix versions of these arrays
X = x[:, np.newaxis]
X_plot = x_plot[:, np.newaxis]
colors = ['red', 'red']#, 'orange'
lw = 2
type_of_regression = ["linear regression", "regression of degree 10"]
fit = ["fit", "overfit"]
for count, degree in enumerate([1,10]):#, 2, 15
plt.figure(count)
axes = plt.gca()
axes.set_xlim([-10,10])
axes.set_ylim([-10,10])
plt.scatter(x, y, color='navy', s=30, marker='o', label="training examples")
plt.xticks([-10.0, -5.0, 0.0, 5.0, 10.0])
plt.yticks([-10.0, -5.0, 0.0, 5.0, 10.0])
model = make_pipeline(PolynomialFeatures(degree), Ridge())
model.fit(X, y)
y_plot = model.predict(X_plot)
plt.plot(x_plot, y_plot, color=colors[count], linewidth=lw,
label=type_of_regression[count])
plt.legend(loc='best')
fig1 = plt.gcf()
fig1.subplots_adjust(top = 0.98, bottom = 0.1, right = 0.98, left = 0.08, hspace = 0, wspace = 0)
fig1.savefig('../../Illustrations/linear-regression-' + fit[count] + '.eps', format='eps', dpi=1000, bbox_inches = 'tight', pad_inches = 0)
fig1.savefig('../../Illustrations/linear-regression-' + fit[count] + '.pdf', format='pdf', dpi=1000, bbox_inches = 'tight', pad_inches = 0)
fig1.savefig('../../Illustrations/linear-regression-' + fit[count] + '.png', dpi=1000, bbox_inches = 'tight', pad_inches = 0)
plt.show()

短小精悍的《百页机器学习》是一本不错的机器学习工具手册,有理论有代码,是一个不错的选择。

话不多说,开始学习吧~

相关文章
|
27天前
|
机器学习/深度学习 数据采集 人工智能
探索机器学习:从理论到Python代码实践
【10月更文挑战第36天】本文将深入浅出地介绍机器学习的基本概念、主要算法及其在Python中的实现。我们将通过实际案例,展示如何使用scikit-learn库进行数据预处理、模型选择和参数调优。无论你是初学者还是有一定基础的开发者,都能从中获得启发和实践指导。
42 2
|
1月前
|
机器学习/深度学习 数据采集 人工智能
揭秘AI:机器学习的魔法与代码
【10月更文挑战第33天】本文将带你走进AI的世界,了解机器学习的原理和应用。我们将通过Python代码示例,展示如何实现一个简单的线性回归模型。无论你是AI新手还是有经验的开发者,这篇文章都会给你带来新的启示。让我们一起探索AI的奥秘吧!
|
2月前
|
数据采集 移动开发 数据可视化
模型预测笔记(一):数据清洗分析及可视化、模型搭建、模型训练和预测代码一体化和对应结果展示(可作为baseline)
这篇文章介绍了数据清洗、分析、可视化、模型搭建、训练和预测的全过程,包括缺失值处理、异常值处理、特征选择、数据归一化等关键步骤,并展示了模型融合技术。
87 1
模型预测笔记(一):数据清洗分析及可视化、模型搭建、模型训练和预测代码一体化和对应结果展示(可作为baseline)
|
2月前
|
机器学习/深度学习 人工智能 算法
揭开深度学习与传统机器学习的神秘面纱:从理论差异到实战代码详解两者间的选择与应用策略全面解析
【10月更文挑战第10天】本文探讨了深度学习与传统机器学习的区别,通过图像识别和语音处理等领域的应用案例,展示了深度学习在自动特征学习和处理大规模数据方面的优势。文中还提供了一个Python代码示例,使用TensorFlow构建多层感知器(MLP)并与Scikit-learn中的逻辑回归模型进行对比,进一步说明了两者的不同特点。
80 2
|
2月前
|
JSON 测试技术 API
阿里云PAI-Stable Diffusion开源代码浅析之(二)我的png info怎么有乱码
阿里云PAI-Stable Diffusion开源代码浅析之(二)我的png info怎么有乱码
|
2月前
|
机器学习/深度学习 算法 API
【机器学习】正则化,欠拟合与过拟合(详细代码与图片演示!助你迅速拿下!!!)
【机器学习】正则化,欠拟合与过拟合(详细代码与图片演示!助你迅速拿下!!!)
|
3月前
|
机器学习/深度学习 算法 数据挖掘
从菜鸟到大师:Scikit-learn库实战教程,模型训练、评估、选择一网打尽!
【9月更文挑战第13天】在数据科学与机器学习领域,Scikit-learn是不可或缺的工具。本文通过问答形式,指导初学者从零开始使用Scikit-learn进行模型训练、评估与选择。首先介绍了如何安装库、预处理数据并训练模型;接着展示了如何利用多种评估指标确保模型性能;最后通过GridSearchCV演示了系统化的参数调优方法。通过这些实战技巧,帮助读者逐步成长为熟练的数据科学家。
126 3
|
3月前
|
机器学习/深度学习 人工智能 算法
ML.NET:一个.NET开源、免费、跨平台的机器学习框架
ML.NET:一个.NET开源、免费、跨平台的机器学习框架
|
4月前
|
机器学习/深度学习 资源调度 分布式计算
阿里PAI-ChatLearn:大规模 Alignment高效训练框架正式开源
PAI-ChatLearn现已全面开源,助力用户快速、高效的Alignment训练体验。借助ChatLearn,用户可全身心投入于模型设计与效果优化,无需分心于底层技术细节。ChatLearn将承担起资源调度、数据传输、参数同步、分布式运行管理以及确保系统高效稳定运作的重任,为用户提供一站式解决方案。
|
4月前
|
机器学习/深度学习 数据采集 算法
机器学习到底是什么?附sklearn代码
机器学习到底是什么?附sklearn代码