如何知道为机器学习问题选择哪个模型?
“数据正在成为新的商业原材料。”
今天我将通过数据集告诉你们如何知道我需要选择哪种模型。
什么是数据集?
数据集是数据的集合。最常见的情况是,数据集对应于单个数据库表或单个统计数据矩阵的内容,其中表的每一列代表一个特定的变量,每一行对应于相关数据集的给定成员。
让我们看一些以.csv文件形式存在的数据集。
假设我们必须处理这个数据集,其中有许多列和行。第一步是识别数据集中的独立变量和因变量。
因变量(通常称为最后一列数据集中,即这里的最后一列是SalePrice)是在一个科学实验中测试和测量的变量。自变量(其他变量都是独立变量,如Street, LotShape, SaleCondition等)是在科学实验中为了检验对因变量的影响而改变或控制的变量。
现在,我们已经看到了数据集的样子
你需要知道的是,你的问题是回归问题还是分类问题还是聚类问题。
[注意:如果你没有依赖变量,那就意味着它是聚类问题。]
让我们看看没有DV(因变量)的数据集是怎样的
这些数据是在我们的社会调查移动平台上收集的。我们有30万的成员,到目前为止已经收集了15亿5千万的调查结果。
现在,如果您的数据集包含一个因变量,那么您必须看看它是否有连续的结果或分类的结果。
如果它是一个连续的结果,那么你的问题就是一个回归问题。
如果是分类结果那么你的问题就是分类问题。
回归的例子:
这是一个房价数据集,在这个数据集里,有很多行和列。你必须预测销售价格它是因变量,但是,其他的都是自变量。你可以很容易地看到这是回归问题,我们必须在它上面使用一些回归模型,比如-RandomForest, SVR等等。
分类的例子:
现在,看看这个数据集你已经给出了用户ID,性别,年龄,估计工资这些都是独立变量你必须预测如果有新人来他们是否会买新的SUV车。[注:很容易看出这是分类问题,因为所购买的因变量只具有二进制输出0或1,其中1表示购买SUV, 0表示不购买SUV。]
所以,到目前为止,我们通过看数据集得到了足够的概念,我们可以将我们的问题分为回归、分类或聚类。
我怎么知道哪个模型是最好的比如你在做房价预测你要根据几个参数来预测房子的价格。但是,我应该使用哪个模型或者应该插入哪些参数。您所能做的就是使用网格搜索来为您的模型提供最佳的参数。
网格搜索(Grid Search)能做什么?
它将为您的模型找到最优值,比如应该选择哪些参数。您所需要做的就是从Sklearn库导入类。
from sklearn.model_selection import GridSearchCV
在这个世界中没有人能告诉你哪个模型只需看到数据集就能给你最好的性能或准确性。您所能做的就是通过查看数据集来分类您的问题,数据集是线性还是非线性,模型问题是分类,回归或聚类问题。
不要难过,因为你会有备忘单,这可以帮助你检测模型。