大概简介一下机器学习的内容及分类
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)
可视化数据、寻求相关性、试验数据组合
corr_matrix = housing.corr()
#若数据集不大,还可以计算相关系数
# from pandas.tools.plotting import scatter_matrix # For older versions of Pandas
from pandas.plotting import scatter_matrix
#绘制图像检测相关性
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.1 训练和评估训练集
2.6.2 交叉验证集
网格搜索、随机搜索、集成方法
分析最佳模型及其误差,通过测试集评估系统