学习机器学习,最终还是要投身于真实的项目实例,一切基础知识的学习,都是为了最终投身于实践,为现实中真实的项目服务。现对机器学习案例步骤及实现方法进行简单介绍如下:
A、【一般项目流程】:
(1)观察数据大背景
(2)得到数据
(3)单变量分析,发现和可视化数据,以获得洞察力,对数据进行可视化
(4)数据分类及过滤,为机器学习算法准备数据
(5)选择合适的模型进行数据拟合,实现训练
(6)模型评估并调整模型
(7)解决方案
(8)启动、监视和维护您的系统
B、【数据来源】:
在我们进行案例实践之前,我们需要提前获取于案例相关的数据。在进行机器学习中,最好是利用真实世界的数据进行实验,而不是人工数据集,幸运的是,有成千上万的开放数据集可供选择,这些数据集分布在各个领域,你可以从以下几个地方获取数据。
· 流行的开放公共数据存储库
(1)UC Irvine Machine Learning Repository
(2)Kaggle datasets
(3)Amazon’s AWS datasets
· 元数据门户(公开的数据列)
(1)Data Portals
(2)OpenDataMonitor
(3)Quandl
· 其他流行的开放数据存储库
(1)Wikipedia’s list of Machine Learning datasets
(2)Quora.com
(3)The datasets subreddit
当然除此之外,你也可以使用python自带的sklearn包(机器学习包)中自带的数据集进行模型训练。
C、数据预处理——数据清洗
由于在实际案例数据中,大部分机器学习算法无法处理存在缺失值的数据特性,因此我们需要对缺失值进行处理。
1)数值型数据预处理
【处理缺失值的方法】:
Option1:去掉相应的缺失值区域;
Option2:去掉整个属性;
Option3:将值设为某个值(0,中位数,平均数等)。
Option4:Scikit-Learn类有提供一个SimpleImputer类来处理缺失值
具体应用:
housing.dropna(subset=["total_bedrooms"]) # option 1
housing.drop("total_bedrooms", axis=1) # option 2
housing["total_bedrooms"].median(