当前位置: 首页 > 科技观察

这5个Python库太难做!每个数据科学家都应该知道

时间:2023-03-20 11:15:32 科技观察

Python之所以成为世界上最流行的编程语言之一与其整体及其相关库的生态系统是分不开的。这些强大的库使Python保持活力和高效。作为一名数据科学家,你不可避免地会使用一些Python库来进行项目和研究。除了那些常用的库,还有很多库可以提升你的数据科学研究能力。本文将介绍五个难以理解的Python库。虽然不太好理解,但得到了,可以大大增加自己的功力!1.每个数据科学家在Scrapy的项目都是从处理数据开始的,互联网是最大最丰富,最容易访问的数据库。但遗憾的是,除了通过pd.read_html函数获取数据外,大多数数据科学家在从数据结构复杂的网站上抓取数据时会毫无头绪。网络爬虫通常用于分析网站结构和存储提取的信息,但Scrapy使这个过程比重建网络爬虫更容易。Scrapy的用户界面非常简单易用,但它最大的优点是效率高。Scrapy可以异步发送、调度和处理网站请求,即:在处理和完成一个请求需要时间的同时,它还可以发送另一个请求。Scrapy通过同时向网站发送多个请求,使用非常快速的爬行以最有效的方式迭代网站内容。除了上述优势,Scrapy还使数据科学家能够导出不同格式(如:JSON、CSV或XML)和不同后端(如:FTP、S3或本地)的归档数据。资料来源:unsplash2。Statsmodels应该采用什么样的统计建模方法?每个数据科学家都对此犹豫不决,但Statsmodels是必须了解的选项之一。它可以实现标准的机器学习,如Sci-kitLearn库中没有的重要算法(如:ANOVA和ARIMA),其最有价值的特点在于其详细的处理和信息应用。例如,当数据科学家想要使用Statsmodels来计算一个普通的最小二乘法时,Statsmodels可以提供他需要的所有信息,无论是有用的指标还是有关系数的详细信息。这同样适用于库中实现的所有其他模型,这些模型在Sci-kitlearn中不可用。OLSRegressionResults==============================================================================Dep.Variable:LotteryR-squared:0.348Model:OLSAdj.R-squared:0.333Method:LeastSquaresF-统计:22.20Date:Fri,21Feb2020Prob(F-statistic):1.90e-08Time:13:59:15Log-Likelihood:-379.82No.Observations:86AIC:765.6DfResiduals:83BIC:773.0DfModel:2CovarianceType:nonrobust=================================================================================coefstderrtP>|t|[0.0250.975]----------------------------------------------------------------------------拦截246.434135.2336.9950.000176.358316.510扫盲-0.48890.128-3.8320.000-0.743-0.235np.log(Pop1831)-31.31145.977-5.2390.000-43.199-19.424==============================================================================综合:3.713Durbin-Watson:2.019Prob(综合):0.156Jarque-Bera(JB):3.394Skew:-0.487Prob(JB):0.183Kurtosis:3.003Cond.No.702.===============================================================================对于数据科学家来说,拥有这些信息意义重大,但他们的问题是他们常常相信一个他们并不真正理解的模型,因为高维的数据不够直观,所以在部署数据之前,需要数据科学家对数据和模型有深刻的理解。盲目追求准确度或均方误差等性能指标可能会产生严重的负面后果。Statsmodels不仅具有极其详细的统计建模,还提供了多种有用的数据特征和度量。例如,数据科学家经常进行时间序列分解,这可以帮助他们更好地理解数据,并分析哪些转换和算法更合适,或者他们可以使用pinguin来实现不太复杂但非常准确的统计功能。资料来源:Statsmodels3。Pattern一些成熟完善的网站用来检索数据的方法可能更加具体。在这种情况下,用Scrapy写一个网络爬虫就有点“大材小用”了,而Pattern则是Python中更高级的网络数据挖掘。和自然语言处理模块。Pattern不仅可以无缝集成Google、Twitter和Wikipedia的数据,还可以提供不太个性化的网络爬虫和HTMLDOM解析器。它采用词性标注、n-gram搜索、情感分析和WordNet。无论是聚类分析、分类处理,还是网络分析可视化,经过Pattern预处理的文本数据都可以用于各种机器学习算法中。从数据检索到预处理,再到建模和可视化,Pattern可以处理数据科学过程中的一切,还可以在不同库之间快速传输数据。资料来源:unsplash4。MlxtendMlxtend是一个可以应用于任何数据科学项目的库。它可以说是Sci-kit学习库的扩展,可以自动优化常见的数据科学任务:全自动特征提取和选择。扩展Sci-kit学习库的现有数据转换器,例如集中处理和事务编码器。大量评价指标:包括偏差方差分解(即衡量模型中的偏差和方差)、特征点检测、McNemar检验、F检验等。模型可视化,包括特征边界、学习曲线、PCA交互圈和浓缩图。包含许多Sci-kitLearn库中没有的内置数据集。图像和文本预处理功能,如名称泛化器,可以识别和转换不同命名系统的文本(例如:它可以识别“Deer,John”、“J.Deer”、“J.D.”和“JohnDeer”是相同的).Mlxtend还有非常实用的图像处理功能,比如它可以提取人脸关键点:来源:Mlxtend我们来看看它的决策边界绘制功能:来源:Mlxtend5。REP与Mlxtend相同,REP也可以看做是Sci-对kit-learn库的扩展,但更多的是在机器学习领域。首先,它是一个统一的Python包装器,用于从Sci-kit-learn扩展的不同机器学习库。它可以将Sci-kitlearn与更专业的机器学习库(如XGBoost、Pybrain、Neurolab等)集成。例如,当数据科学家想要将XGBoost分类器转换为Bagging分类器,然后再转换为Sci-kit-learn模型时通过一个简单的包装器,只有REP可以做到,因为没有其他库像这样的算法很容易包装和转换。fromsklearn.ensembleimportBaggingClassifierfromrep.estimatorsimportXGBoostClassifier,SklearnClassifierclf=BaggingClassifier(base_estimator=XGBoostClassifier(),n_estimators=10)clf=SklearnClassifier(clf)此外,REP可以将模型从任何库转换为交叉验证(折叠)和堆叠模型。它具有极快的网格搜索功能和模型工厂,可以帮助数据科学家在同一数据集上高效地使用多个机器学习分类器。将REP和Sci-kitlearn一起使用可以帮助我们更轻松地构建模型。资料来源:Unsplash这五个Python库绝对值得您花时间购买!