用于实现欺诈检测机器学习算法的 Python 或 R

数据挖掘 机器学习 r Python
2021-09-28 17:34:50

我想知道我可以使用哪种语言:R 或 Python,在网上银行系统中进行欺诈检测的实习:我必须构建预测交易欺诈的机器学习算法(NN 等)。非常感谢您的回答。

2个回答

我想说这是您的选择,完全取决于您对语言的舒适度(或学习的愿望)。两种语言都有广泛的软件包/库生态系统,包括一些可用于欺诈检测的生态系统。我认为异常检测是该主题的主题。因此,以下资源说明了每个生态系统中任务的各种方法、方法和工具。

Python 生态系统

  • scikit-learn图书馆:例如,请参阅此页面
  • LSAnomaly, 一个 Python 模块,改进OneClassSVM(一个替代品):见这个页面
  • Skyline: 一个开源的实现例子,见它的 GitHub repo
  • StackOverflow相关讨论
  • pyculiarity,Twitter 的 AnomalyDetection R 包的 Python 端口(如“Twitter 的异常检测包”下面的 R 生态系统的第二个项目符号中所述)。

R 生态系统

其他一般信息

这在很大程度上是一个主观问题。试图列出一些对我来说似乎客观的标准:

  • Python 的重要优点是它是一种通用语言。如果您需要对程序进行统计之外的任何其他操作(生成 Web 界面,将其与报告系统集成,将其传递给其他开发人员进行维护),那么使用 Python 会好得多。

  • R 的重要优势在于它是一种专门的语言。如果您已经知道要使用一种技术,并且它不是通常的嫌疑人(如 NN),那么您可能会在 CRAN 中找到一个让您的生活更轻松的库。

这是另一个更主观的建议:

  • 两种语言都不是真正以性能为导向的。如果你需要处理大量的数据,或者处理速度非常快,或者并行处理,你就会遇到麻烦……但是使用 R 遇到这样的麻烦要比使用 Python 容易得多。以我的经验,你会在几周内发现 R 的极限,而推动极限的方法非常神秘。虽然您可以使用 Python 多年,但永远不会真正错过 C 开发人员一直称为圣杯的速度,即使您这样做了,您也可以使用 Cython 来弥补差异。唯一真正的问题是并发性,但对于统计数据来说,这几乎不是问题。