机器学习----scikit-learn入门

                                     各种算法模型的综合案例代码网页

[各种算法模型的综合案例代码网页]
点击这里
重点内容
这里写图片描述

一、安装

pip\conda install scilkit-learn

如果没有安装numpy,scipy,则按照一下方法安装

第一步:安装 scipy

         在网址http://www.lfd.uci.edu/~gohlke/pythonlibs/ 中找到你需要的版本scipy
         例如windows 64 位 Python2.7 对应下载:scipy-0.18.0-cp27-cp27m-win_amd64.whl

         cd  下载scipy 目录下,安装

         pip install scipy-0.18.0-cp27-cp27m-win_amd64.whl

 或者在命令行中输入命令:python -m pip install --user scipy

第二步: matplotlib
在命令行中输入命令:pip install matplotlib
第三步:安装numpy+mkl
在网址http://www.lfd.uci.edu/~gohlke/pythonlibs/ 找到你需要的numpy+mkl版本
然后 cd 到numpy+mkl所在的目录下,安装
pip install numpy-1.11.1+mkl-cp27-cp27m-win_amd64.whl
如果已经安装了numpy,则只需要下载并安装mkl即可
第四步:sklearn ,机器学习包
pip install -U scikit-learn

二、六大问题

这里写图片描述
这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

三、六大内容

这里写图片描述

四、各种类型

这里写图片描述

这里写图片描述

五、OLAP基本概念和技术

这里写图片描述

这里写图片描述

六、数据挖掘和机器学习的典型应用

这里写图片描述

七、十大算法简介

7.1决策树

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

预剪枝
限制树的深度,叶子节点的个数,叶子节点的样本数,信息增益等。
后剪枝
后剪枝(Post-Pruning) 决策树构造完成后进行剪枝。后剪枝是目前最普遍的做法

这里写图片描述

7.2随机森林

这里写图片描述

7.3逻辑回归

logistic回归又称logistic回归分析,是一种广义的线性回归分析模型,常用于数据挖掘,疾病自动诊断,经济预测等领域。例如,探讨引发疾病的危险因素,并根据危险因素预测疾病发生的概率等。

7.4SVM算法(支持向量机)

类似分割面算法
这里写图片描述

这里写图片描述

这里写图片描述

7.5分类算法(K近邻算法/KNN)

缓冲,防止过拟合

这里写图片描述

K近邻算法,即是给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的K个实例(也就是上面所说的K个邻居), 这K个实例的多数属于某个类,就把该输入实例分类到这个类中。

7.6聚类算法(K均值算法/K-means算法)

聚类(Cluster)分析是由若干模式(Pattern)组成的,通常,模式是一个度量(Measurement)的向量,或者是多维空间中的一个点。
聚类分析以相似性为基础,在一个聚类中的模式之间比不在同一聚类中的模式之间具有更多的相似性。

7.7朴素贝叶斯算法(概率统计)

这里写图片描述

7.8Adaboost算法(迭代算法)

其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。

这里写图片描述

7.9神经网络算法

逻辑性的思维是指根据逻辑规则进行推理的过程;它先将信息化成概念,并用符号表示,然后,根据符号运算按串行模式进行逻辑推理;这一过程可以写成串行的指令,让计算机执行。然而,直观性的思维是将分布式存储的信息综合起来,结果是忽然间产生想法或解决问题的办法。这种思维方式的根本之点在于以下两点:1.信息是通过神经元上的兴奋模式分布储在网络上;2.信息处理是通过神经元之间同时相互作用的动态过程来完成的。

                                                                                                                                                                这里写图片描述

7.10马尔科夫算法

使用类似形式文法的规则在符号串上操作的字符串重写系统。马尔可夫算法被证明是图灵完全的,这意味着它们适合作为一般的计算模型

7.11 API数据集分类

这里写图片描述

这里写图片描述
这里写图片描述

八、回归模型评估指标

◆解释方差(Explained variance score)
◆绝对平均误差(Mean absolute error)
◆均方误差(Mean squares error)
◆决定系数(R**2 score)

                                                                                                                                           这里写图片描述

解释方差 y是真实值,, y^是预测值
                                                                                                             这里写图片描述
数值越大,预测效果越好


绝对平均误差(Mean absolute error)
                                                                                                             这里写图片描述
值越小,拟合的越好


均方误差(Mean squares error) 误差和均值
                                                                                                             这里写图片描述
值越小,误差越小


决定系数(R**2 score)
                                                                                                             这里写图片描述
值越大,效果越好

九、Sklearn在API中的应用

sklearn常见数据集的API调用
自带的小数据集(packaged dataset)sklearn.datasets.load_
可在线下载的数据集(Downloaded Dataset)sklearn.datasets.load_
计算机生成的数据集(Generated Dataset)sklearn.datasets.make_
svmlight/libsvm格式的数据集sklearn.datasets.load_svmlight_file(…)
sklearn.org在线下载获取的数据集sklearn.datasets.fetch_mldata(…)
sklearn的自带数据集应用场景
乳腺癌数据集load-barest-cancer()二分类任务
糖尿病数据集load-diabetes()回归任务[注]这10个特征中的每个特征都已经被处理成0均值,方归一化的特征值,
波士顿房价数据集load-boston()回归任务集
体能训练数据集load-linnerud()多变量回归任务的数据集,其内部包含两个小数据集:Excise对3个训练变量的20次观测(体重,腰围,脉搏),physiological是对3个生理学变量的20次观测(引体向上,仰卧起坐,立定跳远)
sklearn 的生成数据集应用场景:
make_blobs多类单标签数据集,为每个类分配一个或多个正太分布的点集。
make_classification多类单标签数据集,为每个类分配一个或多个正太分布的点集,提供了为数据添加噪声的方式,包括维度相关性,无效特征以及冗余特征等。
make_gaussian-quantiles将一个单高斯分布的点集划分为两个数量均等的点集,作为两类。
make_hastie-10-2产生一个相似的二元分类数据集,有10个维度。
make_circle和make_moon产生二维二元分类数据集来测试某些算法的性能,可以为数据集添加噪声,可以为二元分类器产生一些球形判决界面的数据。
有监督模型的API:
model.fit(X, y):fit函数是进行拟合(即训练)的函数。训练数据包括特征部分和标注部分。X是训练数据的特征部分,y是标注部分。
model.predict(X):predict用于判断一群未知的样本。
model.predict_proba(X):某些模型可以输出概率值,比如逻辑回归模型。这个函数就是输出相应的概率值,而不是输出0或1的离散值。
model.score(X, y):X表示测试样本的特征部分。Y为测试数据的真实标注。返回准确度accuracy。得分越高,fit 越好。
无监督模型API:
model.fit(X):X是训练数据。由于是无监督模型,所以数据是没有标注的。
model.transform(X):返回未知样本在新“基”下的坐标。比如对于kmeans算法而言,该函数就返回未知样本离各个cluster center的距离。
model.fit_transform(X):先使用X作为训练数据来训练模型。然后把X看成未知样本,执行transform的变换,返回X在新“基”下的坐标。显然,只有非监督学习才会有这一类的函数接口。

9.1、聚类模型比较图

这里写图片描述

9.2、分类模型比较图

这里写图片描述

分享的网址和图形

数据验证的总结网址
这里写图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值