搜文章
推荐 原创 视频 Java开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发
Lambda在线 > DirCeto > 机器学习的基本步骤实践(波士顿数据集)+机器学习的种类与挑战【代码数据集参见原文链接】

机器学习的基本步骤实践(波士顿数据集)+机器学习的种类与挑战【代码数据集参见原文链接】

DirCeto 2020-08-02

①机器学习的基本步骤


②机器学习的种类

机器学习的基本步骤实践(波士顿数据集)+机器学习的种类与挑战【代码数据集参见原文链接】


③机器学习的挑战

机器学习的基本步骤实践(波士顿数据集)+机器学习的种类与挑战【代码数据集参见原文链接】


《波士顿房价预测实践》:

按步骤走:

  1. 构架问题——房价预测(回归)

    典型的监督学习的回归任务,数据集不大用批量学习即可。

    回归的性能指标:RMSE均方根误差

    要回归的就是:房价(数字)

  2. 获得数据——点击下方原文链接即可获取。

    (下方链接包括代码和数据集,移动至jupyter默认路径可直接使用)

  3. 第一次研究数据——data

    ① 查看数据集的简单描述 data.info()

    机器学习的基本步骤实践(波士顿数据集)+机器学习的种类与挑战【代码数据集参见原文链接】

    ②当然,直接data输出 可以看见前5行和后5行的内容

    机器学习的基本步骤实践(波士顿数据集)+机器学习的种类与挑战【代码数据集参见原文链接】

    ③查看每一列(每种属性)的总数,均值,标准差,最小值,最大值,25%,50%,75%的也可以。data.decribe()

    机器学习的基本步骤实践(波士顿数据集)+机器学习的种类与挑战【代码数据集参见原文链接】

    ④绘制直方图,一个属性(每一列)都可绘制。          data.hist(bins=50,figsize=(20,15))


    机器学习的基本步骤实践(波士顿数据集)+机器学习的种类与挑战【代码数据集参见原文链接】

  4. 处理数据——划分数据集

    (之所以现在划分,接下来的探索我们只能探索训练集,一定要避免数据的窥视,否则一切都失去了意义)

    ①创建测试集,我们希望第一次运行这个split函数的时候,以后都只是  加载已经划分好的了,而不是每次都重新划分,产生不同的数据。

        如何做到这点?手动实现代码中也用 使用的是Hash值方法。

 from sklearn.model_selection import train_test_split

        关于参数:

                test_size = 0.2 我们取20%作为验证集

                random_state=42 随机种子42  这个数无特殊意义

不赘述手动实现,因为sklearn里面自己就有,推荐使用!

机器学习的基本步骤实践(波士顿数据集)+机器学习的种类与挑战【代码数据集参见原文链接】

        5.第二次研究数据——寻找相关性

            (接下来就可以在训练集副本上来研究)

        ①计算出每对属性之间的标准相关系数 copy_train.corr()

机器学习的基本步骤实践(波士顿数据集)+机器学习的种类与挑战【代码数据集参见原文链接】


        ②同样可以画图。你可以看到选择是上面相关性大的前五名

机器学习的基本步骤实践(波士顿数据集)+机器学习的种类与挑战【代码数据集参见原文链接】

机器学习的基本步骤实践(波士顿数据集)+机器学习的种类与挑战【代码数据集参见原文链接】



    6.给算法处理数据——经过了上面的步骤,对数据有了一定的了解。

        还记得那个重要的步骤:使用数据副本

         ①所附数据集无缺失值,此次不处理。

         ②也无文本,有文本要转换为数字

from sklearn.preprocessing import LabelEncoder #文本转数字from sklearn.preprocessing import OneHotEncoder #整数转独热

         出来的是稀疏矩阵,非numpy数组,还需toarray()转换成密集numpy

         实际上上述两个步骤,直接用:

from sklearn.preprocessing import LabelBinarizer

          且默认得到一个密集Numpy数组。

        ③重要的一步:特征缩放。常用的最大最小缩放(归一化)和标准化。

         采用流水线Pipeline ,因为按顺序执行需要一个容器,只是本例中只有这一步在这个容器里。

    ④ 单独提取出y房价 这就是要预测的,这一步是我自己加的 按书上走,少  了这个。


        7.采用不同的模型

from sklearn.linear_model import LinearRegression 线性from sklearn.tree import DecisionTreeRegressor      决策树   from sklearn.ensemble import RandomForestRegressor 随机森林  from sklearn.svm import SVR SVRfrom sklearn.model_selection import cross_val_score 交叉验证评估from sklearn.metrics import mean_squared_error MSE评估

 

其余略,我们还可以查看随机森林的最好参数,还可以进行网格搜索来自动调节....代码中已添加少许注释,但不完善。(提取码:uw21)


版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《机器学习的基本步骤实践(波士顿数据集)+机器学习的种类与挑战【代码数据集参见原文链接】》的版权归原作者「DirCeto」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读