北大青鸟:Python机器学习介绍 - 图文 下载本文

只要在终端中输入 jupyter notebook,就可以打开如下图所示的浏览器页面:

你可以把代码写在绿色矩形中,而且可以交互式地编写并评价 Python 代码。 现在你已经安装了所有的工具。我们开始吧! 数据探索

探索数据是第一步。你需要从 Kaggle 的 Titanic 页面下载数据,然后将下载的数据放到你启动 Jupyter 笔记本的文件夹中。 然后导入必要的库: import numpy as np import pandas as pd

import matplotlib.pyplot as plt import seaborn as sns import warnings

warnings.filterwarnings('ignore') %matplotlib inline 载入数据:

train_df=pd.read_csv(\train_df.head() 输出如下:

这就是我们的数据。它有下面几列:

PassengerId,乘客的标识符; Survived,他(她)是否存活了下来;

Pclass,舱室类别,也许 1 表示经济舱,2 表示商务舱,3 表示头等舱; Name,乘客的名字; Sex,性别; Age,年龄;

? ? ? ? ? ?

?

SibSp,即兄弟姐妹(siblings)或配偶(spouses),表示在船上的兄弟姐妹以及配偶的数目;

?

Parch,即父母(Parents)或子女(Children),表示在船上的父母和子女的数目;

? ? ?

Ticket,船票详情;

Cabin,舱号,NaN 表示未知;

Embarked,登船的起始地,S 表示南安普顿(Southampton),Q 表示皇后镇(Queenstown),C 表示瑟堡(Cherbourg) 在探索数据时,常常会遇到数据缺失的问题。我们来看一下 def missingdata(data):

total = data.isnull().sum().sort_values(ascending = False) percent =

(data.isnull().sum()/data.isnull().count()*100).sort_values(ascending = False)

ms=pd.concat([total, percent], axis=1, keys=['Total', 'Percent']) ms= ms[ms[\f,ax =plt.subplots(figsize=(8,6)) plt.xticks(rotation='90')

fig=sns.barplot(ms.index, ms[\plt.xlabel('Features', fontsize=15)

plt.ylabel('Percent of missing values', fontsize=15) plt.title('Percent missing data by feature', fontsize=15) return ms

missingdata(train_df) 我们会看到这样的结果:

舱号、年龄以及登船地的数据都有一些缺失值,而舱号信息有大量的缺失。我们需要对它们进行处理,也就是所谓的数据清理(Data Cleaning)。 数据清理

我们 90% 的时间都花在这上面。我们要针对每一个机器学习项目进行大量的数据清理。当数据清理干净时,我们就可以轻松地进行下一步了,什么都不用担心。