一个完整的机器学习项目——代码解析(二)
2019-04-01 本文已影响30人
追求科技的足球
基于《机器学习实战:基于Scikit-Learn和TensorFlow》
今天完成第二次代码解析,包括数据分析、绘图和创建测试集
1、数据分析
housing = load_housing_data()
print(housing.head())
print(housing.info())
函数作用:
head():方法查看该数据集的前5行
info():快速查看数据的描述,特别是总行数、每个属性的类型和非空值的数量
2、绘图
import matplotlib.pyplot as plt
housing.hist(bins=50,figsize=(20,15))
plt.show()
函数作用:
hist()绘制直方图
bins是指直方图的总个数,个数越多,条形带越紧密 figsize是设置大小
3、创建测试集
import numpy as np
def split_train_test(data,test_ratio):
shuffled_indices = np.random.permutation(len(data)) #随机排列一个序列
test_set_size = int(len(data) * test_ratio) #测试集大小
test_indices = shuffled_indices[:test_set_size] #前面的test_set_size个为测试集
train_indices = shuffled_indices[test_set_size:] #后面的test_set_size个为训练集
return data.iloc[train_indices],data.iloc[test_indices] #返回训练集、测试集
train_set,test_set = split_train_test(housing,0.2)
print(len(train_set),"train+",len(test_set),"test")
函数作用:
np.random.permutation() :随机排列一个序列
[:x]:选取数组前x个
[x:]:选区数组后x个
iloc:主要是通过行号获取行数据
今天就到这里,继续加油欧!