各种算法模型的综合案例代码网页
[各种算法模型的综合案例代码网页]
点击这里
重点内容
一、安装
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在新“基”下的坐标。显然,只有非监督学习才会有这一类的函数接口。 |