当前位置: 首页 > 后端技术 > Python

10AutomaticEDALibraries功能介绍:几行代码的数据分析是不可靠的

时间:2023-03-26 11:29:55 Python

探索性数据分析是数据科学模型开发和数据集研究的重要组成部分之一。当得到一个新的数据集时,首先需要花费大量的时间进行EDA来研究数据集中的固有信息。自动化EDA包可以用几行Python代码执行EDA。在本文中,编译了10个可以自动化EDA并生成有关数据的见解的软件包,以了解它们具有哪些功能以及它们可以帮助我们实现自动化EDA需求的程度。1)DTale2)Pandas-profiling3)sweetviz4)autoviz5)dataprep6)KLib7)dabl8)speedML9)datatile10)edaviz1,D-TaleD-Tale使用Flask作为后端,React前端,可以与ipython笔记本和终端无缝集成。D-Tale可以支持PandasDataFrame、Series、MultiIndex、DatetimeIndex和RangeIndex。importdtaleimportpandasaspddtale.show(pd.read_csv("titanic.csv"))D-Tale库使用单行代码生成报告,其中包含数据集、相关性、图表和热图的总体摘要,以及highlights显示缺失值等D-Tale还可以分析报告中的每个图表。在上面的截图中,我们可以看到图表是可以交互操作的。2.Pandas-ProfilingPandas-Profiling可以生成PandasDataFrame的汇总报告。pandas-profiling扩展了pandasDataFramedf.profile_report()并且在大型数据集上工作得很好,它可以在几秒钟内创建报告。#Installthebelowlibariesbeforeimportingimportpandasaspdrompandas_profilingimportProfileReport#EDAusingpandas-profilingprofile=ProfileReport(pd.read_csv('titanic.csv'),explorative=True)#SavingresultstoaHTMLfileprofile.to_file("输出。html")3.SweetvizSweetviz是一个开源的Python库,只需要两行Python代码就可以生成漂亮的可视化效果,并以HTML应用程序的形式启动EDA(ExploratoryDataAnalysis)。Sweetviz包是围绕快速可视化目标值和比较数据集而构建的。importpandasaspdimportsweetvizassv#EDAusingAutovizsweet_report=sv.analyze(pd.read_csv("titanic.csv"))#SavingresultstoHTMLfilesweet_report.show_html('sweet_report.html')Sweetviz库生成的报告包含数据集、相关性、分类和数值特征关联等。4.AutoVizAutoViz包可以用一行代码自动可视化任意大小的数据集,并自动生成HTML和bokeh等报告。用户可以与AutoViz包生成的HTML报告进行交互。importpandasaspdfromautoviz.AutoViz_ClassimportAutoViz_Class#EDAusingAutovizautoviz=AutoViz_Class().AutoViz('train.csv')5.DataprepDataprep是一个用于分析、准备和处理数据的开源Python包。DataPrep建立在Pandas和DaskDataFrame之上,可以轻松地与其他Python库集成。DataPrep是10个包中最快的,可在几秒钟内为Pandas/DaskDataFrame生成报告。fromdataprep.datasetsimportload_datasetfromdataprep.edaimportcreate_reportdf=load_dataset("titanic.csv")create_report(df).show_browser()6.Klibklib是一个用于导入、清理、分析和预处理数据的Python库。将klibimportpandas导入为pddf=pd.read_csv('DATASET.csv')klib.missingval_plot(df)klib.corr_plot(df_cleaned,annot=False)klib.dist_plot(df_cleaned['Win_Prob'])klib.cat_plot(df,figsize=(50,15))虽然klibe提供了很多分析功能,但是每次分析我们都需要手动写代码,所以只能说是半自动操作,但是如果我们需要更个性化的分析,他就是很方便。7.DablDabl较少关注单个列的统计度量,而更注重通过可视化提供快速概览,以及方便的机器学习预处理和模型搜索。dabl中的Plot()函数可以通过绘制各种图形来可视化,包括:目标分布图的线性判别分析散射对图importpandasaspdimportdabldf=pd.read_csv("titanic.csv")dabl.plot(df,target_col="Survived")8.SpeedmlSpeedML是一个用于快速启动机器学习管道的Python包。SpeedML集成了一些常用的ML包,包括Pandas、Numpy、Sklearn、Xgboost和Matplotlib,所以实际上SpeedML不仅仅包括自动化EDA的功能。SpeedML官方表示,使用它可以迭代开发,减少70%的编码时间。从speedmlimportSpeedmlsml=Speedml('../input/train.csv','../input/test.csv',target='Survived',uid='PassengerId')sml.plot.correlate()sml。plot.distribute()sml.plot.ordinal('Parch')sml.plot.continuous('Age')9.DataTileDataTile(以前称为Pandas-Summary)是一个开源的Python包,负责管理、汇总和可视化数据。DataTile基本上是PANDASDataFramedescribe()函数的扩展。importpandasasppdfdatatile.summary.dfimportDataFrameSummarydf=pd.read_csv('titanic.csv')dfs=DataFrameSummary(df)dfs.summary()10.edavizedaviz是一个数据探索工具和Visualpython库,非常棒简单易用,但后来被Databricks收购并集成到bamboolib中,所以这里简单演示一下。总结在本文中,我们介绍了10个自动化探索性数据分析Python包,它们可以生成数据摘要并在几行Python代码中将其可视化。通过自动化工作,我们可以节省大量时间。Dataprep是我最常用的EDA包。AutoViz和D-table也是不错的选择。如果需要自定义分析,可以使用Klib。SpeedML集成了很多东西。单独用它做EDA分析不是特别合适。Others套餐可以根据个人喜好选择,不过还是很有用的。最后应该不考虑edaviz,因为它已经不开源了。https://avoid.overfit.cn/post/d4fef866d3ab428b8e2939859bbef2fa作者:SatyamKumar