美文网首页数据科学家机器学习之旅机器学习
读书|《Mastering Machine Learning w

读书|《Mastering Machine Learning w

作者: 不会停的蜗牛 | 来源:发表于2018-02-02 12:15 被阅读655次

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

    接下来几天读一读 《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 回归通过惩罚系数的大小来处理这个问题。

    持续更新

    相关文章

      网友评论

        本文标题:读书|《Mastering Machine Learning w

        本文链接:https://www.haomeiwen.com/subject/hhhdzxtx.html