python机器学习

机器学习之python基础(一)

人走茶凉 提交于 2019-11-29 20:15:34
机器学习之python基础(一) 综述 这一系列博客是记录我在学习python和机器学习的过程中的一些实践过程和体会,学习python时用到的参考书籍是《python学习手册》 第四版 ,即《learning python》的中文第四版。学习机器学习时所用的主要参考书籍是《机器学习实战》,还参考了CSDN博客平台上博客名为zouxy09的部分博客文章(博客后面附有url链接),实现其中的各种算法所使用的程序语言是python,实验平台是Ubuntu14.04,所使用的python版本是2.7.6。如果有博友想要与我进行交流可以在博客后面留言,或者发邮件到我的邮箱zouchaobin@foxmail.com。 由于python3.0以后的版本与python3.0之前的版本有较大改变,所以为了某些代码的兼容性(如print函数),也为了便于直接使用《python学习手册》中的源代码(这本书的源代码是基于python3.x的),我决定采用以下处理方式: from __future__ import print_function from __future__ import division 在每个代码文件的开头加入以上两行代码,这样的话就可以使用python3.x的print函数和除法运算了,这样便于将这些代码稍加修改就能移植到python3.x的平台上。 python核心数据类型

2019软件工程第二次作业

别说谁变了你拦得住时间么 提交于 2019-11-29 16:18:11
一、前言 在第一篇博客中我有讲到目前想学习的技术方向是机器学习,机器学习是人工智能的核心,了解到机器学习涵盖了很多,比如Python的学习就是我首先要攻克的问题,还包括一些数学理论以及很多的算法等等。在以前呢,想自学都是随性的,没有什么具体的计划,这次也希望通过这样的路线图可以帮助我从空想到行动吧。 学习路线图 我想在五个月内完成机器学习的全部是不太现实的,但是我可以将其中的Python学习及实践和数学理论可以在五个月内计划完成。先勇敢的踏出第一步吧。 来源: https://www.cnblogs.com/lrongblog/p/11521958.html

python调用scikit-learn机器学习

天涯浪子 提交于 2019-11-29 11:20:05
不支持深度学习和强化学习 numpy介绍: np.eye(n)生成一个n维单元数组 数据预处理: iris数据加载 from sklearn import datasets iris = datasets.load_iris() 数据展示 显示iris的信息 print(iris.data) [[5.1 3.5 1.4 0.2] [4.9 3. 1.4 0.2] [4.7 3.2 1.3 0.2] …… [5. 3.6 1.4 0.2] [5.4 3.9 1.7 0.4] [4.6 3.4 1.4 0.3]] 每列数据表示不同样本同一属性下对用的数值 print(iris.feature_names) ['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)'] 输出目标结果 print(iris.target) [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 1 1 1 1 1 1 1 1 1 1

机器学习之K近邻算法(KNN)

孤街浪徒 提交于 2019-11-29 10:43:06
机器学习之K近邻算法(KNN) 标签: python 算法 KNN 机械学习 苛求真理的欲望让我想要了解算法的本质,于是我开始了机械学习的算法之旅 from numpy import * import operator from collections import Counter #KNN需要测试集,训练集,标签和k值 #测试集:你需要测试的数据 #训练集:给定的标准数据 #标签:每个标准数据的类别 #k值 :测试集和训练集相比较下前K个最相识的训练集的值 # 用KNN算法找出测试集的类别 #1,求出已知类别训练集中的点与当前点之间的距离 #2,对所求距离以此递增排序 #3,选取与当前点距离最小的k个点 #4,确定前k个点所在类别的出现频率 #5,返回前k个点出现频率最高的类别作为当前点的预测分类 def kNNClassify(testSet, trainSet, labels, k = 3 ): rows = trainSet.shape[ 0 ] #shape[0]得到训练集的行数 #求距离 distSet = tile(testSet, (rows, 1 )) - trainSet #得到距离矩阵 distance = sum (distSet ** 2 , axis = 1 ) ** 0.5 # 求出距离 #排序 #得到排序后数据原位置的下标,排序后位置是不变的

Python: scikit-learn环境部署准备

落花浮王杯 提交于 2019-11-29 07:24:51
本文参考imooc中的<<python调用scikit-learn实现机器学习>> 人工智能: 本质是机器对人的思维信息过程的模拟,让它像人一样思考。根据输入信息进行模型结构、权重更新,实现最终优化。 特点:信息处理、自我学习、优化升级。 输入-》处理-》输出 比如购物app的兴趣商品推荐、人脸识别等。 人工智能核心方法:机器学习、深度学习。【深度学习被包含于机器学习,机器学习被包含于人工智能。】 机器学习是一种实现人工智能的方法。深度学习是一种实现机器学习的技术。 机器学习 :使用算法解析数据,从中学习然后对真实世界中的事件做出决策和预测。比如:短信号识别等。 机器学习的主要类别: 监督学习 基于数据及结果进行预测。一组输入数据对应一个正确的输出结果。 使用标签数据训练机器学习模型。调用训练好的机器学习模型,根据新的输入数据预测对应的结果。【特征数据提取】 非监督学习 从数据中挖掘关联性。不存在正确的答案。 不需要标签数据,通过引入预设的优化准则进行模型训练。 强化学习 深度学习 :模仿人类神经网络,建立模型,进行数据分析。比如:人脸识别。 部署机器学习开发环境:python、scikit-learn(/TF)、jupyter notebook[轻量级基于web框架的开发环境] python:【胶水语言】 好消息是,微软平台已经出了官方文档学习Python: https:/

机器学习实战笔记-9-树回归

人走茶凉 提交于 2019-11-29 00:20:59
CART(classification and regression trees)树回归 优点:可对 复杂 和 非线性 的数据建模;缺点:结果不易理解;适用于:数值型和标称型。 构建树函数createTree()的伪代码: 选择最好的划分方式(得到最佳划分的特征与阈值):用于回归树和模型树 如果该节点不能再分,将该节点存为叶节点 执行二元划分 在右子树调用createTree()函数 在左子树调用createTree()函数 选择最好的划分方式 伪代码:用于回归树和模型树 如果所有标签都一样,返回一个叶子节点 计算当前误差 对每个特征: 对每个特征值: 将数据集划分为两份 计算划分的误差 如果当前误差小于当前最小误差,将当前划分设置为最佳划分并更新最小误差 如果误差减小得不大((S-bestS)\<tolS),返回一个叶子节点(不进行划分) (预剪枝) 如果划分出的数据集很小(shape(mat0)[0]\<tolN),返回一个叶子节点(不进行划分)(预剪枝) 返回最佳划分的特征和阈值 回归树中 创建叶子节点 函数代码:回归树中叶子节点是常数值(一堆数据的y平均值) def regLeaf(dataset): return mean(dataset[:,-1]) 树剪枝(可以避免过拟合) 函数伪代码: python 基于已有的树划分测试数据: 如果存在任一子集是一棵树

GitHub终极指南,教你如何在GitHub中“挖矿”

别来无恙 提交于 2019-11-28 22:41:44
"我应该在我的项目中使用GitHub吗?"——有抱负的数据科学家经常问我这个问题。只有一个答案——"绝对!" GitHub对于那些想要脱颖而出的数据科学家来说是一个非常有价值的平台。你可以把它当做一份在线简历,用来向招聘人员和其他专业人士展示你的代码。GitHub上有来自谷歌、Facebook、IBM、英伟达等顶尖科技巨头的开源项目,这些举措让GitHub更加受到人们的关注。 如果你是数据科学的初学者,或者是专业人士,你应该有一个GitHub账户。为了节省你寻找高含金量库的时间(虽然这样的库有很多),我很高兴在这篇文章中罗列出它们并将它们直接提供给你。 这篇文章集合了各种用例——计算机视觉(目标检测和分割),PyTorch实现的谷歌人工智能打破了用于NLP的BERT模型,提取最新的研究论文及其摘要等。 为什么我们要在这篇文章中加入关于Reddit的讨论呢?我个人觉得Reddit是一个极其有益的平台——因为它有着丰富的内容,众多机器学习/深度学习专家提出的想法,一些"骇人听闻"的话题,以及开源资源,等等。我可以继续说下去我喜欢它的原因,这足以表明我是有多么的推崇Reddit——它们是那样的独特而有价值。 你可以看看我关于GitHub上的顶级存储库和Reddit讨论(从4月份开始),我们每个月都在讨论: 一月:https://www.analyticsvidhya.com/blog

Python机器学习包安装(numpy,scipy,matplotlib、sklearn)

拟墨画扇 提交于 2019-11-28 21:46:09
Python机器学习包安装(numpy,scipy,matplotlib、sklearn) Python在机器学习方面非常好用,然而其中的各种包安装起来却很费劲!!!前段时间刚把电脑重置了,所以不得不再一次安装。不过之前怎么弄的全给忘了,然后又重新找了网上的各种资料终于把一些基础的库安装完了,也正好趁此次机会记录一下。 接下来就说一下numpy、scipy、matplotlib、sklearn这四个库的安装。其实这几个包安装起来还是比较简单的,主要是由于几个库之间有依赖性,再加上numpy直接用pip安装以后好像少了mkl这个东西,再安装scipy只能失败了。 我的系统是win10,python为3.70版本 1、numpy的安装 其实我直接用pip在线安装,也就是在cmd中输入 pip install numpy 结果是Successfully installed numpy 但实际上如果这样安装,在后面安装scipy时就会显示错误,所以接下来不得不把刚安装的包卸了。直接uninstall吧。 pip uninstall numpy 显然用pip直接安装numpy是行不通的了。 现在需要去 https://www.lfd.uci.edu/~gohlke/pythonlibs/ (各种包里面都有)这个网站把numpy的安装包下载下来,顺便把scipy的安装包一起下下来。 1-

机器学习和python学习之路技术书从入门到进阶pdf版附网盘链接(珍藏版)

寵の児 提交于 2019-11-28 20:09:44
转载自某大佬博客: https://pymlovelyq.github.io/2018/10/15/machineLearning/ “机器学习/深度学习并不需要很多数学基础!”也许你在不同的地方听过不少类似这样的说法。对于鼓励数学基础不好的同学入坑机器学习来说,这句话是挺不错的。不过,机器学习理论是与统计学、概率论、计算机科学、算法等方面交叉的领域,对这些技术有一个全面的数学理解对理解算法的内部工作机制、获取好的结果是有必要的。机器学习确实需要对一些数学领域有深入理解,缺乏必要的数学知识,很可能在更深入的学习中不断遇到挫折,甚至导致放弃。 说的很多小伙伴恐怕心都凉了一半,或者已经开始打退堂鼓了。不要紧,山人自有妙法。下面就给大家分享一下,主要是一些资源(书籍或者视频课程)。人工智能(机器学习或数据挖掘等)中最最重要的数学就是线性代数与概率论(还有其他,但这两者比重最大)。 所以我找了个书单自学,电子书为主,顺便分享出来。使用电子书的形式是因为,个人偏好。即使我买了实体书,一旦找到了电子书,我马上就会把纸质书扔到床底下。如果侵犯了任何人的权益,烦请及时通知。 前言:技术书阅读方法论 一.速读一遍(最好在1~2天内完成) 人的大脑记忆力有限,在一天内快速看完一本书会在大脑里留下深刻印象,对于之后复习以及总结都会有特别好的作用。 对于每一章的知识,先阅读标题,弄懂大概讲的是什么主题

机器学习——简单线性回归(原理推导+算法描述+代码实现)

喜欢而已 提交于 2019-11-28 18:58:46
实验环境:Python 3.6 编辑器:Jupyter Notebook 6.0.1 实验要求:可以调用numpy、pandas基础拓展程序包,不可以调用sklearn机器学 ——————————————————我是分割线喵———————————————————— ————————————(如果想要代码可以直接下拉到最后)———————————— 线性模型的一般形式:    向量形式:    线性模型的优点:   1、形式简单、易于建模   2、可解释性   3、是非线性模型的基础,可以在线性模型的基础上引入层级结构或高维映射 举个西瓜书里的例子:   系数可以反应该属性对该瓜是否是好瓜的影响因素大小    单一属性的线性回归目标:    参数/模型估计:最小二乘法    最小化均方误差: 分别对ω和b求导,得: 得到闭式解: ——————————————————我是分割线喵———————————————————— 在jupyter notebook中的代码实现:      1、先用一个例子,模拟出点:              2、通过最小二乘法得到线性回归,红色标出: ——————————————————代码——————————————————— 二元的简单线性回归算法代码 ,可以作为自定义包留着以后用,我在sublime里面写的。   (如何在jupyter中导入自定义包?)