机器学习的目标
机器学习是实现人工智能的手段,其主要研究内容时如何利用数据或经验进行学习,改善算法的性能
- 多领域交叉,涉及概率论、统计学、算法复杂度理论等多门学科
- 广泛应用于网络搜索、垃圾邮件过滤、推荐系统、广告投放、信用评价、欺诈检测、股票交易和医疗诊断等应用
机器学习的分类
- 监督学习(Supervised Learning)
- 无监督学习(Unsupervised Learning)
- 强化学习(Reinforcement Learning,增强学习)
- 半监督学习(Semi-supervised Learning)
- 深度学习(Deep learning)
机器学习模块
Scikit-learn
- 一组简单有效的工具集
- 依赖python 的Numpy,scipy和matplotlib库
- 开源和可复用的
Scikit-learn常用函数
| 应用(Applications) | 算法(Algorithm) | |
|---|---|---|
| 分类(Classification) | 异常检测,图像识别等 | KNN,SVM,etc |
| 聚类(Clustering) | 图像分割,群体划分,等 | K-Means,谱聚类,etc |
| 回归(Regression) | 价格预测,趋势预测,等 | 线性回归,SVR,etc |
| 降维(Dimension Reduction) | 可视化 | PCA,NMF,etc |
sklearn库
sklearn是scikit-learn的简称,是一个基于python的第三方模块,sklearn库集成了一些常见的机器学习方法,在进行机器学习任务时,并不需要实现算法,只需要简单的调用sklearn库中提供的模块就能完成大多数的机器学习任务
sklearn库是在Numpy,scipy和matplotlib的基础上开发而成的,因此在安装sklearn之前,请先安装这些依赖库
1 | 安装Scikit-learn模块,pip会自动安装其他模块 |
sklearn库的基本功能
sklearn库共分为6大部分,分别用于完成分类任务,回归任务,聚类任务,降维任务,模型选择以及数据的预处理
分类任务
| 分类模型 | 加载模块 |
|---|---|
| 最近邻算法 | from sklearn.neighbors import NearestNeighbors |
| 支持向量机 | from sklearn.svm import SVC |
| 朴素贝叶斯 | from sklearn.naive_bayes import GaussianNB |
| 决策树 | from sklearn.tree import DecisionTreeClassifier |
| 集成方法 | from sklearn.ensemble import BaggingClassifier |
| 神经网络 | from sklearn.neural_network import MLPClassifier |
回归任务
| 回归模型 | 加载模块 |
|---|---|
| 岭回归 | from sklearn.linear_model import Ridge |
| Lasso回归 | from sklearn.linear_model import Lasso |
| 弹性网络 | from sklearn.linear_model import ElasticNet |
| 最小角回归 | from sklearn.linear_model import Lars |
| 贝叶斯回归 | from sklearn.linear_model import BayesianRidge |
| 逻辑回归 | from sklearn.linear_model import LogisticRegression |
| 多项式回归 | from sklearn.preprocessing import PolynomialFeatures |
聚类任务
| 聚类方法 | 加载模块 |
|---|---|
| K-means | from sklearn.cluster import KMeans |
| AP聚类 | from sklearn.cluster import AffinityPropagation |
| 均值漂移 | from sklearn.cluster import MeanShift |
| 层次聚类 | from sklearn.cluster import AgglomerativeClustering |
| DBSCAN | from sklearn.cluster import DBSCAN |
| BIRCH | from sklearn.cluster import Birch |
| 谱聚类 | from sklearn.cluster import SpectralClustering |
降维任务
| 降维方法 | 加载模块 |
|---|---|
| 主成分分析 | from sklearn.decomposition import PCA |
| 截断SVD和LSA | from sklearn.decomposition import TruncatedSVD |
| 字典学习 | from sklearn.decomposition import SparseCoder |
| 因子分析 | from sklearn.decomposition import FactorAnalysis |
| 独立成分分析 | from sklearn.decomposition import FastICA |
| 非负矩阵分解 | from sklearn.decomposition import NMF |
| LDA | from sklearn.decomposition import LatentDirichletAllocation |