【发布时间】:2017-03-09 08:24:40
【问题描述】:
这是我第一次接触机器学习,所以我试图弄清楚这一切是如何运作的。我有一个数据集,其中我汇总了每个球员的所有统计数据,以便与我的高中棒球队一起比赛。我还有一份从我的高中进入 MLB 的所有球员的名单。我想做的是将数据分成训练集和测试集,然后将其提供给 scikit-learn 包中的某个算法,并预测获得 MLB 的概率。
因此,我查看了许多来源并找到了这张备忘单,表明我从线性 SVC 开始。
所以,据我了解,我需要将数据分解为训练样本,其中每一行是一名球员,每一列是关于球员的一段数据(打击率,基本百分比,yada,yada),X_train ;以及每个球员单行的相应真值矩阵,即 1(在 MLB 中打球)或 0(在 MLB 中没有打球),Y_train。从那里,我只做 Fit(X,Y) 然后我可以使用 predict(X_test) 来查看它是否为 Y_test 获得了正确的值。
这似乎是算法、方法和应用程序的合乎逻辑的选择吗?
编辑以提供更多信息: 数据由上场数、安打数、本垒打数、三振出局数等20个特征组成。大部分是球员职业生涯的基本统计数据;一些是击球率等比率。
我有大约 10,000 行可供使用,因此我可以据此拆分数据;但我不知道如何以最佳方式拆分数据,因为有
【问题讨论】:
-
提供有关您的数据的更多信息会很有帮助。它有多少功能?有多少个训练样例?
-
顺便问一下,您是否尝试过应用此备忘单建议的方案?如果是的话,想错了吗?
-
嗨@kraskevich,我已将有关数据集的更多信息编辑到问题中。我没有尝试应用该方案,部分原因是我不确定我是否正确理解了流程图(行 SVC 在分配 1 或 0 输出的概率时是否做了我认为它所做的事情)?部分原因是我想确保在深入研究详细示例之前了解 scikit-learn 工作原理的高级图景。我已经尝试阅读文档,但在理解大局方面没有取得太大进展。
-
我认为你需要让你的问题更具体。截至目前,它对我来说似乎过于宽泛或不清楚。我建议尝试以下方法:选择一个分类器(例如,线性回归。它是最简单的分类器之一)。阅读文档和示例,并使其适用于您的数据。选择一个合适的指标来评估它的性能(这里 f2_score 是一个不错的选择,因为很少有正面的例子)。如果您在此过程中遇到更具体的问题,请询问。
标签: algorithm python-2.7 machine-learning scikit-learn