我有这个关于 ML 的基本查询,并想获得关于使用 ML 和 Python 建模预测模型的基本想法。
假设我有 1000 个项目的训练数据
Item_name, Attrib_1, Attrib_2, Attrib_3,.... Attrib_N, 成本
我的目标是创建一个模型来预测给定属性的新项目的成本。
那么我应该从哪里开始以及预测和解决这个问题的不同方法是什么?另外如何评估不同的方法?
我有这个关于 ML 的基本查询,并想获得关于使用 ML 和 Python 建模预测模型的基本想法。
假设我有 1000 个项目的训练数据
Item_name, Attrib_1, Attrib_2, Attrib_3,.... Attrib_N, 成本
我的目标是创建一个模型来预测给定属性的新项目的成本。
那么我应该从哪里开始以及预测和解决这个问题的不同方法是什么?另外如何评估不同的方法?
您尝试解决的 ML 问题类型是回归问题。本质上,给定您的属性,预测一个连续变量。
有多种方法可以解决您的问题,但是(假设属性是数字的)它们都归结为“绘制数据点,然后在它们之间画一条线”。不同的方法基于各种不同的误差度量来计算该预测器的位置;最基本的可能是最小二乘,旨在最小化平方误差的总和。
Metacademy 是一个很棒的在线学习 ML 相关内容的网站,因为它们提供了路线图,告诉您在学习 ______ 之前需要学习什么,以及如何学习这些先决条件。
这是线性回归元学院页面的链接,这是您要开始的地方。我建议观看 Andrew Ng 的 coursera 视频。如果您刚刚开始使用 ML,那么他的课程是一个精彩的介绍。但是,对于 coursera 课程的一个常见抱怨是它太浅了,并且被视为机器学习的概述。如果你认为自己更精通数学,我听说斯坦福课程(也由他教授)可能对你来说是更深入的资源。
您应该首先实现自己的基本线性回归,以便更深入地了解它的工作原理。之后,您可以只使用一个名为 scikit learn 的 python ML 库来执行回归(链接在这里)。我强烈建议您对所有 ML 算法都采用这种方法;努力至少了解算法在基本层面上是如何工作的。对于刚开始学习 ML 的人来说,看到 scikit learn 中所有已实现的算法继续将算法用作黑匣子,而不了解算法实际在做什么,这太容易了。
最后,为了评估不同的方法,您应该将数据集分成两个不同的部分;用于训练模型的训练集,然后是用于测试预测准确度的测试集。这里的想法是您的数据代表您将看到的“狂野”数据,因此通过故意隐藏一些数据,您可以有效地模拟算法在“现实世界”条件下的表现。
一般来说,人们会使用 70% 的数据用于训练,30% 的数据用于测试。稍后,当您进入具有多个参数的复杂模型时,这将有助于将您的数据分成 3 部分:训练,用于训练模型,验证,用于调整模型参数,最后是测试集,用于测量模型的准确性如何。
祝你好运!