一说起机器学习,同学们的第一反应一般是:哇,机器学习这么高大上的技术,一定很难吧。
python与机器学习说实话,机器学习的理论知识,对于非科班出身的同学们来说,确实就像是天书一样,小编还记得以前硬啃西瓜书从入门到放弃的惨痛经历。
但是,还好,我们有python这个强大的工具。有了python,机器学习不再痛苦。
今天,咱们就来学习一下,如何用25行python代码,实现一个简单的机器学习项目。
python环境
python环境肯定是必须的啦,推荐使用python3.x,比如小编电脑上安装的就是python3.7
为什么不推荐python2呢,因为,python官方宣布年1月后不再更新维护Python2了。
机器学习lib包
python里面有3个极其强大的机器学习lib包,小编喜欢把他们称作”机器学习三剑客“:
1)numpy:简称np,主要用于矩阵计算。听到矩阵两个字,是不是又感觉很难了,不要急,这个机器学习项目不涉及矩阵计算~
2)pandas:简称pd,它是基于NumPy的一种工具,该工具是为了解决数据分析任务而创建的。Pandas纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具和方法。听起来也挺复杂的,不过大家也不用担心,我们只是用它来读取csv文件~
3)sklearn:原文是scikit-learn(简称sklearn)它是基于Python语言的机器学习工具,里面有各种模型,各种工具,基本上都是几行代码就可以实现c++里面极其复杂的功能,堪称“神器“.
这几个包的安装,推荐是使用pip来安装,网速不快的话,可以使用国内的源~,具体方法本文就不再详述了,百度一下有茫茫多的教程。
项目背景
在泰坦尼克沉船事故中,有些乘客遇难,有些乘客则成功获救。
训练数据集中记录了乘客的个人信息以及是否获救,
我们需要根据这些数据尝试训练合适的模型,用于预测测试集中的乘客是否可以获救。
这个问题本质上是一个二分类的问题。
数据集说明
数据集分为训练集和测试集,字段共有12个:
PassengerId,乘客ID
Survived,是否获救
Pclass,舱位等级
Name,乘客名称
Sex,性别
Age,年龄
SibSp,兄弟姐妹个数
Parch,父母小孩个数
Ticket,船票文本信息
Fare,票价
Cabin,客舱
Embarked登船港口
其中,Survived字段就是我们要预测的字段,取值为0或者1。
下面看一段数据:
train.csv:
PassengerId,Survived,Pclass,Name,Sex,Age,SibSp,Parch,Ticket,Fare,Cabin,Embarked
1,0,3,Braund,Mr.OwenHarris,male,22,1,0,A/,7.25,,S
2,1,1,Cumings,Mrs.JohnBradley(FlorenceBriggsThayer),female,38,1,0,PC,71.,C85,C
3,1,3,Heikkinen,Miss.Laina,female,26,0,0,STON/O2.,7.,,S
test.csv:
PassengerId,Pclass,Name,Sex,Age,SibSp,Parch,Ticket,Fare,Cabin,Embarked
,3,Kelly,Mr.James,male,34.5,0,0,,7.,,Q
,3,Wilkes,Mrs.James(EllenNeeds),female,47,1,0,,7,,S
,2,Myles,Mr.ThomasFrancis,male,62,0,0,,9.,,Q
tobecontinued
由于篇幅限制,第一部分的文章小编就先写到这里了。在第一部分里面,我们介绍了python环境,机器学习lib包,项目背景以及数据集。
明天会发布《25行python代码实现一个机器学习项目-第二部分》,在第二部分中,我们将会详细讲解这25行代码,请大家持续