首页
课程详情
师资团队
新闻资讯
开班报名
关于云脉
Java
Web
UI
数据分析
软件测试
Python
大数据
网络工程
机器学习(一)

本次将从以下步骤完成一个机器学习项目

1,问题分析

2,获得数据

3,从数据探索和可视化中获得洞见

4,机器学习算法的数据准备

5,选择和训练模型

6,微调模型

7,启动、监控和维护系统


一,问题分析


首先应该明确业务目标是什么,因为建立模型本身可能不是***终目标。公司需要知道如何使用这个模型,如何从中获利。这才是***重要的问题,因为这将决定你怎么设定问题,选择说明算法,使用什么测量方法来评估模型的性能,以及应该花多少精力来进行调整。

其次是选择性能指标,回归问题的典型性能衡量指标是均方根误差(RMSE),平均******误差(MAE),标准差(SD)

RMSE

Root Mean Square Error,均方根误差

是观测值与真值偏差的平方和与观测次数m比值的平方根

是用来衡量观测值同真值之间的偏差


MAE

Mean Absolute Error ,平均******误差

是******误差的平均值

能更好地反映预测值误差的实际情况


SD

Standard Deviation ,标准差

是方差的算数平方根

是用来衡量一组数自身的离散程度


二,获取数据

数据下载,我们可以去一些开源数据网站下载数据,也可以自行爬取一些数据,但一定要保证数据的真实性。我们从这里下载。

数据加载,我们使用Pandas加载数据


1 import pandas an pd

2 def load_housing_data(housing_path):

3    return pd.read_csv(housing_path)


这个函数会返回一个包含所有数据的Pandas DataFrame对象。


3.快速查看数据结构

1)head()方法,查看前n行数据,默认前5行数据


1 housing = load_housing_data(HOUSING_PATH)

2

3 print(housing.head())



(2)info()方法,快速获取数据集的简单描述,特别是总行数、每个属性的类型和非空值的数量


print(housing.info())



数据集中包含20640个实例,以机器学习的标准来看,这个数字非常的小,但却是个完美的开始,需要注意的是,total_bedrooms这个属性只有20433个非空值,这意味着有207个区域缺失这个特性。我们后面需要考虑这一点。

所有属性的字段都是数字,除了ocean_proximity。它的类型是object,因此它可以是任何类型的python对象。


(3)value_counts()方法,查看有多少中分类存在,每种类别下分别有多少个区域。


1 vc = housing[‘ocean_proximity’].value_counts()


3 print(vc)


(4)describe()方法,可以显示数值属性的摘要。


print(housing.describe())



count—总行数

mean—平均值

min—***小值

max—******值

std—标准差,用来测量数值的离散程度

25%、50%和75%--百分位数,表示一组观测值中给定百分比的观测值都低于该值。


(5)直方图,用来显示给定值范围(横轴)的实例数量(纵轴)。

使用hist()方法绘制每个属性的直方图。


1 import matplotlib.pyplot as plt

2 housing.hist(bins=50,figsize=(20,15))

3 plt.show()


        

bins-每张图柱子的个数

figsize-每张图的尺寸






©2021 版权所有 技术支持:龙采科技
校区地址:哈尔滨市南岗区华润大厦10层
咨询热线:0451-51098402
备案号:黑ICP备2021003952号