python机器学习

我的机器学习入门 Python3 环境

蓝咒 提交于 2020-02-02 09:42:41
环境详情 语言:Python3 框架:Scikit-learn 其他库:numpy、matplotlib… IDE :jupyter notebook (边编码边运行 更方便) PyCharm (底层算法实现用)我用的VSC主要图个方便 以上框架(除PyCharm)都可以通过Anaconda来傻瓜式完成系统环境配置。 使用数据集:内置数据集或者通过Sklearn得到的数据集 (关于数据集来源的预处理暂不学习) 环境部署 Anaconda 的安装请百度,这里也丢一个 官网 和 教程 Python3的安装请百度,这里丢一个 官网 和 教程 (安装可以在Anaconda的虚拟环境中安装) 安装好anaconda后呢 我目前安装了是这两个: 另外,我创建了一个 虚拟环境 ,用来更改一些配置,同时防止影响电脑原配置 (如果在一台电脑上, 想开发多个不同的项目, 需要用到同一个包的不同版本, 如果使用上面的命令, 在 同一个目录下安装或者更新, 新版本会覆盖以前的版本 , 其它的项目就无法运行了,而 虚拟环境 可以搭建 独立的python运行环境 , 使得单个项目的运行环境与其它项目互不影响.) #创建 conda create - n xxx(名字) python = 3. X #激活 conda activate xxx ( 虚拟环境名称 )

机器学习实战——朴素贝叶斯法(代码详解)

…衆ロ難τιáo~ 提交于 2020-02-01 19:25:53
机器学习实战——朴素贝叶斯法 朴素贝叶斯就是在假设各个特征相互独立的条件下运用贝叶斯准则通过先验概率计算出后验概率,输出后验概率最大的类别。 先讲讲在下代码时候遇到的问题,代码参考机器学习实战这本书。 问题一: 《机器学习实战》P66中运行程序清单4-5时,总是报错: UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0xae in position 199: illegal multib 解决办法: 打开23.txt 文件发现,包含一个?字符。“SciFinance?is”,删除该“?”即可。 问题二: del(trainingSet[randIndex])这段代码报错 出现错误 ‘range’ object doesn’t support item deletion 主要原因:版本不同,书上python2版本,在python3中range返回的是range对象,而不是列表 解决办法:把 trainingSet = range(50) 改为 trainingSet = list(range(50)) 问题三: 在文本解析时 strings = 'Hello python,the best language!' print ( strings ) import re listOfTokens = re.split ( r '\W*'

百度PaddlePaddle入门-1

谁都会走 提交于 2020-02-01 12:13:22
(以自己认知的方式学习DL。 注:下文基本上都是百度PaddlePaddle培训内容) 人工智能\机器学习和深度学习的概念及关系 人工智能、机器学习和深度学习的概念在近些年十分火热,但很多从业者也难以说清它们之间的关系,外行人更是雾里看花。学习深度学习,需要先从三个概念的正本清源开始。 三者覆盖的技术范畴是逐层递减的, 人工智能是最宽泛的概念,机器学习则是实现人工智能的一种方式 ,也是目前较有效的方式。 深度学习是机器学习算法中最热的一个分支 ,在近些年取得了显著的进展,并代替了多数传统机器学习算法。所以,三者的关系可用下图表示,人工智能 > 机器学习 > 深度学习。 图1:人工智能、机器学习和深度学习三者之间的概念范围 如字面含义,人工智能是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的科学。由于这个定义只阐述了目标,而没限定方法。所以,实现人工智能存在的诸多方法和分支,导致其变成一个“大杂烩”式的学科。 与此不同,机器学习,尤其是监督学习则有更加明确的指代。 机器学习是专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能 。这句话有点“云山雾罩”的感觉,让人不知所云。 下面以“机器从牛顿第二定律实验中学习知识”为案例,让读者深入理解下机器学习(监督学习)到底是怎样的一种技术方法

python学习之机器学习2

…衆ロ難τιáo~ 提交于 2020-01-31 22:50:52
1、梯度下降思想 在数学中的梯度下降是: xk+1 = xk + λkPk λk表示步长 Pk表示方向,沿梯度方向下降最快 沿着方向不断更新x,直到x达到最小 为了得到最好的拟合线,我们的目标是让损失函数达到最小 因此,引入梯度下降的思想: 条件:有一个J(θ0,θ1) 目标:让J(θ0,θ1)最小 步骤: 1、初始化θ0,θ1 2、持续改变θ0,θ1的值,让J(θ0,θ1)越来越小 3、直到得到一个J(θ0,θ1)的最小值 2、梯度下降算法 重复执行: 其中:α为学习率,也是步长 求偏导部分(也就是求梯度)是下降方向 线性回归用到的是同步更新 不论斜率正或负,梯度下降都会逐渐趋向最小值 如果α太小的话,梯度下降会很慢 如果α太大的话,梯度下降会越过最小值,不仅不会收敛,还有可能发散 即使α是固定不变的,梯度下降也会逐渐到一个最低点,因为随着梯度下降迭代次数的递增,斜率会趋于平缓,也就是说,倒数部分会慢慢变小 至于怎么选取α,下面会讲到 3、线性回归的梯度下降 四、三种梯度下降 1、批梯度下降 批梯度下降Bath Gradient Descent: 指每下降一步,使用所有的训练集来计算梯度值 import numpy as np X = 2 * np.random.rand(100, 1) y = 4 + 3 * X + np.random.randn(100, 1) X_b =

《机器学习实战》笔记(一):Ch1 - 机器学习基础

不想你离开。 提交于 2020-01-31 17:46:54
第一章 机器学习基础([代码][ch01] 熟悉 Python 即可。 开发机器学习应用程序步骤 1.收集数据。 2.准备输入数据。 3.分析输入数据。 4.训练算法。 5.测试算法。 6.使用算法。 掌握 numpy 函数库基础 >> from numpy import * 代码托管见Github [ch01]:https://github.com/Lornatang/machine_learning_in_action_py3/tree/master/src/ch01 来源: CSDN 作者: lornatang 链接: https://blog.csdn.net/shiyipaisizuo/article/details/80371490

python机器学习-chapter2

风格不统一 提交于 2020-01-31 17:35:05
♦python语句 •X, y = mglearn.datasets.make_forge() mglearn.discrete_scatter(X[:, 0], X[:, 1], y) #第一个参数是X值 第二个参数是y值 第三个参数是标签 #第一个标签是X[:,0]是因为X是一个numpy数组,可以打印出X观察 #详情见chrome书签:python-discrete_scatter •plt.plot(X, y, 'o')用来绘图,'o'为图中点的类型 plt.ylim(-3, 3) 用来规定y轴的范围 plt.xlabel("First feature")用来标记x轴,y轴同理 plt.legend(["Class 0", "Class 1"], loc = 4)用来标记图注,[ ]内为图注内容,loc为图注放置地点,loc=4表示图注放置在右下角 来源: https://www.cnblogs.com/bozi/p/12245965.html

机器学习和大数据优质资料打包下载,宅在家里学习吧!

限于喜欢 提交于 2020-01-29 17:59:24
与其宅在家里无聊,不如利用网络免费资源丰富一下自己的知识储备。这里我总结了一下大数据和AI相关领域的免费资源,这些书籍和资料都是我个人阅读过,一些阅读经验也和大家分享一下。鉴于当前形势,购买书籍不太方便,我已经将这些书籍的电子版打包整理好,文末有下载方式。 机器学习 机器学习 入门机器学习有两本必读的中文书:周志华的《机器学习》和李航的《统计学习方法》。这两本书主要介绍机器学习的统计学原理,深入浅出,是机器学习必不可少的好书。其中,周志华的《机器学习》封面是一个西瓜,内容中大量使用了瓜来举例,因此被称为西瓜书。我认为,对于零基础的朋友,周志华的这本西瓜书入门机器学习更合适。《统计学习方法》适合面试算法工程师前快速地回顾和梳理知识。我建议在有一定的《机器学习》阅读基础后,再学习《统计学习方法》。 深度学习 深度学习领域很多人推荐Ian Goodfellow和Yoshua Bengio等大牛的《Deep Learning》,因其封面是一幅花的油画,被称为花书。中文本由北大张志华老师团队翻译。我自己读过中文版,读了两三章放弃了,因为整本书主要介绍深度学习背后的各种数学推导,即使有一定数学基础的朋友也可能需要花费大量精力啃明白书中的各种数学符号,因此这本书更适合深度学习相关的博士生和研发人员。有英文基础的朋友可以直接在线阅读:http://www.deeplearningbook.org/

机器学习的最佳入门学习资源

|▌冷眼眸甩不掉的悲伤 提交于 2020-01-28 23:26:55
Programming Libraries 编程库资源 我是一个“学习要敢于冒险和尝试”观念的倡导者。这是我学习编程的方式,我相信很多人也是这样学习程序设计的。先了解你的能力极限,然后去拓展你的能力。如果你了解如何编程,可以将编程经验很快借鉴到深入学习机器学习上。在你实现一个实际的产品系统之前,你必须遵循一些规则、学习相关数学知识。 找到一个库并且仔细阅读相关文档,根据教程,开始尝试实现一些东西。下面列出的是开源的机器学习库中最好的几种。我认为,并不是他们中的每一种都适合用在你的系统中,但是他们是你学习、探索和实验的好材料。 你可以从一个由你熟悉的语言编写的库开始学习,然后再去学习其他功能强大的库。如果你是一个优秀的程序员,你会知道怎样从一种语言,简单合理地迁移到另一种语言。语言的逻辑都是相同的,只是语法和API稍有不同。 R Project for Statistical Computing :这是一个开发环境,采用一种近似于Lisp的脚本语言。在这个库中,所有你想要的与统计相关的功能都通过R语言提供,包括一些复杂的图标。CRAN(你可以认为是机器学弟的第三方包)中的机器学习目录下的代码,是由统计技术方法和其他相关领域中的领军人物编写的。如果你想做实验,或是快速拓展知识,R语言都是必须学习的。但它可能不是你学习的第一站。 WEKA :这是一个数据挖掘工作平台

机器学习的最佳入门学习资源

孤街醉人 提交于 2020-01-28 05:48:59
这是一篇很难写的文章,因为我希望这篇文章能对学习者有所启发。我在空白页前坐下,并且问自己了一个很难的问题:什么样的库、课程、论文和书籍对于机器学习的初学者来说是最好的。 文章里到底写什么、不写什么,这个问题真的让我很烦恼。我必须把自己当做一个程序员和一个机器学习的初学者,站在这个角度去考虑最合适的资源。 我找出了每个类型中最适合的资源。如果你是一个真正的初学者,并且乐意于开始了解机器学习领域的相关知识,我希望,你可以在我的文章中找到有用的资料。我的建议是,从中挑出一件来,一本书或者是一个库,反复阅读或者认真学习所有的相关教程。挑出一个并且坚持学习,直到你完全掌握,再重新选择一个,重复这个学习过程。现在就让我们开始吧! Programming Libraries 编程库资源 我是一个“学习要敢于冒险和尝试”观念的倡导者。这是我学习编程的方式,我相信很多人也是这样学习程序设计的。先了解你的能力极限,然后去拓展你的能力。如果你了解如何编程,可以将编程经验很快借鉴到深入学习机器学习上。在你实现一个实际的产品系统之前,你必须遵循一些规则、学习相关数学知识。 找到一个库并且仔细阅读相关文档,根据教程,开始尝试实现一些东西。下面列出的是开源的机器学习库中最好的几种。我认为,并不是他们中的每一种都适合用在你的系统中,但是他们是你学习、探索和实验的好材料。 你可以从一个由你熟悉的语言编写的库开始学习

最近对数据挖掘感兴趣了,为什么国外的课程会这么好

烈酒焚心 提交于 2020-01-27 14:09:46
贴上671coder的一篇帖子 : 原址见 : http://blog.csdn.net/liuqiyao_01/article/details/37904611 前言 事实上有许多的途径可以了解机器学习,也有许多的资源例如书籍、公开课等可为所用,一些相关的比赛和工具也是你了解这个领域的好帮手。本文我将围绕这个话题,给出一些总结性的认识,并为你由程序员到机器学习高手的蜕变旅程中提供一些学习指引。 机器学习的四个层次 根据能力可以将学习过程分成四个阶段。这也是一个有助于我们将所有学习资源进行分类的好方法。 初学阶段 新手阶段 中级阶段 高级阶段 我之所以把初学阶段和新手阶段区分开来,是因为我想让那些完全初学者(对这个领域感兴趣的程序员)在初学阶段对机器学习有一个大致的认识,以便决定是否继续深入。 我们将分别探讨这四个阶段,并推荐一些能够帮助我们更好地理解机器学习和提高相关技能的资源。对学习阶段进行这样的分类只是我个人的建议,也许每个分类的前后阶段中也有一些适合当前阶段的资源。 我认为对机器学习有一个整体性的认识是非常有帮助的,我也希望能听听你们的想法,通过在下面评论告诉我吧! 初学阶段 初学者是指那些对机器学习感兴趣的程序员。他们或许已经接触过一些相关的书籍、wiki网页,或者是已经上过几节机器学习课程,但是他们并没有真正地了解机器学习