Python 绘制哪些数据以了解哪种模型最适合该问题?

Python 绘制哪些数据以了解哪种模型最适合该问题?,python,machine-learning,plot,prediction,Python,Machine Learning,Plot,Prediction,很抱歉,我知道这是一个非常基本的问题,但由于我还是机器学习的初学者,确定什么模型最适合我的问题仍然让我感到困惑,最近我使用了线性回归模型(导致r2_分数很低)一位用户提到,根据我的数据曲线,我可以使用某个模型,当我看到另一位编码员使用随机森林回归器时(导致r2_分数比线性回归模型好30%),我不知道他/她怎么知道更好的模型,因为他/她没有提到它。我的意思是,在我读到的大多数网站中,他们将数据推送到一些他们认为最适合问题的模型中(例如:对于回归问题,模型可以使用线性回归或随机森林回归)但在一些网站

很抱歉,我知道这是一个非常基本的问题,但由于我还是机器学习的初学者,确定什么模型最适合我的问题仍然让我感到困惑,最近我使用了线性回归模型(导致
r2_分数
很低)一位用户提到,根据我的数据曲线,我可以使用某个模型,当我看到另一位编码员使用随机森林回归器时(导致
r2_分数比线性回归模型好30%),我不知道他/她怎么知道更好的模型,因为他/她没有提到它。我的意思是,在我读到的大多数网站中,他们将数据推送到一些他们认为最适合问题的模型中(例如:对于回归问题,模型可以使用线性回归或随机森林回归)但在一些网站和一些人说,首先我们需要绘制数据,以便我们可以预测哪一个模型最适合。我真的不知道应该绘制哪部分数据?我认为使用
seaborn pairplot
可以让我了解曲线的形状,但我怀疑这是正确的方法,我应该实际绘制什么?仅标签本身或特征本身或两者?我怎样才能洞察曲线,从而知道可能的最佳模型呢?

这个问题太笼统了,但我将尝试给出如何选择模型的概述。首先,您应该知道,选择要使用的模型族没有一般规则,它更多的是通过试验不同的模型并查看哪一个模型的结果更好来进行选择。现在您还应该知道,通常情况下,您具有多维特征,因此打印数据不会让您完全了解特征与目标的相关性,但是要检查是否要拟合线性模型,您可以开始打印目标与输入的每个维度,看看是否存在某种线性关系。然而,我建议你拟合一个线性模型,并从统计角度检查这是否相关(学生测试、斯米尔诺夫测试、检查残差…)。请注意,在实际应用中,线性回归不可能是最好的模型,除非你做了大量的特征工程。因此,我建议您使用更先进的方法(RandomForests、XGboost…

如果您使用的是现成的软件包,如
sklearn
,那么许多简单的模型,如SVM、RF等,都只是一行代码,所以在实践中,我们通常会同时尝试几种这样的模型。

是的,我读到一些人一直在说“先绘制数据图”,我认为这可能是一般规则,因为这有点道理,通过绘制曲线,我们可以了解曲线形状,并从中确定最适合的模型(例如线性曲线->线性回归和逻辑曲线->逻辑回归)。根据我自己的经验,我已经这样做了(可以开始绘制目标与输入的每个维度之间的关系,并查看是否存在某种线性关系)我很确定,从图上看,它看起来是线性的,没有分散在各处。但是,线性回归模型不知怎么搞砸了我,我发现随机森林回归器到目前为止工作得最好。我总是需要把数据推到一些模型上吗?在某个问题上,到底有些模型比其他模型工作得更好(随机森林回归法如何比线性回归法更有效)。另外,你有任何链接让我了解更多更先进的方法吗?(很难找到)@potatostudent随机森林比线性回归工作得更好是正常的,线性是你能构造的最简单的,它构造的标签是输入的线性组合,通常是约束性的。同时,随机森林允许你的模型构造非线性关系,因此它具有更大的灵活性。问题是,如果你有太多的灵活性,你会过度拟合火车数据,这就是为什么人们使用corss验证来选择最佳模型。对不起,你说的一个班轮是什么意思?那么更先进的模型适用于多个班轮?你有什么链接让我知道更多关于各种先进模型的信息吗?是的,一个班轮意味着只有一行代码。对于高级模型,它们不仅是多行代码,而且您需要根据问题设计模型。最高级的模型涉及数学推导,但对于大多数人来说,它们只是调整现有模型,例如,找到某类神经网络的模板并调整训练数据的参数。你可以在GitHub中搜索,许多科技博客也会附上他们的代码。