回归简介
在本章中,我们将继续讨论监督机器学习中的另一项主要任务,即回归。
分类总是很好的起点,因为它在逻辑上是直观的。
"这是一张图片。告诉我它里面有什么物体。"
"这是一封电子邮件。告诉我它是垃圾邮件还是垃圾邮件。"
"这是医学测试的一些测量结果。告诉我这个人是否患有某种疾病。"
回归也非常直观,且展现方式更直观。比如:
这就是回归的全部。 “这里有一些点,现在告诉我适合这些点的线条或曲线。”
参考资料
- 技术支持qq群630011153 144081101
- 本文最新版本地址 https://china-testing.github.io/ml_quick1.html
- 本文涉及的python测试开发库 谢谢点赞!
- 本文相关海量书籍下载
- 2018最佳人工智能机器学习工具书及下载(持续更新)
- 本教程视频介绍 https://itbooks.pipipan.com/fs/18113597-367675945
- 入门教材 https://itbooks.pipipan.com/fs/18113597-314076882
- 本教程目录 https://china-testing.github.io/ml_quick.html
回归与分类有何不同?
分类意味着您正在预测某个类别。
回归意味着你在预测数字。这个数字通常是线上的数字。
在回归中,数字实际上确实有意义。
- 示例1:高度与权重
通过身高体重。或相反亦然。
当然,身材较高的人体重更大,因此体重更重。这种相关性并不完美,但多数情况确实如此。
例如,您可以想象恐龙的重量远远超过蚂蚁。
- 示例2:房价预测
房屋的价格可能与居民区的平均家庭收入以及该社区的犯罪率有关。它可能还取决于它的大小,它有多少卧室以及最后一次翻新的属性。当你有多个维度时,你预测的东西不再是一条线。
- 示例3:预测股票
股票市场的“规则”之一是你应该低买高卖。这样,你总能得到比你投入更多的钱。但很多人有情绪和恐惧。
分析会关注过去10天该股票的价格和新闻等。
代码简介
X是形状NxD的2D阵列,Y是长度为N的1D阵列.N =样本数,D =输入特征数。
首先,我们实例化模型。假设我们正在使用线性回归。
model = LinearRegression()
然后,我们通过调用fit并传入X和Y来训练模型。
model.fit(X, Y)
我们还可以通过调用预测函数来进行新的预测。
predictions = model.predict(X)
最后,我们可以通过调用score函数来评估模型。
model.score(X, Y)
一个细微差别是得分函数不再返回准确度,这只有在我们进行分类时才有意义。因为准确度只是#correct / #total。
当我们有标签时,这是有道理的,因为如果你猜对了标签,那么你是正确的,否则,你不是。但对于回归,这没有意义。准确性可能不是最好的评估指标。通常,衡量回归模型性能的一种方法是使用均方误差(MSE mean squared error)。