当前位置: 首页 > 工具软件 > handson-ml > 使用案例 >

Hands-on ML学习笔记(一)

危文乐
2023-12-01

Chapter 1

大概简介一下机器学习的内容及分类

Chapter 2 端到端机器学习项目

2.1 使用真实数据

2.2 观察大局

2.3 获取数据

1 获取数据属性

housing.info()  #快速获取数据集的简单描述,注意数据类型及非空值数量

housing.head()  #查看数据集前五行

housing[" "].value_counts() 
#查看分类

housing.describe()
#显示数值属性的摘要

housing.hist(bins=50, figsize=(20,15))
#还可以通过绘制每个属性直方图的方法快速了解数据类型

通过将其他数值属性可视化凸显属性,比如散点图

2 创建测试集

sklearn中提供了一些函数,可以通过多种方式将数据集分成子集,例如:

from sklearn.model_selection import train_test_split

train_set, test_set = train_test_split(housing, test_size=0.2, random_state=42)

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

可视化数据、寻求相关性、试验数据组合


corr_matrix = housing.corr()
#若数据集不大,还可以计算相关系数

# from pandas.tools.plotting import scatter_matrix # For older versions of Pandas
from pandas.plotting import scatter_matrix
#绘制图像检测相关性

2.5 数据准备

2.5.1 数据清洗

处理数值属性——处理缺失值

#用中位数替换缺失值
from sklearn.impute import SimpleImputer
imputer = SimpleImputer(strategy="median")

2.5.2 处理文本和分类属性

——将类别从文本转到数字

from sklearn.preprocessing import OrdinalEncoder

ordinal_encoder = OrdinalEncoder()
housing_cat_encoded = ordinal_encoder.fit_transform(housing_cat)
housing_cat_encoded[:10]

——将类别从文本转到稀疏矩阵

from sklearn.preprocessing import OneHotEncoder

cat_encoder = OneHotEncoder()
housing_cat_1hot = cat_encoder.fit_transform(housing_cat)
housing_cat_1hot

2.5.3 自定义转换器

fit()(returning  self ),  transform() , and  fit_transform()

2.5.4 特征缩放

归一化——MinMaxScaler,标准化——StandadScaler

2.5.5 转换流水线

2.6 选择和训练模型

2.6.1 训练和评估训练集

2.6.2 交叉验证集

2.7 微调模型

网格搜索、随机搜索、集成方法

分析最佳模型及其误差,通过测试集评估系统

 类似资料: