1.关于scikit-learn简介

说明:这个sklearn系列的笔记,在我的分类scikit-learn里面,主要介绍常用的模型的参数,并且附带数据、案例、代码、结果。

这个系列的笔记不会限于sklearn,还会包括一些时间序列(StatsModels)、词云(jieba & wordcloud)、LDA(NLP的最最最简单部分)。

笔记整理自一下书目(同时推荐这些书,书中有交叉知识,我个人比较喜欢第一本):

  1. 张良均,王路,谭立云,苏剑林等.Python数据分析与挖掘实战[M].北京:机械工业出版社,2017.
  2. 王宏志.大数据分析原理与实践[M].北京:机械工业出版社,2017.
  3. 余本国.基于python的大数据分析基础及实战[M].北京:中国水利水电出版社,2018.

第一本书附带数据、代码、结果,学起来可以实地搬砖操作,真的很方便;第二本书理论完善、附带案例展示,但是没有数据、没有代码,可以看看,培养下数据思想;第三本书,也有案例数据代码,但是内容比较简单,而且我看着有点乱(仅个人观点)。

文章目录

  • 1.python数据分析的几个工具
    • 1.1基本库的介绍。
  • 2.核武器——sklearn来了!
    • 2.1监督学习:
    • 2.2无监督学习
    • 2.3如何选择模型呢?
    • 2.4模型的Attributes
      • 2.4.1通用属性
      • 2.4.2监督模型
      • 2.4.3非监督学习模型
      • 2.4.4除模型外的常用函数

1.python数据分析的几个工具

库名 说明
Numpy 数组支持,以及高效的函数,很重要!!!
Scipy 矩阵支持,以及矩阵相关的数值计算模块
Matlpotlib 可视化工具,各种统计绘图
Pandas 数据分析包,很强大!!!
StatsModels 统计建模和计量经济学的包
Scikit-learn 下一节详细介绍!数据挖掘的核武器!
Keras 常用的深度学习库之一。这个是氢弹吧!
nltk NLP领域最常用的一个工具包
Gensim LDA的库,文本挖掘用。大方向上也属于自然语言处理
jieba 最常用的分词库之一,中文分词比较好
wordcloud 词云
networkx 网络图,一种图解模型。
folium 交互地图的绘制,比如热力地图。
pillow 图像处理最基础的库
OpenCV 本质是一个C++库,用于实时处理计算机视觉的库,因特尔开发。

1.1基本库的介绍。

在我前面搬过的砖里面,已经介绍了numpy,pandas,matplotlib,还是介绍的比较清楚的。有数据,有代码,有结果。传送门在这里–>这里就是这里!点击这里!

2.核武器——sklearn来了!

scikit-learn,简称sklearn。机器学习。
在sklearn中含有那些模型呢?以及如何选择模型?
首先来看有多少模型这个问题。在官方的网站上有详细的介绍:

监督学习:监督学习的传送门

非监督学习:非监督学习传送门

我这边做个简单的常用模型总结就是:

2.1监督学习:

  • 广义线性模型:岭回归、lasso回归、logistics回归、randomize logistics回归、弹性网络模型、最小角回归(Lars)、Lars lasso。这边的常用算法是GD、SGD。
  • 判别分析
  • 支持向量机
  • k-NearestNeighbor:KNN,经典!
  • 朴素贝叶斯
  • 决策树
  • 集成方法:bagging、adaboosting、GB、GBDT、xgboost
  • 神经网络(有监督):MLP(Multilayer Perceptron)

2.2无监督学习

  • 高斯混合模型:Gaussian Mixture Model
  • 聚类: clustering
  • 矩阵分解问题:matrix factorization problems,常用PCA、LDA
  • 神经网络(无监督):限制玻尔兹曼机(Restricted Boltzmann machines ,RBM)

2.3如何选择模型呢?

那究竟要如何选择呢?官方依旧给了一个文档,,从数据量级和建模出发点两方面进行选择,说的还是比较清楚地。
这个是sklearn官方传送门
当然了,这里我把这张图拷过来了:
1.关于scikit-learn简介_第1张图片

2.4模型的Attributes

最简单的就是直接百度查看官方文档,看英文。还可以就是help(函数名)查看帮助文档中,能看到各种参数,各种属性。

2.4.1通用属性

  • model.fit():就是拟合模型

2.4.2监督模型

  • model.predict():预测新数据
  • model。predict_proba():预测概率,仅适合部分模型(经典的是LR)
  • model.score():得分,越高拟合越好

2.4.3非监督学习模型

  • model.transform():从数据中学到新的“基空间”
  • model.fit_transform():按照学习到的基对数据转换

2.4.4除模型外的常用函数

from sklearn.model_selection import KFold,GridSearchCV 
from sklearn.metrics import confusion_matrix, roc_auc_score 
from imblearn.over_sampling import SMOTE

交叉验证、网格搜索调参、数据分布平衡、混淆矩阵…这都是特别特别常用的模块!

你可能感兴趣的:(scikit-learn,sklearn,机器学习,混淆矩阵,交叉验证)