本文共 4030 字,大约阅读时间需要 13 分钟。
python编写函数
数据科学和机器学习的伟大现代斗争之一是“ Python vs. R”。 毫无疑问,近年来两者都已经取得了巨大的发展,成为数据科学,预测分析和机器学习的顶级编程语言。 实际上,根据IEEE最近的一篇文章,Python取代了C ++,成为 ,R牢牢地稳居前10名。
但是,这两者之间存在一些根本差异。 作为用于统计分析和数据分析问题的快速原型制作的工具 。 另一方面,Python是作为通用的现代面向对象语言开发的,与C ++或Java一样,但学习曲线更简单,行为方式更灵活。 因此,R在统计学家,定量生物学家,物理学家和经济学家中仍然非常流行,而Python逐渐成为日常脚本编写,自动化,后端Web开发,分析和通用机器学习框架以及具有广泛的支持基础和开源开发社区的工作。
用户提供了一个非常简单而紧凑的界面,可以快速计算概率以及数据分析问题的基本描述性/推论性统计信息。 例如,仅用一个紧凑的函数调用就能解决以下问题不是很好吗?
R编程环境可以完成所有这些工作。
为了结合两个方面的优势,您只需要一个简单的基于Python的包装器库,其中包含与R样式中定义的概率分布和描述统计有关的最常用函数。 这使您能够真正快速地调用那些函数,而不必进入适当的Python统计库并弄清楚方法和参数的整个列表。
,用于在简单的统计分析中使用Python定义最方便且使用最广泛的R函数。 导入此脚本后,您将可以自然地使用这些R函数,就像在R编程环境中一样。
该脚本的目标是提供模仿R样式统计函数的简单Python子例程,以快速计算密度/点估计,累积分布和分位数,并为重要的概率分布生成随机变量。
为了保持R样式的精神,该脚本不使用类层次结构,并且仅在文件中定义了原始函数。 因此,用户可以通过一个名称调用导入该一个Python脚本并在需要时使用所有功能。
请注意,我使用了mimic这个词。 在任何情况下,我都不会声称要模仿R的真正的函数式编程范例,该范例由深度的环境设置以及这些环境和对象之间的复杂关系组成。 这个脚本使我(我希望无数其他Python用户)能够快速启动Python程序或Jupyter笔记本,导入脚本,并立即开始进行简单的描述性统计。 这就是目标,仅此而已。
如果您已经使用R编写了代码(可能是在研究生院学习),并且刚刚开始学习和使用Python进行数据分析,那么您将很高兴以类似的方式在Jupyter笔记本中看到并使用一些相同的知名函数如何在R环境中使用它们。
无论出于何种原因,使用此脚本都很有趣。
首先,只需导入脚本并开始使用数字列表,就好像它们是R中的数据矢量一样。
from R_functions import * lst = [ 20 , 12 , 16 , 32 , 27 , 65 , 44 , 45 , 22 , 18 ] < more code , more statistics... >
假设您要根据数据点向量计算摘要。 您只需调用一个简单的函数Fivenum ,然后传递向量。 它将在NumPy数组中返回五位数的摘要。
lst = [ 20 , 12 , 16 , 32 , 27 , 65 , 44 , 45 , 22 , 18 ] fivenum ( lst ) > array ( [ 12 . , 18.5 , 24.5 , 41 . , 65 . ] )
也许您想知道以下问题的答案:
假设一台机器每小时平均输出10件成品,标准偏差为2。输出模式遵循近似正态分布。 机器在下一小时内将输出至少7个但不超过12个单位的概率是多少?
答案本质上是这样的:
您可以使用pnorm仅用一行代码来获得答案:
pnorm ( 12 , 10 , 2 ) -pnorm ( 7 , 10 , 2 ) > 0.7745375447996848
或者,您可能需要回答以下问题:
假设您有一枚装满硬币的硬币,每次抛硬币时都有可能将头抬高60%。 您正在玩10投掷游戏。 您如何绘制和绘制该硬币所有可能获胜次数(从0到10)的机会?
只需使用一个函数dbinom ,只需几行代码即可获得一个不错的条形图:
probs = [ ] import matplotlib. pyplot as plt for i in range ( 11 ) : probs. append ( dbinom ( i , 10 , 0.6 ) ) plt. bar ( range ( 11 ) , height = probs ) plt. grid ( True ) plt. show ( )
R提供了非常简单直观的界面,可以根据基本概率分布进行快速计算。 界面如下:
在我们的实现中,我们坚持使用此接口及其关联的参数列表,因此您可以像在R环境中一样执行这些函数。
脚本中实现了以下R样式函数以进行快速调用。
显然,这是一个正在进行的工作,我计划在此脚本中添加其他一些便捷的R函数。 例如,在R中,单行lm可以为您提供具有所有必要推论统计信息(P值,标准误差等)的普通最小二乘拟合模型到数值数据集。 这是非常简短而紧凑的! 另一方面,通常使用解决Python中的标准线性回归问题, 需要更多的脚本编写,因此我计划使用Python的后端合并此单函数线性模型拟合功能。
如果您喜欢并在工作中使用此脚本,请通过加星标或分叉其帮助其他人找到它。 另外,您可以在Python,R或MATLAB以及其他机器学习资源中查看我的其他以获取有趣的代码段。
如果您有任何问题或想法要分享,请通过与我联系。 如果您像我一样对机器学习和数据科学充满热情,请或
最初发表于《 。 根据 。
翻译自:
python编写函数
转载地址:http://cqdzd.baihongyu.com/