python机器学习

吴恩达-coursera-机器学习-week2

♀尐吖头ヾ 提交于 2020-03-03 18:30:57
四、多变量线性回归(Linear Regression with Multiple Variables) 4.1 多维特征 4.2 多变量梯度下降 4.3 梯度下降法实践1-特征缩放 4.4 梯度下降法实践2-学习率 4.5 特征和多项式回归 4.6 正规方程 4.7 正规方程及不可逆性(可选) 五、Octave教程(Octave Tutorial) 5.1 基本操作 5.2 移动数据 5.3 计算数据 5.4 绘图数据 5.5 控制语句:for,while,if语句 5.6 向量化 5.7 工作和提交的编程练习 第2周 四、多变量线性回归(Linear Regression with Multiple Variables) 4.1 多维特征 参考视频: 4 - 1 - Multiple Features (8 min).mkv 目前为止,我们探讨了单变量/特征的回归模型,现在我们对房价模型增加更多的特征,例如房间数楼层等,构成一个含有多个变量的模型,模型中的特征为 \(\left( {x_{1}},{x_{1}},...,{x_{n}} \right)\) 。 增添更多特征后,我们引入一系列新的注释: \(n\) 代表特征的数量 \({x^{\left( i \right)}}\) 代表第 \(i\) 个训练实例,是特征矩阵中的第i行,是一个向量(vector)。 比方说,上图的

机器学习研究与开发平台的选择

[亡魂溺海] 提交于 2020-02-29 18:29:09
    目前机器学习可以说是百花齐放阶段,不过如果要学习或者研究机器学习,进而用到生产环境,对平台,开发语言,机器学习库的选择就要费一番脑筋了。这里就我自己的机器学习经验做一个建议,仅供参考。     首先,对于平台选择的第一个问题是,你是要用于生产环境,也就是具体的产品中,还是仅仅是做研究学习用? 1. 生产环境中机器学习平台的搭建     如果平台是要用于生产环境的话,接着有一个问题,就是对产品需要分析的数据量的估计,如果数据量很大,那么需要选择一个大数据平台。否则的话只需要一个单机版的平台就可以了。 1.1 生产环境中机器学习大数据平台的搭建     生产环境里面大数据平台,目前最主流的就是Spark平台,加上辅助的分布式数据处理容器,比如YARN,或者Mesos.如果需要实时的收集在线数据,那么就加上Kafka。简言之,一个通用的大数据处理平台就是集成Spark + YARN(Mesos) + Kafka. 我现在做的产品项目都是基于Spark + YARN+ Kafka的,目前来看,这个平台选择基本上是主流的方向。     当然,有人会说,这么多开源软件,一起集成起来好麻烦,大坑肯定不少,有没有一个通用的平台,可以包括类似Spark + YARN+ Kafka的大数据平台功能呢?目前据我所知,做的比较好的有CDAP(http://cdap.io)。它对Spark,

python机器学习简介

廉价感情. 提交于 2020-02-29 09:35:02
目录 一:学习机器学习原因和能够解决的问题 二:为什么选择python作为机器学习的语言 三:机器学习常用库简介 四:机器学习流程   机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。 专门研究计算机怎样模拟或实现人类的学习行为 ,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。从数据中提取知识,也被称为 预测分析 或 统计学习 。   它是人工智能的核心,是使计算机具有智能的根本途径。   下面就让我们先了解一下机器学习吧。 一:学习机器学习原因和能够解决的问题 1.原因   机器学习现在已经越来越流行,并且在实际生活运用以及高级的科学问题上做出了贡献。   在早期的时候,许多系统和程序都是人为设定的决策规则,但是,人为制定的决策规则有缺点。一个是任务稍微有变化,可能需要重写系统;另一方面,还需要决策者对决策过程有很深刻的理解。   一个例子就是人脸识别,人类和计算机对人脸的描述有所不同,因此有时候需要用机器进行非常复杂的操作,并且需要机器能够自动学习和识别,这就需要让计算机机器进行机器学习。因此学习机器学习是很有必要的。 2.机器学习能够解决的问题   最成功的机器学习算法是能够将决策过程自动化的算法,从已知的示例中推导并泛化得出。这种算法叫做 监督学习 。   在这种算法中,用户将成对的输入和预期输出提供给算法

百面机器学习——python实现二分类逻辑回归

纵饮孤独 提交于 2020-02-28 13:03:43
后面注释的是一个py文件写好分装的LogisticRegression函数,而不是直接调用sklearn import matplotlib . pyplot as plt from sklearn import datasets from sklearn . model_selection import train_test_split from LogisticRegression import LogisticRegression # 取鸢尾花数据集 iris = datasets . load_iris ( ) X = iris . data y = iris . target # 筛选特征 X = X [ y < 2 , : 2 ] y = y [ y < 2 ] y array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,

机器学习研究与开发平台的选择

本小妞迷上赌 提交于 2020-02-25 18:19:41
    目前机器学习可以说是百花齐放阶段,不过如果要学习或者研究机器学习,进而用到生产环境,对平台,开发语言,机器学习库的选择就要费一番脑筋了。这里就我自己的机器学习经验做一个建议,仅供参考。     首先,对于平台选择的第一个问题是,你是要用于生产环境,也就是具体的产品中,还是仅仅是做研究学习用? 1. 生产环境中机器学习平台的搭建     如果平台是要用于生产环境的话,接着有一个问题,就是对产品需要分析的数据量的估计,如果数据量很大,那么需要选择一个大数据平台。否则的话只需要一个单机版的平台就可以了。 1.1 生产环境中机器学习大数据平台的搭建     生产环境里面大数据平台,目前最主流的就是Spark平台,加上辅助的分布式数据处理容器,比如YARN,或者Mesos.如果需要实时的收集在线数据,那么就加上Kafka。简言之,一个通用的大数据处理平台就是集成Spark + YARN(Mesos) + Kafka. 我现在做的产品项目都是基于Spark + YARN+ Kafka的,目前来看,这个平台选择基本上是主流的方向。     当然,有人会说,这么多开源软件,一起集成起来好麻烦,大坑肯定不少,有没有一个通用的平台,可以包括类似Spark + YARN+ Kafka的大数据平台功能呢?目前据我所知,做的比较好的有CDAP(http://cdap.io)。它对Spark,

机器学习概览

帅比萌擦擦* 提交于 2020-02-24 20:39:03
什么是机器学习? 广义概念: 机器学习是让计算机具有学习的能力,无需明确的编程 —— 亚瑟·萨缪尔,1959 工程概念: 计算机程序利用经验 E 学习任务 T,性能是 P,如果针对任务 T 的性能 P 随着经验 E 不断增长,则称为机器学习。 —— 汤姆·米切尔,1997 机器学习系统的类型 机器学习有多种类型,可以根据以下规则进行分类: 是否在人类监督下进行训练(监督、非监督、半监督和强化学习) 是否可以动态渐进学习(在线学习和批量学习) 它们是否只是简单的通过比较新的数据点和已知的数据点,还是在训练数据中进行模式识别,以建立一个预测模型,就像科学家所做的那样(基于实力学习和基于模型学习) 监督/非监督学习 机器学习可以根据训练时监督的量和类型进行分类。主要有四类:监督、非监督、半监督和强化学习 监督学习 在监督学习中,用来训练算法的训练数据包含了答案,称为标签。 图 1 用于监督学习(比如垃圾邮件分类)的加了标签的训练集 一个典型的监督学习就是分类,垃圾邮件过滤器就是一个很好的例子:用很多带有归类(垃圾邮件和普通邮件)的邮件样本进行训练,过滤器还能用新邮件进行分类。 另一个典型数值是预测目标数值,例如给出一些特征(里程数、车程、品牌等等)称为预测值,来预测一辆汽车的价格。这类任务称为回归,要训练在这个系统,你需要给出大量汽车样本,包括它们的预测值和标签(即它们的价格) 图2

收藏!2020 年最具潜力 44 个顶级开源项目,涵盖 11 类 AI 学习框架、平台

佐手、 提交于 2020-02-24 07:14:25
工欲善其事必先利其器,这也是大部分开发者在日常工作中最重要开发原则。选择与开发内容相匹配的工具,常常会使我们事半功倍。但面对人工智能的多个领域,如:机器学习、深度学习、NLP等等,多样的工具有时也让我们也无从选择。 就在最近,一个基于 javascript 的可视化库 D3js(treemap 可视化)对 json 文件生成的技术图,给开发者提供了详细的各领域工具清单,内容涵盖了 11 种极具潜力的 AI 工具类型,我们将其整理如下,强烈建议大家收藏~ 原文链接:https://github.com/haggaishachar/techmap 目录: Ⅰ、经典机器学习(1-3) Ⅱ、深度学习(4-8) Ⅲ、强化学习(9-12) Ⅳ、自然语言处理(13-18) Ⅴ、语音识别(19-21) Ⅵ、计算机视觉(22-26) Ⅶ、分布式训练(27-31) Ⅷ、自动建模(32-35) Ⅸ、IDEs系统(36-38) Ⅹ、平台(39-41) Ⅺ、评分推理系统(42-43) I . 适用于经典机器学习的工具 一、SciKit-learn  star 39.2k  fork 19.2k scikit-learn 是一种强大的基于 Python 语言的机器学习算法库(https://scikit-learn.org/stable/)。其中,包含了算法预处理,模型参数择优,回归与分类等算法

机器学习 TensorFlow 实现智能鉴黄

不羁的心 提交于 2020-02-23 00:50:13
机器学习 TensorFlow 实现智能鉴黄 前言 最近在做一款图床服务,关注公号的小伙伴一定记得小柒曾说过,会在周末放出的,不好意思放大家鸽子了。之所以一直没敢放出,是因为鉴黄接口一直没调试好,虽然我对公号的小伙伴百分之百信任,奈何互联网鱼龙混杂,万一上传了什么不雅的图片,然后不巧被某部门发现了,我包括我的服务器域名可就彻底玩完了! 架构 如图,先聊一下图床的架构: Nginx 代理那是必备神器了。 lua 限流是一定的了,虽然前期没啥子流量,后期可能也没有。 限量限制大小也是必须的了,不然带宽受不了。 接入鉴黄,毕竟咱是合法备案网站。 文件多重备份,OSS、分布式文件、本地文件各一份,防止走丢。 为了查询方便,最后落库。 工具 SpringBoot,一个简化 Spring 开发的框架。 WebUploader,一个简单的以 HTML5 为主, FLASH 为辅的现代文件上传组件。 Python,加持各种开源第三方库处理图片。 nsfw_data_scraper,一个近 1w 星标的珍藏数据资源。 docker_nsfw_data_scraper,用于收集训练数据。 TensorFlow,开源机器学习库。 ResNet,图像分类的预训练模型。 TensorFlow-serving,部署 tensorflow 模型,并提供服务。 训练模型 训练之前,先介绍一个名词 NSFW

机器学习 特征工程 Python sklearn

天涯浪子 提交于 2020-02-22 19:42:16
机器学习 特征工程 Python sklearn 本博客代码: Github_GDUT-Rp 1 特征工程 数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。 特征处理是特征工程的核心部分,sklearn提供了较为完整的特征处理方法,包括数据预处理,特征选择,降维等。首次接触到sklearn,通常会被其丰富且方便的算法模型库吸引,但是这里的介绍的特征处理库也十分强大! 2 数据预处理 通过特征提取,我们能得到未经处理的特征,这时的特征可能有以下问题: 不属于同一量纲:即特征的规格不一样,不能够放在一起比较。无量纲化可以解决这一问题。 信息冗余:对于某些定量特征,其包含的有效信息为区间划分,例如学习成绩,若只关心“及格”或“不及格”,那么需要将定量的考分,转化为“1”和“0”表示及格和未分类。二值化可以解决这一问题。 定性特征不能直接使用:某些机器学习算法和模型只能接受定量特征的输入,那么需要将定性特征转换为定量特征。最简单的方式是为每一种定性值,但是这种方式过于灵活,增加了调参的工作。通常使用哑编码的方式将定性特征为定量特征:假设有N种定性值,则将这一个特征扩展为N种特征,当原始特征值为第i种定性值时,第i个扩展特征赋值为1,其他扩展特征赋值为0.哑编码的方式相比直接指定的方式,不用增加调参的工作,对于线性模型来说,使用哑编码后的特征可达到非线性的效果。 存在缺失值

《机器学习实战》kNN学习笔记(二)

笑着哭i 提交于 2020-02-22 06:35:27
在约会网站上使用k-近邻算法 首先,把约会数据存放在文本文件datingTestSet中,样本主要包括以下三个特征 每年获得的飞行常客里程数 玩视频游戏所耗时间百分比 每周消耗的冰激凌公升数 在kNN.py中创建名为file2matrix的函数,以此来处理输入格式问题。该函数的输入为文件名字符串,输出为训练样本矩阵和类标签向量 def file2matrix(filename): # 打开文件 fr = open(filename) # 读取文件所有内容 arrayOlines = fr.readlines() # 得到文件行数 numberOfLines = len(arrayOlines) # 返回的NumPy矩阵numberOfLines行,3列 returnMat = np.zeros((numberOfLines, 3)) # 创建分类标签向量 classLabelVector = [] # 行的索引值 index = 0 # 读取每一行 for line in arrayOlines: # 去掉每一行首尾的空白符,例如'\n','\r','\t',' ' line = line.strip() # 将每一行内容根据'\t'符进行切片,本例中一共有4列 listFromLine = line.split('\t') # 将数据的前3列进行提取保存在returnMat矩阵中