机器学习程序员

一个完整的机器学习项目——代码解析(二)

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:主要是通过行号获取行数据

今天就到这里,继续加油欧!

上一篇下一篇

猜你喜欢

热点阅读