我在另一篇博文中写到了用pandas中的read_csv()函数将csv格式的数据读取为pandas DataFrame对象,接下来就是要对读入的数据集快速的了解,来确定下一步用什么机器学习算法解决问题。常用的方法有下面几种:
快速查看数据结构
使用DataFrame的head() 方法查看数据集的前5行,info()方法可以快速查看数据的描述,特别是总行数、每个属性的类型和非空值的数量,使用value_count()方法可以查看某一种属性的有哪些类别,且每个类别中有多少实例;使用describe()方法展示数值属性的概括。
另一种快速了解数据结构的方法是画出每个数值属性的柱状图,柱状图的纵轴展示了特定范围内的实例的个数。可以一次给一个属性画图,或者对于完整的数据集调用hist()方法,后者会画出每个属性的柱状图。代码如下:
import matplotlib.pyplot as plt
housing.hist(bins=50,figsize(20,15))
plt.show()
创建测试集
理论上创建测试集很简单 :只要随机 挑选一些实例,一般是数据集的20%放到一边:
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]
train