Python 机器学习+深度学习项目实战
  MSu0ouTBT97v 2023年11月02日 69 0


一 Python运行软件(Pycharm,Anaconda

     注意事项:我们一般用的python版本是python3.5,python3.6和python3.7安装  

     tensorflow时很麻烦,而且各种包也与高版本的python冲突。所以我们统一采

     用python3.5。解释一下:官网安装的是高版本的,但需要在Anaconda下添加  

     python3.5的操作平台。

Python 机器学习+深度学习项目实战_python

•Pycharm安装:

•Anaconda安装:

 二 :python 环境配置 (Pycharm+Anaconda)

Anaconda环境下可以直接下载安装各种所需的工具包,但要想pycharm中使用这些包,则需要把pycharm的路径配置到Anaconda下的python3.5环境。

Python 机器学习+深度学习项目实战_开发语言_02

https://mp.weixin.qq.com/s/HimUkfCNknQzFbXXuHeAkQ

(1)配置Anaconda路径,添加环境变量,在cmd命令里检查版本信息。

       %\ProgramData\Anaconda3; %\ProgramData\Anaconda3\Library\mingw-

           w64\bin; %\ProgramData\Anaconda3\Library\usr\bin;

(2)Anaconda下载各种所需的模型库和python扩展包。

          Pip install  (numpy/pandas/matplotlib) 等第三方包。

       (注意:必须在tensorflow路径下安装,cmd / activate tensorflow / pip install

           numpy   才可以将这些包存放在指定路径)

          也可以在Anaconda中直接添加,但往往引起版本冲突,导致报错。

Python 机器学习+深度学习项目实战_开发语言_03

三 :Anaconda+tensorflow+sklearn+python3.5安装

Sklearn和tensorflow简介:

•机器学习算法框架:sklearn(Scikit-learning)等。

•深度学习算法框架:tensorflow, caffe, pytorch, keras等

在使用算法框架之前,配置好算法需要的环境是重中之重。Anaconda自带sklearn包,而深度学习需要的包我们可以通过Anaconda安装,然后将路径配置到pycharm里调用。

•Sklearn官网(案例)

https://scikit-learn.org/stable/auto_examples/plot_kernel_approximation.html#sphx-glr-auto-examples-plot-kernel-approximation-py

•Sklearn库学习文档:                                                                   

http://sklearn.apachecn.org/#/docs/2

•Sklearn和tensorflow的区别

https://www.jianshu.com/p/0837b7c6ce10

•Anaconda配置tensorflow:

五 :机器学习项目实战

入门项目学习

•机器学习案例——鸢尾花数据集分析

Sklearn官网(鸢尾花数据集)

https://scikit-learn.org/stable/auto_examples/plot_kernel_approximation.html#sphx-glr-auto-examples-plot-kernel-approximation-py

•kaggle 泰坦尼克号生存预测

Python 机器学习+深度学习项目实战_python_04

特征工程

Python 机器学习+深度学习项目实战_开发语言_05

特征工程:用来制作数据集,清洗杂乱无章的数据,制作标签。将清洗后的数据分为训练集合测试集,喂给算法模型。

鸢尾花数据集特征少,不需要继续分析特征与标签的相关性。当输入特征过多时,就需要筛选特征,保留对结果影响最大的特征,去除与输出标签相关性较小的特征。能够大幅度提高模型精度。

在Kaggal大赛里的数据集一般含有较多特征,当我们去除的特征过多时,也会造成结果的精确度差,所以一般需要对这些特征本身进行分析,必要时需要对单一特征进行划分,由一个特征分为几个部分的新建特征,一般采用One-hot(独热)编码实现。泰坦尼克项目里,排名靠前的算法都是对特征进行了更为精确的划分。

机器学习算法

分类算法:

Bayes   (贝叶斯)

Decision Tress  (决策树)

SVM  (支持向量机)

KNN  (K近邻)

Logistic Regression(逻辑回归)

神经网络

回归算法:

线性回归、多元回归、神经网络

Ridge Regression  (岭回归)

Lasso Regressio

聚类算法:

K-means  (K-均值

DBSCAN算法(基于密度的方法)

CLARANS算法(划分方法

GMM(混合高斯模型)

融合模型:

Boosting、Bagging

结合策略:

平均法、投票法

学习法(stacking、blending)

集成学习算法(融合模型)

集成学习概述

        集成学习在机器学习算法中具有较高的准确率,不足之处就是模型的训练过程可能比较复杂,效率不是很高。目前接触较多的集成学习主要有2种:基于Boosting的和基于Bagging,前者的代表算法有Adaboost、GBDT、XGBOOST、后者的代表算法主要是随机森林

集成学习的主要思

       集成学习的主要思想是利用一定的手段学习出多个分类器,而且这多个分类器要求是弱分类器,然后将多个分类器进行组合公共预测。核心思想就是如何训练处多个弱分类器以及如何将这些弱分类器进行组合。

多个分类器的生成

       可以采用随机选取数据进行分类器的训练,也可以采用不断的调整错误分类的训练数据的权重生成新的分类器。

多个弱分类区如何组合

      基本分类器之间的整合方式,一般有简单多数投票、权重投票,贝叶斯投票,基于D-S证据理论的整合,基于不同的特征子集的整合。

六 :深度学习项目案例(猫狗大战,数字手写体识别)

数字手写体识别(BP神经网络)

Tesorflow建立CNN神经网络

•Tensorflow-MNIST-手写数字图像识别

https://www.jianshu.com/p/e343758a185e

Minist手写数字识别(CNN实现)

网络层级结构概述:

Python 机器学习+深度学习项目实战_机器学习_06

5层神经网络输入层: 输入数据为原始训练图像(我们在实现中将28*28的灰度图片,改成了28*28的黑白图片)

第一卷积层:6个5*5的过滤器(卷积核),步长Stride为1,不补0,激活函数为sigmoid。在这一层,

                            输入为28*28,深度为1的图片数据,输出为24*24的,深度为6的图片数据。

第一采样层:过滤器(卷积核)为2*2,步长Stride为2。在这一层,输入为24*24的,深度为6的图片数据,输出为12*12的,深度为6的图片数据。

第二卷积层:12个5*5的过滤器(卷积核),步长Stride为1,不补0,激活函数为sigmoid。在这一层,

输入为12*12,深度为6的图片数据,输出为8*8的,深度为12的图片数据。

第二采样层:过滤器(卷积核)为2*2,步长Stride为2。在这一层,输入为8*8的,深度为12的图片数据,输出为4*4的,深度为12的图片数据。

输出层:线性函数输入为宽高为(4*4*12,1)的列向量,输出为10维列向量,激活函数为sigmoid.

CNN网络模型

Python 机器学习+深度学习项目实战_深度学习_07

猫狗大战(tensorflow)

运行环境:win10,64位,          TensorFlow                      CPU版本

主要用到三个python文件:

1. input_data.py    2. model.py      3. training.py

注意:  运行时,必须在整个文件目录下运行.py文件,这样才能够读取同一路径文件下的所有信息。另外,还要将运行程序的路径设置好

Python 机器学习+深度学习项目实战_机器学习_08

机器学习算法AI大数据技术

 搜索公众号添加: datanlp

Python 机器学习+深度学习项目实战_人工智能_09


Python 机器学习+深度学习项目实战_开发语言_10

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  hfkshH2kj8t9   2023年12月11日   40   0   0 pythonredispythonredis
MSu0ouTBT97v