金钱能让人更快乐吗?手把手教你用机器学习找到答案( 二 )


现在 , (对于线性模型而言)模型基本接近训练数据 , 如图1-19所示 。
金钱能让人更快乐吗?手把手教你用机器学习找到答案文章插图
▲图1-19:最拟合训练数据的线性模型
现在终于可以运行模型来进行预测了 。 例如 , 你想知道塞浦路斯人有多幸福 , 但是经合组织的数据没有提供答案 。 幸好你有这个模型可以做出预测:先查查塞浦路斯的人均GDP是多少 , 发现是22 587美元 , 然后应用到模型中 , 发现生活满意度大约是4.85 + 22 587×4.91×10^(-5) = 5.96 。
为了激发你的兴趣 , 示例1-1是一段加载数据的Python代码 , 包括准备数据 , 创建一个可视化的散点图 , 然后训练线性模型并做出预测 。

  • 示例1-1:使用Scikit-Learn训练并运行一个线性模型
import matplotlib.pyplot as pltimport numpy as npimport pandas as pdimport sklearn.linear_model# Load the dataoecd_bli = pd.read_csv("oecd_bli_2015.csv", thousands=',')gdp_per_capita = pd.read_csv("gdp_per_capita.csv",thousands=',',delimiter='\t',encoding='latin1', na_values="n/a")# Prepare the datacountry_stats = prepare_country_stats(oecd_bli, gdp_per_capita)X = np.c_[country_stats["GDP per capita"]]y = np.c_[country_stats["Life satisfaction"]]# Visualize the datacountry_stats.plot(kind='scatter', x="GDP per capita", y='Life satisfaction')plt.show()# Select a linear modelmodel = sklearn.linear_model.LinearRegression()# Train the modelmodel.fit(X, y)# Make a prediction for CyprusX_new = [[22587]]# Cyprus's GDP per capitaprint(model.predict(X_new)) # outputs [[ 5.96242338]]如果使用基于实例的学习算法 , 你会发现斯洛文尼亚的人均GDP最接近塞浦路斯(20 732美元) , 而经合组织的数据告诉我们 , 斯洛文尼亚人的生活满意度是5.7 , 因此你很可能会预测塞浦路斯的生活满意度为5.7 。
如果稍微拉远一些 , 看看两个与之最接近的国家——葡萄牙和西班牙的生活满意度分别为5.1和6.5 。 取这三个数值的平均值 , 得到5.77 , 这也非常接近基于模型预测所得的值 。 这个简单的算法被称为k-近邻回归(在本例中 , k = 3) 。
要将前面代码中的线性回归模型替换为k-近邻回归模型非常简单 , 只需要将下面这行代码:
import sklearn.linear_modelmodel = sklearn.linear_model.LinearRegression()替换为:
import sklearn.neighborsmodel = sklearn.neighbors.KNeighborsRegressor(n_neighbors=3)如果一切顺利 , 你的模型将会做出很棒的预测 。 如果不行 , 则需要使用更多的属性(例如就业率、健康、空气污染等) , 获得更多或更高质量的训练数据 , 或者选择一个更强大的模型(例如 , 多项式回归模型) 。
简而言之:
  • 研究数据 。
  • 选择模型 。
  • 使用训练数据进行训练(即前面学习算法搜索模型参数值 , 从而使成本函数最小化的过程) 。
  • 最后 , 应用模型对新示例进行预测(称为推断) , 希望模型的泛化结果不错 。
以上就是一个典型的机器学习项目 。
关于作者:奥雷利安·杰龙(Aurélien Géron)是机器学习方面的顾问 。 他曾就职于Google , 在2013年到2016年领导过YouTube视频分类团队 。 他是Wifirst公司的创始人并于2002年至2012年担任该公司的首席技术官 。 2001年 , 他创办Ployconseil公司并任首席技术官 。
本文摘编自《机器学习实战:基于Scikit-Learn、Keras和TensorFlow》(原书第2版) , 经出版方授权发布 。
金钱能让人更快乐吗?手把手教你用机器学习找到答案文章插图
延伸阅读《机器学习实战》(原书第2版)
【金钱能让人更快乐吗?手把手教你用机器学习找到答案】推荐语:“美亚”人工智能畅销榜首图书 , 基于TensorFlow2全面升级 , 内容增加近一倍!Keras之父鼎力推荐 , 从实践出发 , 手把手教你从零开始搭建起一个神经网络 。