python机器学习

【华为云技术分享】机器学习(01)——机器学习简介

匆匆过客 提交于 2020-03-19 13:30:21
最近在研究机器学习,随手将学习的过程记录下来,方面自己的学习与回顾 1. 机器学习是什么? 机器学习(Machine Learning,ML)是专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能的一门科学技术。 它使用计算机技术,应用微积分、概率论、统计学、逼近论、凸分析、算法等多种不同的理论与学科,针对分析目标建立有针对性的数据模型,通过对过往历史数据的学习(分类、回归、聚类等),完成基本算法模型,并能通过后续持续的学习(数据输入),在将杂乱的数据转换(输出)成有用信息的同时,还能不断优化改造自身。 2. 机器学习能解决什么问题? 对于学习,人的学习过程,是通过观察(输入),根据过往经验对观察到的内容进行思考(处理),最后得出结论(输出)的过程。 而机器学习是计算机利用已有的数据(一般是海量数据),得出了某种模型(算法模型),并利用此模型预测未来的一种方法。 机器学习主要解决的问题可以归纳为:优化,预测,相关性。可以说,只要是涉及到优化,预测,个性化相关的问题,机器学习和深度学习都可以处理。 比如说,我们去买百香果吃,我们没有买百香果的经验,不知道那些是甜的那些是酸的,然后我们买了一大堆回来,有大的、小的、轻的、重的、红的、紫的、白的、黄的、果皮光滑的、干皱的...然后每一个都尝一便,最后发现,百香果原来有两大类

机器学习岗位面试总结:简历应该关注的5个重点

£可爱£侵袭症+ 提交于 2020-03-16 15:06:43
机器学习简历的一些小技巧 如今的公司很难找到优秀的机器学习人才。当然,任何特定技能的要求都取决于机器学习项目的用途和要求,但是您的机器学习履历中必须具备的某些技能在各种项目要求中是一致的。 通常,公司希望面试者具备丰富的机器学习技能,理论和编码能力,以便在需要时能够跨部门参与机器学习项目。 该领域的专家不仅需要具有扎实的机器学习算法水平,了解什么时候该应用什么算法,还需要掌握如何集成和接口。所需的核心技能是专门的,要求具有良好的数学理解,分析思维和解决问题的能力。尽管每个项目文件要求的特定技能各不相同,但对于所有角色而言,核心的机器学习技能都是不变的。 简历上必须出现的技能 概率与统计 概率论是大多数机器学习算法的主要内容。熟悉概率可以使您能够处理数据的不确定性。如果您从事与模型构建和评估有关的机器学习工作,掌握诸如Python,高斯混合模型和隐马尔可夫模型等概率理论,是非常必要的。 与概率论密切相关的是数据统计。 它提供了构建和验证模型所需的测度,分布和分析方法。 它还提供了用于创建模型和检验假设的工具和技术。 它们共同构成了机器学习模型的框架。这是制作机器学习简历时要考虑的第一件事。 计算机科学和数据结构 机器学习使用大量数据集,因此必须掌握计算机科学和底层体系结构的基础知识,还必须具备大数据分析和复杂数据结构方面的专业知识。 因此

《机器学习算法入门》即将上市出版,预计2020年6,7月份

我怕爱的太早我们不能终老 提交于 2020-03-15 01:51:33
《机器学习入门》本书通过通俗易懂的语言,丰富的图示和经典的案例,让广大机器学习爱好者轻松入门机器学习Machine Learning,有效地降低了学习的门槛。 本书共分11章节,覆盖的主要内容有机器学习概述、数据预处理、K近邻算法、回归算法、决策树、K-means聚类算法、随机森林、贝叶斯算法、支持向量机、神经网络(卷积神经网络、Keras深度学习框架)、人脸识别入门等。从最简单的常识出发来切入 AI 领域,打造无缝平滑的兴奋的学习体验。 本书的读者,只需具备Python语言的基础知识和简单了解过numpy、Pandas等科学基础库,不需要有数学基础,也不需要有机器学习或者 AI 的基础。相关院校和培训机构也可以将此书作为机器学习入门教材使用。 由于疫情原因,本书推迟出版,将于2020年6,7月份上市,敬请期待! 来源: 51CTO 作者: songlihuan 链接: https://blog.51cto.com/songlihuan/2478433

关于Django创建模型时,django.db.utils.OperationalError错误

风格不统一 提交于 2020-03-12 23:38:23
在django保存的模型对象的时候,出现如下错误: django.db.utils.OperationalError: (1366, "Incorrect string value: '\\xE8\\xBF\\x90\\xE8\\x90\\xA5...' for column 'name' at row 1") 有可能是mysql的数据库字符集问题,执行如下代码: show full columns from <你的对象表格> 得到如下输出: 在my.cnf文件里面配置如下: character-set-server=utf8 collation-server=utf8_general_ci 重启mysql,删除数据库重新执行,如下: python manage.py makemigration python manage.py migrate 最后推荐本人新书 内容简介:近年来机器学习是一个热门的技术方向,但机器学习本身并不是一门新兴学科,而是多门成熟学科(微积分、统计学与概率论、线性代数等)的集合。其知识体系结构庞大而复杂,为了使读者朋友能够把握机器学习的清晰的脉络,本书尽可能从整体上对机器学习的知识架构进行整理,并以Sklearn和Keras等机器学习框架对涉及的相关理论概念进行代码实现,使理论与实践相结合。 本书分为4个部分:第1章至第3章主要介绍机器学习的概念

第一篇[机器学习] 学习机器学习,从零开始准备

北城余情 提交于 2020-03-12 04:22:31
写在最开始 :学了几个月,看了很多建议,走了不少弯路,不忘初心,坚持到底! 以下内容以及接下来的 [机器学习] 系列随笔会记录下我的学习路程,希望对各位有所帮助。 学习原因 :危机感 学习准备 : 1.下载安装了python 2.7, 后来换成了python3.0,安装各种库累的半死然后下载anaconda一次性搞定,然后python入门,略 2.下载安装了octave,然后看了一份octave入门,在看吴恩达coursera的课程之前,竟然不知道有如此简洁苗条的matlab替代品! 3.找了一堆学习资料,包括吴军的《机器学习》,马春鹏翻译的《模式识别与机器学习》,《机器学习实战》还有一本不知作者的《机器学习》,详详略略的都翻看了一下,还有一些辅助类的书籍,《数学之美》,《python科学计算》等 4.扫了一下网上的各种入门指导,决定还是看scikit-learn吧 前期学习感受 : 1.需要一些数学知识入门,否则云里雾里,不知道为什么用哪种算法,也无法判断优劣;但是学的稍微深一点还是比较难 2.需要学习python的一些编程知识,然后能比较熟练的使用numpy,pandas 3.需要学习数据结构 4.需要能进行数据分析 5.尝试多种算法,分析结果原因 理想成就 : 能用python爬虫收集数据,进行数据分析,选择合适的算法并调试,得到结果

Python常见的模块(知乎转载)

﹥>﹥吖頭↗ 提交于 2020-03-09 13:01:51
核心库和统计 1. NumPy (提交:17911,贡献者:641) 首先介绍科学应用方面的库,其中NumPy是不可忽视的选择。NumPy用于处理大型多维数组和矩阵,并通过大量的高级数学函数和实现方法进行各种操作。在过去一年里NumPy进行了大量改进。除了bug修复和兼容性问题之外,还涉及到样式可能性,即NumPy对象的格式化打印。 推荐资源: NumPy 数值计算基础课程_机器学习 - 实验楼 ​www.shiyanlou.com 2. SciPy (提交:19150,贡献者:608) 科学计算方面的另一个核心库是SciPy。SciPy基于NumPy因此扩展了NumPy的功能。SciPy的主要数据结构是由Numpy实现的多维数组。当中包括许多解决线性代数、概率论、积分等任务的工具。SciPy的主要改进包括,持续集成到不同操作系统,以及添加的新功能和新方法。此外,还封装了许多新的BLAS和LAPACK函数。 推荐资源: SciPy 科学计算基础课程_机器学习 - 实验楼 ​www.shiyanlou.com 3. Pandas (提交:17144,贡献者:1165) Pandas是一个Python库,提供高级数据结构和各种分析工具,主要特点是能够将相当复杂的数据操作转换为一两条命令。Pandas包含许多用于分组,过滤和组合数据的内置方法,以及时间序列功能

Scikit-Learn机器学习入门

荒凉一梦 提交于 2020-03-08 16:19:53
现在最常用的数据分析的编程语言为R和Python。每种语言都有自己的特点,Python因为Scikit-Learn库赢得了优势。Scikit-Learn有完整的文档,并实现很多机器学习算法,而每种算法使用的接口几乎相同,可以非常快的测试其它学习算法。 Pandas一般和Scikit-Learn配合使用,它是基于Numpy构建的含有更高级数据结构和工具的数据统计工具,可以把它当成excel。 加载数据 首先把数据加载到内存。下载UCI数据集: 1 2 3 4 5 6 7 8 9 10 11 import numpy as np import urllib # 数据集的url url = "http://archive.ics.uci.edu/ml/machine-learning-databases/pima-indians-diabetes/pima-indians-diabetes.data" # 下载文件 raw_data = urllib . urlopen ( url ) # 把数据加载到numpy matrix dataset = np . loadtxt ( raw_data , delimiter = "," ) # 分离数据集 X = dataset [ : , 0 : 7 ] # 属性集 y = dataset [ : , 8 ] # 标签 数据标准化

简单粗暴理解与实现机器学习之神经网络NN(四):词向量-word2vec、Word2Vec模型介绍、统计语言模型、神经网络语言模型NNLMNNLM、Word2Vec案例Word2vec、词向量工具使用

青春壹個敷衍的年華 提交于 2020-03-08 03:50:06
文章目录 7.4 词向量-word2vec 学习目标 7.3.1 Word2Vec模型介绍 7.3.1.1 为什么学习词嵌入 7.3.1.2 词向量是什么 7.3.1.3 词向量训练来源思想-统计语言模型 统计语言模型案例 统计语言模型缺点 7.3.1.4 神经网络语言模型NNLMNNLM 神经网络语言模型例子 7.3.1.4 Word2Vec 举例:CBOW前向计算与向量(参数)更新推导 7.3.1.5 拓展- Word2vec 的训练trick(优化) 7.3.2 Word2vec 词向量工具使用 7.3.3 总结 7.4 词向量-word2vec 学习目标 目标 知道统计语言模型 掌握神经网络语言模型NNLM原理 掌握wor2vec的实现方式以及优化特点 应用 无 7.3.1 Word2Vec模型介绍 7.3.1.1 为什么学习词嵌入 图像和音频处理系统采用的是庞大的高维度数据集,对于图像数据来说,此类数据集会编码为单个原始像素强度的向量。不过,自然语言处理系统一直以来都将字词视为离散的原子符号,将字词表示为唯一的离散 ID 还会导致数据稀疏性,并且通常意味着我们可能需要更多数据才能成功训练统计模型。使用向量表示法可以扫除其中一些障碍。 计算相似度 寻找相似词 信息检索 作为 SVM/LSTM 等模型的输入 中文分词 命名体识别 句子表示 情感分析 文档表示 文档主题判别

机器学习环境搭建教程(Windows+Python+Anaconda+Jupyter+Tensorflow)(三)

╄→尐↘猪︶ㄣ 提交于 2020-03-07 02:39:49
上一节介绍了Anaconda的安装,这一节讲一下如何使用它。在Anaconda中有一个自带的编辑器叫Jupyter,它是基于网页的,对于代码的可视化展示有很好的效果,因此这里将主要介绍Jupyter的使用,至于像自带的Spyder,感兴趣的小伙伴可以自己鼓捣一下。 Python安装 Anaconda安装 Jupyter安装 Tensorflow安装 可能有小伙伴要问我了,为什么不讲一下Jupyter的安装呢?首先来说,如果你在你的Windows电脑上已经安装了Python,那么你只需在命令行窗口中切换到你安装Python目录的Scripts目录下,执行指令pip install jupyter即可安装,但是这样很难一次性安装成功,因为要下载很多文件,而在这个过程中可能会因为网速太慢而出现中断,导致安装失败,所以直接用Anaconda自带的Jupyter要快得多。 点击左下角Windows开始图标,在所有程序中找到Anaconda文件夹,点击Anaconda Prompt,如下图输入Jupyter notebook,回车静待Jupyter notebook启动, 打开之后是这样子的, 因为Jupyter notebook默认的工作空间在Administrator文件夹下,所以会加载该文件夹下的所有文件,这样不好,可以更换工作空间,比方说在其他非系统盘建个专属文件夹

机器学习算法理论及实战(一)——KNN算法

百般思念 提交于 2020-03-05 21:06:04
目录: 一、介绍 二、工作流程 三、示例 四、用Python实现 1.模拟数据及绘图 2.KNN过程 3.使用scikit-learn中的KNN 五、KNN的优缺点 1.优点 2.缺点 六、KNN的应用 1.银行系统 2.计算信用等级 3.政治 4.其他领域 一、介绍 K最近邻(KNN)算法是一种监督的ML算法,可用于分类以及回归预测问题。但是,它主要用于行业中的分类预测问题。以下两个属性将很好地定义KNN: 惰性学习算法 :因为它没有专门的训练阶段,并且在分类时将所有数据用于训练。 非参数学习算法 :因为它不假设有关基础数据的任何信息 。 二、工作流程 K最近邻(KNN)算法使用“特征相似性”来预测新数据点的值,这意味着,将根据新数据点与训练集中的点的匹配程度为该新数据点分配一个值。我们可以通过以下步骤了解其工作方式: 步骤1: 加载训练以及测试数据。 步骤2: 选择K的值,即最近的数据点(K可以是任何整数)。 步骤3: 对于测试数据中的每个点,请执行以下操作: 借助以下任意一种方法来计算测试数据与训练数据的每一行之间的距离: 欧几里得距离,曼哈顿距离或汉明距离 。 最常用 的距离计算方法是欧几里得。 基于距离值,将它们按升序排序。 然后它将从排序后的数组中选择前K行。 现在,它将基于这些行中最多出现的类别为测试点分配这一个类。 步骤4: 结束。 三、示例