1.python爬虫常用第三方库:https://blog.csdn.net/woshisunchi/article/details/60877817
2.python数据挖掘常用包:https://blog.csdn.net/sunflower606/article/details/49738107
3.库:https://pypi.org/search/?q=scipy
https://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud
https://pypi.org/simple/tensorflow/
https://code.google.com/archive/p/pyodbc/downloads
https://digi.bib.uni-mannheim.de/tesseract/
https://pypi.org/simple/
Pandas:Pandas主要提供快速便捷地处理结构化数据的大量数据结构和函数。
IPython
IPython是Python科学计算标准工具集的组成部分,是一个增强的PythonShell,目的是提高编写、测试、调试Python代码的速度。主要用于交互式数据处理和利用matplotlib对数据进行可视化处理。
SciPy
SciPy是一组专门解决科学计算中各种标准问题域的包的集合。主要包括以下包:
scipy.integrate:数值积分例程和微分方程求解器;
scipy.linalg:扩展了由numpy.linalg提供的线性代数例程和矩阵分解功能;
scipy.optimize:函数优化器以及根查找算法;
scipy.signal:信号处理工具;
scipy.sparse:稀疏矩阵和稀疏线性系统求解器;
scipy.special:SPECFUN(这是一个实现了许多常用数学函数的Fortran库)的包装器。
scipy.stats:标准连续和离散概率分布、各种统计检验方法和更好的描述统计法;
scipy.weave:利用内联C++代码加速数组计算的工具。
SciPy 库建立在 Numpy 库之上,提供了大量科学算法,主要包括这些主题:
特殊函数 (scipy.special)
积分 (scipy.integrate)
最优化 (scipy.optimize)
插值 (scipy.interpolate)
傅立叶变换 (scipy.fftpack)
信号处理 (scipy.signal)
线性代数 (scipy.linalg)
稀疏特征值 (scipy.sparse)
统计 (scipy.stats)
多维图像处理 (scipy.ndimage)
文件 IO (scipy.io)
k-d树 [1] (k-dimensional树的简称),是一种分割k维数据空间的数据结构。主要应用于多维空间关键数据的搜索(如:范围搜索和最近邻搜索)。K-D树是二进制空间分割树的特殊的情况。
kd树在建树的过程中会重复使用各维特征, 而决策树一般每维度特征只会被用一次.(连续特征值是可以重复使用的,如C4.5)
kd树使用方差来选择分类特征,假设这个特征越离散越好区分,决策树使用信息增益来选择分类特征,假设这个特征信息增益越大分类能力越强
Networkx:NetworkX是一款Python的软件包,用于创造、操作复杂网络,以及学习复杂网络的结构、动力学及其功能。
有了NetworkX你就可以用标准或者不标准的数据格式加载或者存储网络,它可以产生许多种类的随机网络或经典网络,也可以分析网络结构,建立网络模型,设计新的网络算法,绘制网络等等。
Numpy:NumPy系统是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix))一个用python实现的科学计算包。包括:1、一个强大的N维数组对象Array;2、比较成熟的(广播)函数库;3、用于整合C/C++和Fortran代码的工具包;4、实用的线性代数、傅里叶变换和随机数生成函数。numpy和稀疏矩阵运算包scipy配合使用更加方便。
NumPy(Numeric Python)提供了许多高级的数值编程工具,如:矩阵数据类型、矢量处理,以及精密的运算库。专为进行严格的数字处理而产生。多为很多大型金融公司使用,以及核心的科学计算组织如:Lawrence Livermore,NASA用其处理一些本来使用C++,Fortran或Matlab等所做的任务。
MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
Matplotlib:Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形[1] 。
通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等。
Sklearn(scikit-learn):sklearn是基于numpy和scipy的一个机器学习算法库,设计的非常优雅,它让我们能够使用同样的接口来实现所有不同的算法调用。
三大模块
监督学习(supervised learning)
1.neighbors:近邻算法
svm:支持向量机
kernel-ridge:核——岭回归
discriminant_analysis:判别分析
linear_model:广义线性模型
2.ensemle:集成方法
tree:决策树
naive_bayes:朴素贝叶斯
cross_decomposition:交叉分解
gaussian_process:高斯过程
3.neural_network:神经网络
calibration:概率校准
isotonic:保序回归
feature_selection:特征选择
multiclass:多类多标签算法
无监督学习(unsupervised learning)
1.decomposition:矩阵因子分解
cluster:聚类
manifold:流形学习
mixture:高斯混合模型
2.neural_network:无监督神经网络
density:密度估计
covariance:协方差估计
使用方式同上。
数据变换
1.feature_extraction:特征抽取
feature_selection:特征选择
preprocess:预处理
2.random_projection:随机投影
kernel_approximation:核逼近
pipline:管道流(这个严格说不算是数据变换模块)
算法类的顶层设计图
baseEstimator:所有评估器的父类
ClassifierMixin:所有分类器的父类,其子类必须实现一个score函数
RegressorMixin:所有回归器的父类,其子类必须实现一个score函数
ClusterMixin:所有聚类的父类,其子类必须实现一个fit_predict函数
BiClusterMixin:
TransformerMixin:所有数据变换的父类,其子类必须实现一个fit_transform函数
DensityMixin:所有密度估计相关的父类,其子类必须实现一个score函数
MetaEsimatorMixin:可能是出于兼容性考虑,看名字就能知道,目前里面没有内容
监督学习(supervised learning)
统一的API接口
在sklearn里面,我们可以使用完全一样的接口来实现不同的机器学习算法,通俗的流程可以理解如下:
数据加载和预处理
定义分类器(回归器等等),譬如svc = svm.svc()
用训练集对模型进行训练,只需调用fit方法,svc.fit(X_train, y_train)
用训练好的模型进行预测:y_pred=svc.predict(X_test)
对模型进行性能评估:svc.score(X_test, y_test)
三种降维技术:PCA、t-SNE 和自编码器
召回率也叫查全率,准确率也叫查准率
对于SVM,是先在训练集上训练一个模型,然后用这个模型直接对测试集进行分类。这两个步骤是独立的。
对于KNN,没有训练过程。只是将训练数据与训练数据进行距离度量来实现分类。
K最近邻(kNN,k-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一。所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代表。
来源:https://www.cnblogs.com/lgx-fighting/p/9398721.html