美文网首页AI机器学习之路CoreML
训练你的第一个机器学习模型

训练你的第一个机器学习模型

作者: Cyyyyyyyy | 来源:发表于2017-06-14 15:53 被阅读1111次

在之前的文章手把手教你在应用里用上iOS机器学习框架Core ML里,我们用苹果的机器学习框架Core ML和事先训练好的模型,在iOS11上体验了一把机器学习的智能。这些新技术让我对机器学习能给产品设计和开发提供的丰富可能性充满期待。

大家都知道,机器学习是一个充满着复杂数学公式和算法的门槛较高的领域。也许你现在也跟之前的我一样,看着机器学习的大门不知道该怎么迈出第一步。洗脚不用先学游泳,让我用一个不能更简单的例子,告诉你怎么训练出你的第一个机器学习模型。

要解决的问题

机器学习的一个重要应用领域就是事先使用大量数据训练机器,让训练后的机器在面对从未见过的数据时能做出相应的判断。所以我们先准备好要解决的问题和相应的数据。

人的身体的各个属性往往存在联系,身高高的人体重往往会重一些。
这里是一份人的身体数据,它包括了性别、身高和体重三列。我们将用这份数据来训练一个机器学习模型,让他可以根据人的性别和身高预测他的体重。数据详见Data.csv

Gender Height(cm) Weight(kg)
0 163 50
0 163 47
1 169 61
0 163 55
0 163 61
... ... ...

顺带提一下,这份数据是我根据一个规则加上正态分布的随机数生成出来的,生成用的代码是GenerateFakeData.py

开发环境

运行这个例子需要机器上有Python 2.7的开发环境。同时安装好numpy, pandassklearn三个库。
推荐下载Anaconda的Python2.7版本。Anaconda包括了以上所有要用到的东西,还附带了别的科学计算用的库,同时它还提供了一系列库管理的功能,你值得拥有。

训练模型

from sklearn.linear_model import LinearRegression
import pandas as pd

导入要用到的库。

full_data = pd.read_csv("Data.csv")

用pandas库把Data.csv文件里的内容读出来。

model = LinearRegression()
model.fit(full_data[['Gender', 'Height']], full_data["Weight"])

创建一个线性回归的模型,调用它的fit方法训练它,注意我们要用性别和身高预测体重,所以fit方法的第一个参数是性别和身高,第二个参数是体重。

我们来试试这个模型预测的结果吧。

print model.predict([[1, 172]])

传入一个数组[1, 172],我要预测身高172cm男性的体重。

[ 66.811415]

推测体重是66.811415kg。
根据生成数据的逻辑,172cm的男性的体重应该是67kg,与预测的情况基本一致。

这只是个开始

这篇文章提供的内容其实特别特别简单。但我希望通过这篇文章,在尽可能的屏蔽理论细节的情况下,让你以最快的速度训练起自己的第一个机器学习模型。我相信,比起理论,实际的应用更容易激发人的好奇心,让人开始继续深入探索。

这个简单的用性别和身高预测体重的例子就可以提出很多问题。能不能用性别和体重来预测身高?能不能用身高和体重来预测出这个人的性别?在例子里我直接用了线性回归作为模型算法,我没有解释原因,这个算法到底是干什么的?它适合解决什么样的问题?还有没有别的算法?它们都能用来解决什么问题?这一个个问题会引导着你在这个领域的一步步前行。

如果你有兴趣在机器学习的领域走的更远一点,在Kaggle上有个很合适的练习。这个练习提供了一份泰坦尼克号上乘客的名单,包括了乘客的个人信息:性别、年龄、在哪上的船、社会阶层、船票的价格等等等等。我们要做的,是根据这些已知的乘客信息,在判断一个新的乘客是不是会在这个灾难后存活。
如果你有兴趣,你还可以好好逛逛Kaggle,这里有非常多的问题和数据,甚至还有一些带有悬赏的比赛,你也可以找一个你感兴趣的开始你的研究。

如果你想把你生成的机器模型用到自己的iOS应用上,请参阅如何把sklearn机器学习模型转换为Core ML支持的格式

本文所有的代码都已经上传到Github上。

相关文章

  • 手把手教你如何部署深度学习模型

    摘要:本文将讲解如何部署深度学习模型,让你不再对如何快速地将机器学习模型部署到生产中感到困扰 我刚刚训练了机器学习...

  • 客户分群-聚类算法

    机器学习算法分类 有监督学习 有训练样本 分类模型 预测模型 无监督学习 无训练样本 关联模型 聚类模型 聚类算法...

  • 1.1深度学习概述

    机器学习 Machine Learning 机器学习是对研究问题进行模型假设,利用计算机从训练数据中学习得到模型参...

  • 从机器学习中领悟写作训练

    最近我开始接触机器学习方面的内容,让我对写作训练有一些顿悟。 机器学习就是通过海量的数据,训练出模型,然后用模型来...

  • 机器学习ML-策略1-Machine Learning-Stra

    机器学习ML - Strategy 当我们在开发机器学习算法和训练时,我们发现自己的算法和训练模型达到了90%,但...

  • 几个概念

    机器学习是什么?简单地讲,机器学习是给定输入x,通过模型的训练获取所需的输出y,也即训练出函数y(x) 训练集...

  • Create ML - 图像分类(创建图像分类模型)

    训练一个机器学习模型来实现图像分类。 1.概述 图像分类器是一个被训练用来识别图像的机器学习模型。当你给他一个图像...

  • 04-CoreML创建图像分类器模型

    训练机器学习模型来对图像进行分类。 概览 图像分类器是一种机器学习模型,经过训练后,能够用来识别图像。在您提供一张...

  • 基于sklearn的集成分类器

    理论 集成模型 集成分类器模型是综合考虑多种机器学习模型的训练结果,做出分类决策的分类器模型 投票式:平行训练多种...

  • 机器学习sklearn-逻辑回归LogisticRegressi

    前言:参考mlflow提供的examples,使用python sklearn提供机器学习函数,进行模型训练和模型...

网友评论

本文标题:训练你的第一个机器学习模型

本文链接:https://www.haomeiwen.com/subject/zgzsqxtx.html