7 个让你惊叹的数据科学 Python 库!最后一款真棒!

Posted Python学习与数据挖掘

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了7 个让你惊叹的数据科学 Python 库!最后一款真棒!相关的知识,希望对你有一定的参考价值。

欢迎关注 ,专注Python、数据分析、数据挖掘、好玩工具!

随着数据科学及其应用的迅猛发展,许多数据库、框架和工具包也被研发出来,这些库、框架和工具包让程序员的工作变得更加便捷、更轻松。

在今天的文章中,我将分享 7 个这样的工具包,它们在工作中不仅被广泛使用,而且可以帮助改进工作流程。

1、Pandas_ml

Pandas_ml 是这样一个 Python 库,它集成了 Pandas、scikit_learn 和 XGBoost 。这意味着我们可以在同一个地方使用一个库进行数据预处理、实现机器学习算法和梯度增强。

我们还可以使用该库进行数据可视化。

安装
pip install pandas_ml
案例
>>> import pandas_ml as pdml

>>> df = pdml.ModelFrame({'A': [1, 2, 3], 'B': [2, 3, 4],
...                       'C': [3, 4, 5]}, index=['a', 'b', 'c'])
>>> df
   A  B  C
a  1  2  3
b  2  3  4
c  3  4  5

>>> type(df)
<class 'pandas_ml.core.frame.ModelFrame'>

更多实战案例可以查看

https://pandas-ml.readthedocs.io/en/stable/modelframe.html

2、Imbalanced-learn

不平衡的数据集,即数据集中的类别数据量不均衡,在进行分类时可能会出现问题。

这个 Python 库可以通过重新采样并使数据集保持平衡,来解决数据不平衡的问题。使用 imbalanced-learn 所需的依赖项包括SciPy、NumPy、Scikit-learn 和 joblib。

pip install imbalanced-learn

更多详情可以查看

https://imbalanced-learn.org/stable/

3、Pyflux

Pyflux 是一个 Python 库,它用于处理与时间序列分析相关的问题。该库提供了大量可信的时间序列模型,如 ARIMA、GARCH和VAR,这使得处理时间序列问题变得更加容易。

pip install pyflux
案例
import numpy as np
import pandas as pd
import pyflux as pf
from datetime import datetime
import matplotlib.pyplot as plt
%matplotlib inline

data = pd.read_csv('https://vincentarelbundock.github.io/Rdatasets/csv/datasets/sunspot.year.csv')
data.index = data['time'].values
model = pf.ARIMA(data=data, ar=4, ma=4, target='sunspot.year', family=pf.Normal())
x = model.fit("MLE")
x.summary()

ARIMA(4,0,4)
======================================== ============================================
Dependent Variable: sunspot.year         Method: MLE
Start Date: 1704                         Log Likelihood: -1189.488
End Date: 1988                           AIC: 2398.9759
Number of observations: 285              BIC: 2435.5008
=====================================================================================
Latent Variable      Estimate   Std Error  z        P>|z|    95% C.I.
==================== ========== ========== ======== ======== ========================
Constant             8.0092     3.2275     2.4816   0.0131   (1.6834 | 14.3351)
AR(1)                1.6255     0.0367     44.2529  0.0      (1.5535 | 1.6975)
AR(2)                -0.4345    0.2455     -1.7701  0.0767   (-0.9157 | 0.0466)
AR(3)                -0.8819    0.2295     -3.8432  0.0001   (-1.3317 | -0.4322)
AR(4)                0.5261     0.0429     12.2515  0.0      (0.4419 | 0.6103)
MA(1)                -0.5061    0.0383     -13.2153 0.0      (-0.5812 | -0.4311)
MA(2)                -0.481     0.1361     -3.533   0.0004   (-0.7478 | -0.2142)
MA(3)                0.2511     0.1093     2.2979   0.0216   (0.0369 | 0.4653)
MA(4)                0.2846     0.0602     4.7242   0.0      (0.1665 | 0.4027)
Sigma                15.7944
=====================================================================================

更多内容可以查看

https://pyflux.readthedocs.io/en/latest/arima.html

4、Statsmodels

这个 Python 库的主要焦点是实现不同的纯统计模型。它建立在 NumPy 和 Scipy 等库的基础上,并使用 Pandas 进行数据处理。

使用此库,可以比 Numpy 或 Scipy 更快、更高效地实现高级统计模型。

安装
pip install statsmodels

5、Ipyvolume

Ipyvolume 是一个 Python 库,用于在 Jupyter notebook 中以最小的工作量实现数据的三维可视化,它是一款优秀的可视化库。

安装
pip install ipyvolume

更多内容参考

https://ipyvolume.readthedocs.io/en/0.3.0/

6、Surprise

该库大致是基于 scikit-learn 构建的简单 Python 推荐系统引擎的缩写。顾名思义,它是为用 python 构建简单的推荐系统而设计的。

这个库有大量现成的预测算法,还附带了内置的数据集,这些数据集对于设计推荐系统非常有帮助。

此外,它还提供了分析和比较性能以及调整超参数的工具。

安装
pip install scikit-surprise
案例
from surprise import AlgoBase
from surprise import Dataset
from surprise.model_selection import cross_validate


class MyOwnAlgorithm(AlgoBase):

    def __init__(self):

        # Always call base method before doing anything.
        AlgoBase.__init__(self)

    def estimate(self, u, i):

        return 3


data = Dataset.load_builtin('ml-100k')
algo = MyOwnAlgorithm()

cross_validate(algo, data, verbose=True)

7、Dabl

Dabl 可用于自动化重复任务,如数据预处理、数据清理和特征工程等。

在这里,我们可以找到一些预构建的机器学习模型,这使得初学者在不太了解代码的情况下更容易执行它们。

安装
pip install dabl
案例
import dabl
import pandas as pd
data = pd.read_csv(dabl.datasets.data_path("adult.csv.gz"))
ec = dabl.SimpleClassifier(random_state=0).fit(data, target_col="income") 
dabl.explain(ec) 

更多内容参考

https://dabl.github.io/0.2.2/user_guide.html

结论

我们已经讨论了用于数据科学的7个非常棒的 python 库。这些库可以使工作流程更轻松。这些库中的大多数都是开源,可以从社区获得良好的支持。


技术交流

欢迎转载、收藏、有所收获点赞支持一下!


目前开通了技术交流群,群友超过2000人,添加方式如下:

如下方式均可,添加时最好方式为:来源+兴趣方向,方便找到志同道合的朋友

  • 方式一、发送如下图片至微信,进行长按识别,回复加群;
  • 方式二、直接添加小助手微信号:pythoner666,备注:来自CSDN
  • 方式三、微信搜索公众号:Python学习与数据挖掘,后台回复:加群

以上是关于7 个让你惊叹的数据科学 Python 库!最后一款真棒!的主要内容,如果未能解决你的问题,请参考以下文章

分享 | 10个让你惊叹的Linux命令

4类数据科学工作和8个让你被录用的技能

这10个让你笑的合不拢腿的GitHub项目,居然拿了7万星!

✨ 7 个让你的 console.log() 输出脱颖而出的提示和技巧

✨ 7 个让你的 console.log() 输出脱颖而出的提示和技巧

10个让你爱不释手的Python开源框架