继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

读书|《Mastering Machine Learning with Python in Six Steps》

Alice嘟嘟
关注TA
已关注
手记 209
粉丝 75
获赞 279

蜗牛最近精力真是有限,很快就要大考了,不过读书不能停。

接下来几天读一读 《Mastering Machine Learning with Python in Six Steps》这本书。

更完整的思维导图 在整本书结束后,在我的公众号后台回复 MLb01 即可下载。
本文目的为速读,一些重要的知识点有相关历史博文链接,还没有写到的后续也会陆续推出。

如书名  in Six Steps,本书结构也是 6 部分。

step 1: 主要讲了 python 的安装和一些基础。

step 2: 讲了机器学习的发展史,分为 监督式,非监督式,解决问题的基本流程,核心 package 的主要组件。

发展史

常用中间的CRISP-DM流程。

一个框架解决几乎所有机器学习问题
通过一个kaggle实例学习解决机器学习问题

step 3: 机器学习基础,包括 数据的类型,特征工程,数据探索方法,以及回归
/分类/聚类等基础算法。

特征工程怎么做
机器学习算法应用中常用技巧-1
轻松看懂机器学习十大常用算法

step 4: 调优,讲了如何选择合适的模型参数,超参数,Bagging/Boosting/Stacking 等模型融合方法。

Bagging 简述
Adaboost 算法
浅谈 GBDT
详解 Stacking 的 python 实现

step 5: 讲了在文本挖掘方面的应用,包括 数据预处理的常用几种方法,以及如何做 情感分析和推荐系统。

一个 tflearn 情感分析小例子
怎样做情感分析
推荐系统

step 6: 深度学习,简单介绍几种神经网络,FNN,CNN,RNN。

机器学习&人工智能博文链接汇总


step 3:

3.1 数据的类型

对于不同类型的数据,可以通过相应的描述性统计方法来观察数据:


3.2 特征工程

讲了几种基本方法,例如

对缺失数据,

  1. < 5% 时可以删除,2. 用 mean/average or mode
    or median 等值进行代替,3. 用随机数替代, 4. 或者用简单的回归/分类模型预测。

对类别数据,

  1. 可以用 One Hot Encoder 转化,2. 可以用 LabelEncoder() 转化成 0 到
    n_classes-1 的数字

对数据进行规范化,

  1. Normalizing:将数据范围缩到 0 to 1, 2. standardization:将数据转化成标准正态分布的


3.3 数据探索

单变量的可以用 value_counts(), hist(), boxplot() 等方法,

多变量的可以用 Correlation Matrix 看相关关系,

也可以用  matrix of scatter plots 看各对变量间的关系和分布,

通过这些可视化的观察,可以得到一些基本的发现,例如 missing values,各变量的range,变量间相关性等。


3.4 回归

这一部分先讲了几种回归的模型,然后讲了几种诊断。

几种回归的模型

1. Linear regression

在评估模型好坏时,常用指标

机器学习中常用评估指标汇总

  • R-squared:在 0~1 之间,越接近 1 模型越好

  • RMSE

  • MAE

2. Polynomial Regression

可以通过 from sklearn.preprocessing import PolynomialFeatures 实现,用 R-squared 看哪个degree好一些。

3. Multivariate Regression

例如房价就会由 Bedrooms,Bathrms 等多个因素决定。

此处会涉及到 Multicollinearity 多重共线性问题,即多个自变量彼此强相关这时应该只使用其中一个自变量。

可以用 VIF 来检查多重共线性:

方法就是:

  • 1.plot correlation matrix

  • 2.Remove multicollinearity

Pseudo code:
vif = [variance_inflation_factor(X[independent_variables].values, ix)if max(vif) > thresh:del independent_variables[maxloc]
  • 3.Build the multivariate linear regression model

lm = sm.OLS(y_train, X_train).fit()


几种诊断:

1. outliers

通过执行 Bonferroni outlier test,得到 p value < 0.05 为影响精度的异常值。

2. Homoscedasticity and Normality

误差方差应该是常数,且误差应该是正态分布的。

3. Over-fitting and Under-fitting

随着变量数的增加,模型的复杂性增加,过拟合的概率也会增加。

Regularization

是其中一种可以缓解过拟合问题的方法,常用 Ridge 和 LASSO 回归通过惩罚系数的大小来处理这个问题。

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP