Python的常用包有哪些,分别有什么作用?

来自Datawhale优秀回答者:追风者
Python常用包
1、Numpy(数值运算库)
2、Scipy(科学计算库)
3、Matplotlib(基础可视化库)
4、Pandas(数据处理库)
5、Seaborn(高级可视化库)
6、Scikit-learn(流行的机器学习库)
各自作用
1、Numpy是最为流行的机器学习和数据科学包,Numpy包支持在多维数据上的数学运算,提供数字支持以及相应高效的处理函数,很多更高级的扩展库(包括Scipy、Matplotlib、Pandas等库都依赖于Numpy库);
2、Scipy包用于科学计算,提供矩阵支持,以及矩阵相关的数值计算模块,其功能包含有最优化、线性代数、积分、插值、拟合、信号处理和图像处理以及其他科学工程中常用的计算;
3、Pandas用于管理数据集,强大、灵活的数据分析和探索工具,其带有丰富的数据处理函数,支持序列分析功能,支持灵活处理缺失数据等;
● Pandas基本的数据结构是Series和DataFrame;
● Series就是序列,类似一维数组;
● DataFrame相当于一张二维的表格,类似二维数组,它的每一列都是一个Series;
● 为了定位Series中的元素,Pandas提供了Index对象,每个Series都会带有一个对应的Index,用来标记不用的元素;
● DataFrame相当于多个带有同样Index的Series的组合(本质是Series的容器);
4、Matplotlib库用于数据可视化,强大的数据可视化工具以及作图库,其主要用于二维绘图,也可以进行简单的三维绘图;
5、Seaborn库是基于Matplotlib的高级可视化库;
6、Sklearn库包含大量机器学习算法的实现,其提供了完善的机器学习工具箱,支持预处理、回归、分类、聚类、降维、预测和模型分析等强大的机器学习库,近乎一半的机器学习和数据科学项目使用该包。

sklearn库的结构
sklearn主要是用于机器学习,所以sklearn的模块也都是围绕机器学习算法的。sklearn因此可以分为这几个部分:Classification(分类),Regression(回归),Clustering(聚类),Dimensionality reduction(降维),Model selection(模型选择),Preprocessing(预处理)。
1.分类算法包括SVM(sklearn.svm.SVC等)、近邻(sklearn.neighbors)、随机森林(sklearn.ensemble.RandomForestClassifier)等。
2.回归算法包括SVR(sklearn.svm.SVR)、岭回归(sklearn.linear_model.Ridge)、Lasso(sklearn.linear_model.Lasso)等。
3.聚类算法包括K均值(sklearn.cluster.KMeans)、谱聚类(sklearn.cluster.SpectralClustering)等。
4.降维算法包括PCA(如sklearn.decomposition.PCA)、特征选择(sklearn.feature_selection,包括单变量特征选择等)、非负矩阵分解(如sklearn.decomposition.NMF、LatentDirichletAllocation)。
5.模型选择方法包括网格搜索(sklearn.model_selection.GridSearchCV)、交叉验证(有很多,比如sklearn.model_selection.KFold、cross_val_score)、评估指标(sklearn.model_selection.metrics,包括precision、recall、accuracy等)。
6.预处理方法包括基本的预处理方法(sklearn.preprocessing,包括标准化、类别化、离散化等)、特征抽取(sklearn.feature_extraction,包括文本特征抽取方法bag of words、tf-idf等)。
机器学习主要步骤中sklearn应用
1.数据集:sklearn.datasets中提供了很多数据集,初学时可将其作为基础数据。
2.数据预处理:sklearn.preprocessing,包括:降维、数据归一化、特征提取和特征转换(one-hot)等
3.选择模型并训练:分类、回归、聚类、集成等算法,涉及的模型主要是sklearn.linear_model、sklearn.cluster、sklearn.ensemble。
4.模型评分:sklearn.metrics,包括准确率、召回率等,算法自身也带有评分方法score。
5.模型的保存与恢复:可以用python的pickle方法(pickle.dump、pickle.load),或者sklearn.externals.joblib(joblib.dump、joblib.load)。
学习建议
不必一次看完sklearn所有模块的使用方法,这样太累!成效也不大!最好的方式是一边学习机器学习算法理论,一边实践的过程中去了解相关模块的用途,记忆会更深刻。

python软件包作用 python常用的包_python软件包作用


首先我们需要从python本身说起, 从根源寻找问题, 我们在使用python语言编写程序之前需要下载一个python解释器, 这才是python的本体, 没了python解释器, 我们即使写了无比正确优雅的python脚本也没办法运行, 那这个解释器在哪呢.就在你安装python的地方

python软件包作用 python常用的包_机器学习_02


python软件包作用 python常用的包_python软件包作用_03


项目结构如上图,这里有我们很熟悉的python.exe, 也就是Python解释器

除此之外还有个很重要的东西, Lib, 也就是python包文件, 包括自带的包和第三方包

Lib目录如上图, 这里有python自带的包, 如笔者常用的日志包logging, 异步包 concurrent, 而所有的第三方包都放在site-packages文件夹里面
了解了这些我们就对整个python环境有了大概的了解, 其实最关键的, 一个python环境中需要有一个解释器, 和一个包集合.

其实anaconda包括了python解释器,还有一大堆包

python软件包作用 python常用的包_python_04


python软件包作用 python常用的包_python软件包作用_05


环境配置成功了