zoukankan      html  css  js  c++  java
  • kaggle 利用linear regression 进行房价预测

    附上题目链接:https://www.kaggle.com/c/house-prices-advanced-regression-techniques/leaderboard#score

      最近在做机器学习方面的项目,因此把kaggle上的一些项目拿来练手。预测房价是我做的第一个题目,在这里分享一下做题过程中遇到的问题。

    本次采用没有正则化项的正规方程法来拟合模型。

    1. 数据处理

      题目素材中给出了大量用文本来描述的特征,因此要转换成数字量。这其中分为两类,

      (一) 例如“poolQc" ,"roofstyle"这样的类的特征标可以用来形容“质量好坏”或是“好的程度”,因此可以把这样的文本类型根据其所表达的“程度”映射成数字。用的是pandas包里的map函数,其本质是自动将选定的columns中的值转换成参数字典中的映射值。

    housing['LotShape'] = housing['LotShape'].map({'Reg': 0, 'IR1': 1, 'IR2': 2, 'IR3': 3})

      (二) 另外一部分类的特征标不能反映程度的好坏,这样的columns我们可以采用独热编码(或者叫转化成哑变量),但是非常坑的是kaggle网站把test和train分成两个文件给出,而这两个文件的中有好几个类的并不包括所有的特征标,这就不能简单的对train或者test进行独热编码,需要在处理的时候把所有的特征标可能性都列出。 详细做法可以参照 : https://blog.csdn.net/qq_43404784/article/details/89486442

      (三) train文件和test文件的特征处理方式要相同

    2. 模型改进 

      我的做法进行预测后提交到kaggle后的分数是0.191多,看了下高分的做法,发现不仅可以使用原材料中给出的特征,还可以根据实际经验将特征进行组合或事丢弃,这方面深挖了也会涉及很多东西,以后有时间接着更新

  • 相关阅读:
    lombok介绍
    idea 离线安装 lombok插件
    Java中Lambda表达式的使用
    接口里的default,static方法
    Maven多环境配置实战 filter
    redis lua脚本学习
    redis的安装
    jdbc插入或查询数据库时间总是比实际时间少8小时原因
    [设计模式]单件模式
    [设计模式]命令模式
  • 原文地址:https://www.cnblogs.com/XieJunWei666/p/14036006.html
Copyright © 2011-2022 走看看