python机器学习

Python模块知多少?这里有五百不知够不够你用?

此生再无相见时 提交于 2020-01-26 19:01:21
常用模块 Chardet -- -- -- -- -- -- - 字符编码探测器,可以自动检测文本、网页、xml的编码。 colorama -- -- -- -- -- -- 主要用来给文本添加各种颜色,并且非常简单易用。 Prettytable -- -- -- -- - 主要用于在终端或浏览器端构建格式化的输出。 difflib -- -- -- -- -- -- - [ Python ] 标准库,计算文本差异 Levenshtein -- -- -- -- - 快速计算字符串相似度。 fuzzywuzzy -- -- -- -- -- 字符串模糊匹配。 esmre -- -- -- -- -- -- -- - 正则表达式的加速器。 shortuuid -- -- -- -- -- - 一组简洁 URL / UUID 函数库。 ftfy -- -- -- -- -- -- -- -- Unicode文本工具 7 unidecode -- -- -- -- -- - ascii和Unicode文本转换函数。 xpinyin -- -- -- -- -- -- - 将汉字转换为拼音的函数库 pangu . py -- -- -- -- -- -- 调整对中日韩文字当中的字母、数字间距。 pyfiglet -- -- -- -- -- -- Python写的figlet程序

机器学习之线性回归

纵饮孤独 提交于 2020-01-26 17:23:44
背景 本文是我在学习 Andrew Ng 的机器学习课程的总结 简介 作为本系列的第一讲,线性模型形式简单,易于建模,但是蕴含着机器学习中一些重要的基本思想。许多功能更为强大的非线性模型可在线性模型的基础上引入层级结构或高维映射而得。此外,线性模型也有比较好的可解释性 例子 让我们从一个经典的例子开始。这个例子是预测住房价格的,我们要使用一个包含俄勒冈州波特兰市的住房价格数据集。我们根据不同房屋尺寸所售出的价格,画出数据集 横坐标表示房屋尺寸size( \(feet^2\) ), 纵轴表示实际价格Prices 从图中可以看出如果房屋尺寸为1250平方尺,最终能够以220000美元卖掉 我们如何表达我们的例子呢,我们定义一个函数 h: \[h(x) = \theta_0x_0 + \theta_1x_1\] 我们设 \(x_0 = 1\) , 那么 \(\theta_0\) 表示截距, \(\theta_1\) 表示房屋尺寸, \(h(x)\) 表示 实际售价 名词解释 我们使用 \(x^{(i)}\) 来表示输入变量,也叫做特征,在当前的例子里面是房屋尺寸。 \(y^{(i)}\) 表示输出变量,也叫做目标变量,在当前的例子中是房屋的实际出售价格,一对 \((x^{(i)}, y^{(i)})\) 被称作 一个训练样本,一堆的训练样本称为训练集(training set).

Scikit Learn: 在python中机器学习

霸气de小男生 提交于 2020-01-26 09:24:10
参考: sklearn 数据集认识: sklearn中的iris数据集有5个key: [‘target_names’, ‘data’, ‘target’, ‘DESCR’, ‘feature_names’] target_names : 分类名称 [‘setosa’ ‘versicolor’ ‘virginica’] target:分类(150个) (150L,) [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 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2] feature_names: 特征名称 (‘feature_names:’, [‘sepal length (cm)’, ‘sepal width (cm)’, ‘petal length (cm)’, ‘petal width

所谓范数及其在机器学习中的作用

断了今生、忘了曾经 提交于 2020-01-26 03:21:09
本文参考: 1、 https://www.jianshu.com/p/4bad38fe07e6 2、 https://zhuanlan.zhihu.com/p/26884695 3、深度学习入门:基于Python的理论与实现 斋藤康毅(作者) 理解范数 - : 在很多机器学习相关书籍中我们经常看到各种各样的距离及范数,如 、 其中, , 分别表示向量和矩阵。 也有其他的欧氏距离、均方差之类,例如,向量 的欧式范数 (Euclidean norm)为 用于表示向量的大小,这个也被叫 -范数。 为方便统一,一般将任意向量 的 -范数定义为 主要有三类: 、 、 范数的定义: 根据 -范数的定义,当p=0时,我们就有了 -范数 表示向量x中非0元素的个数(0的0次方是0,非零的0次方是1,所以所有的零元素全都没了,只剩下非零元素变成的1了) 大佬是这么说的: 在诸多机器学习模型中,比如压缩感知 (compressive sensing),我们很多时候希望最小化向量的 -范数。一个标准的 -范数优化问题往往可以写成如下形式: 然而,由于 -范数仅仅表示向量中非0元素的个数,因此,这个优化模型在数学上被认为是一个NP-hard问题,即直接求解它很复杂、也不可能找到解。 需要注意的是,正是由于该类优化问题难以求解,因此,压缩感知模型是将 -范数最小化问题转换成 -范数最小化问题。 我就看不懂了

python大战机器学习——半监督学习

送分小仙女□ 提交于 2020-01-22 21:11:50
  半监督学习:综合利用有类标的数据和没有类标的数据,来生成合适的分类函数。它是一类可以自动地利用未标记的数据来提升学习性能的算法 1、生成式半监督学习   优点:方法简单,容易实现。通常在有标记数据极少时,生成式半监督学习方法比其他方法性能更好   缺点:假设的生成式模型必须与真实数据分布吻合。如果不吻合则可能效果很差。而如何给出与真实数据分布吻合的生成式模型,这就需要对问题领域的充分了解 2、图半监督学习 (1)标记传播算法:   优点:概念清晰   缺点:存储开销大,难以直接处理大规模数据;而且对于新的样本加入,需要对原图重构并进行标记传播 (2)迭代式标记传播算法:   输入:有标记样本集 Dl ,未标记样本集 Du ,构图参数δ,折中参数α   输出:未标记样本的预测结果 y    步骤:     1)计算 W     2)基于 W 构造标记传播矩阵 S     3)根据公式初始化 F<0>     4)t=0     5)迭代,迭代终止条件是 F 收敛至 F* :        F <t+1>=α SF <t>+(1-α) Y       t=t+1     6)构造未标记样本的预测结果yi     7)输出结果 y   LabelPropagation实验代码: 1 import numpy as np 2 import matplotlib.pyplot as

机器学习基础——带你实战朴素贝叶斯模型文本分类

风格不统一 提交于 2020-01-22 09:26:00
本文始发于个人公众号: TechFlow 上一篇文章当中我们介绍了 朴素贝叶斯模型的基本原理 。 朴素贝叶斯的核心本质是假设样本当中的变量 服从某个分布 ,从而利用条件概率计算出样本属于某个类别的概率。一般来说一个样本往往会含有许多特征,这些特征之间很有可能是有相关性的。为了简化模型,朴素贝叶斯模型 假设这些变量是独立的 。这样我们就可以很简单地计算出样本的概率。 想要回顾其中细节的同学,可以点击链接回到之前的文章: 机器学习基础——让你一文学会朴素贝叶斯模型 在我们学习算法的过程中,如果只看模型的原理以及理论,总有一些纸上得来终觉浅的感觉。很多时候,道理说的头头是道,可是真正要上手的时候还是会一脸懵逼。或者是勉强能够搞一搞,但是过程当中总会遇到这样或者那样各种意想不到的问题。一方面是我们动手实践的不够, 另一方面也是理解不够深入。 今天这篇文章我们实际动手实现模型,并且在 真实的数据集 当中运行,再看看我们模型的运行效果。 朴素贝叶斯与文本分类 一般来说,我们认为 狭义的事件 的结果应该是有限的,也就是说事件的结果应该是一个 离散值 而不是连续值。所以早期的贝叶斯模型,在引入高斯混合模型的思想之前,针对的也是离散值的样本(存疑,笔者推测)。所以我们先抛开连续特征的场景,先来看看在离散样本当中,朴素贝叶斯模型有哪些实际应用。 在机器学习广泛的应用场景当中,有一个非常经典的应用场景

机器学习task_05聚类

一个人想着一个人 提交于 2020-01-21 09:15:00
1.相关概念(无监督学习、聚类的定义) 2.性能度量(外部指标、内部指标) 3.距离计算 4.原型聚类 K均值 LVQ 5.高斯混合聚类 层次聚类 AGNES 自顶而下 6.密度聚类 DBSCAN 其他密度聚类算法 7.优缺点 8.sklearn参数详解  聚类分析是按照个体的特征将他们分类,让同一个类别内的个体之间具有较高的相似度,不同类别之间具有较大的差异性 聚类分析属于无监督学习 聚类对象可以分为Q型聚类和R型聚类 Q型聚类:样本/记录聚类 以距离为相似性指标 (欧氏距离、欧氏平方距离、马氏距离、明式距离等) R型聚类:指标/变量聚类 以相似系数为相似性指标 (皮尔逊相关系数、夹角余弦、指数相关系数等) 二、常用的聚类算法 K-Means划分法 层次聚类法 DBSCAN密度法 1、K-Means划分法 K表示聚类算法中类的个数,Means表示均值算法,K-Means即是用均值算法把数据分成K个类的算法。 K-Means算法的目标,是把n个样本点划分到k个类中,使得每个点都属于离它最近的质心(一个类内部所有样本点的均值)对应的类,以之作为聚类的标准。 算法原理见 http://www.aboutyun.com/thread-18178-1-1.html【转】 K-Means算法的计算步骤 取得k个初始质心:从数据中随机抽取k个点作为初始聚类的中心,来代表各个类

数学库 图形库 机器学习库 随想

假装没事ソ 提交于 2020-01-19 17:50:43
本文是 我在 民科吧 帖 《opencv,python是不是用numpy代替了mat的作用?》 http://tieba.baidu.com/p/6450706166 里的 回复, 我在 帖 里是 K歌之王 。 5 楼 opencv 是一个 计算机 视觉库, numpy 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。 你说用 numpy 代替了 mat , mat 是 matlab 或是 mathmaticas, 总之就是 那几大 数学软件, 所以, 这里面 涉及 的 就是 图形学 和 数学软件, 还有 人工智能, 因为 视觉识别 还需要 机器学习, 我最近在这方面刚好有些研究,可以看看 我 前几天 在 本吧 发 的 帖: 《丢翻图方程组 最小解 计算机 数值求解》 http://tieba.baidu.com/p/6439347267 , 《我决定 开启 一个 人工智能 机器学习 技术 的 普及项目》 http://tieba.baidu.com/p/6426136823 等等 。 我 本来 就 计划 要 创立一个 数学软件 开源项目, 不久 应该 会 发帖出来 。 6 楼 接 5 楼 , 这些东西 是 一个 体系 的 , 图形学 需要 数学软件(库) 的 支持 来 实现 实数计算 和 图形函数 计算, 所以, 这个

40题刷爆Keras,人生苦短我选Keras

不想你离开。 提交于 2020-01-19 13:58:01
Keras是一个高层神经网络API,Keras由纯Python编写而成并基Tensorflow、Theano以及CNTK后端。Keras 为支持快速实验而生,能够把你的idea迅速转换为结果。 有多迅速?引用知乎某个回答下的一句话 当别人还在搞懂怎么输入数据(tensorflow)的时候我都可以跑通模型调参优化了(Keras) 所以机器学习的新手们请不要犹豫,盘它! 点击此处查看线上运行效果👇 40题刷爆Keras,人生苦短我选Keras​www.kesci.com 推荐新手教程: Keras中文文档 本文参考资料: Keras中文文档 其他x题系列: 35题初探scikit-learn库,get机器学习好帮手√ 50题matplotlib从入门到精通 50道练习带你玩转Pandas 100道练习带你玩转Numpy 60题PyTorch简易入门指南,做技术的弄潮儿🌊 90题细品吴恩达《机器学习》,感受被刷题支配的恐惧 零、导入 1.导入 Keras 库,并打印版本信息 import keras print(keras.__version__) 一、一个简单的例子 使用MLP模型实现手写数字图像MNIST的分类 1.1 选择模型 2.初始化一个顺序模型(Sequential) model = Sequential() 1.2 构建网络 3.为 model 加入一个784输入

机器学习代码基础(1)--Python速成

浪尽此生 提交于 2020-01-18 22:37:08
1.1python速成 1.1.1基本数据类型和赋值运算 字符串 data ='hello world!' print(data[0]) print(data[1:5]) print(len(data)) print(data) 数值 value=523 print(value) value=6.18 print(value) 布尔类型 true = True false = False print(true) print(false) 多变量赋值 a,b,c=1,'hello',True print(a,b,c) print(a) print(b) print(c) 空值 : 在python中,每一种数据类型都是对象,空值是python中的一个特殊值,用None表示,表示该值是一个空对象。 a = None b = a print(a) print(b) 1.1.2控制语句 在python中,控制语句主要有三类:条件控制语句、循环语句或条件循环语句 条件控制语句 value = 1 if value == 1: print("This is true") elif value>10: print("It is bigger than 10") else: print("This is false") 循环语句 for i in range(5): print(i) 条件循环语句