机器学习案例详解的直播互动平台——
机器学习训练营(入群联系qq:2279055353)
下期直播案例预告:大数据预测商品的销售量波动趋势
这是“纽约出租车计费问题”的第二篇文章,重点介绍如何对大数据进行清洗整理,以及对整理后的数据进行初步的探索性分析。分析的要旨在于探索变量的分布规律,变量之间的关系等。
数据整理
加载数据子集
包括训练集和检验集在内的“纽约出租车运营”数据,训练集train.csv
特别巨大,包括55,423,855行观测,因此我们仅导入100万行的子集进行分析建模。
import numpy as np # linear algebra
import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)
import sklearn
import seaborn as sns
import matplotlib.pyplot as plt
train = pd.read_csv("../input/train.csv", nrows = 1000000)
test = pd.read_csv("../input/test.csv")
print(train.head())
print(train.describe())
删除缺失行与离群点
在训练集上建立预测模型,首先要检查训练集里是否有缺失值。如果有的话,则删除缺失行。
print(train.isnull().sum().sort_values(ascending=False))
#drop the missing values
train = train.drop(train[train.isnull().any(1)].index, axis = 0)
train.shape
检查目标变量fare_amount
, 根据实际含义删除负值。
train['fare_amount'].describe()
from collections import Counter
Counter(train['fare_amount']<0)
train = train.drop(train[train['fare_amount']<0].index, axis=0)
train['fare_amount'].describe()
接着,我们检查乘客人数变量passenger_count
.
print(train['passenger_count'].describe())
最大值是208个乘客,这是不可能的,所以删除这行观测。
train = train.drop(train[train['passenger_count']==208].index, axis = 0)
print(train['passenger_count'].describe())
查询Google地图得到纽约城的经度、纬度坐标范