机器学习的基本了解

机器学习的目标

​ 机器学习是实现人工智能的手段,其主要研究内容时如何利用数据或经验进行学习,改善算法的性能

  • 多领域交叉,涉及概率论、统计学、算法复杂度理论等多门学科
  • 广泛应用于网络搜索、垃圾邮件过滤、推荐系统、广告投放、信用评价、欺诈检测、股票交易和医疗诊断等应用

机器学习的分类

  • 监督学习(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
2
# 安装Scikit-learn模块,pip会自动安装其他模块
pip3 install Scikit-learn

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