机器学习
醉小义
学习算法让自己有更大的提升
展开
-
解决Anaconda执行pip等命令报alueError: failed to parse CPython sys.version错误的问题
# CPython match = _sys_version_parser.match(sys_version) if match is None: raise ValueError( 'failed to parse CPython sys.version: %s' % re...转载 2018-12-05 11:03:38 · 3228 阅读 · 0 评论 -
求两个矩阵中向量的欧氏距离(python实现)
假设有两个三维向量集,用矩阵表示:要求A,B两个集合中的元素两两间欧氏距离。先求出ABT:然后对A和BT分别求其中每个向量的模平方,并扩展为2*3矩阵:将上面这个矩阵一开平方,就得到了A,B向量集两两间的欧式距离了。算法:def EuclideanDistances(A, B): BT = B.transpose() # vecProd = A * BT vecProd =...转载 2018-05-05 17:55:24 · 8319 阅读 · 2 评论 -
数字图像处理之位图在计算机中的存储结构
位图是windows中广泛应用的一种图像格式,其后缀名为.bmp.位图也称为位映射图片.一张位图包含了许许多多的像素点,每个像素点有不同的颜色。由此构成了五彩斑斓的位图图像,然而正是因为由像素点这一基本元素构成,所以在放大图片的时候,人眼便能够区分一个一个的像素点,进而造成位图失真。本文主要介绍位图文件在计算机内存中的存储形式。当然这里还要介绍两种位图:DDB,DIBDDB(device depe...转载 2018-04-27 13:34:19 · 6694 阅读 · 2 评论 -
Python3 ImportError: No module named '_tkinter'
Traceback (most recent call last):File "<stdin>", line 1, in <module>File "/usr/local/lib/python3.5/tkinter/__init__.py", line 35, in <module>import _tkinter # If this fails your ...原创 2018-05-18 10:11:22 · 563 阅读 · 0 评论 -
python怎么获取向量中非零元素的行号
假设A为向量 : A为行向量的时候,需要转化为列向量 A.T A为列向量的时候,不需要转化了解下numpy 中的nonzero()函数np.nonzero(array or mmatrix) 返回非零的行标,和列标 [ [1,2,0], [0,0,1], [3,0,0]] (array([0, 0, ...原创 2018-04-27 10:27:51 · 4093 阅读 · 0 评论 -
统计学方差,中位数,方差,标准差,协方差等的计算
# coding=utf-8import numpy as npimport pandas as pddatas = [98,83,65,72,79,76,75,94,91,77,63,83,89,69,64,78,63,86,91,72,71,72,70,80,65,70,62,74,71,76]#平均数aver = np.mean(datas)#中位数mid = np...原创 2018-05-04 21:46:35 · 10435 阅读 · 2 评论 -
机器学习之sklearn回归--01
# coding=utf-8import pandas as pdimport matplotlib.pyplot as pltimport numpy as npfrom sklearn.preprocessing import labelfrom sklearn.linear_model import LogisticRegressionfrom sklearn.metric...原创 2018-05-11 09:04:39 · 517 阅读 · 0 评论 -
机器学习之逻辑回归--01
一、逻辑回归基本概念1. 什么是逻辑回归逻辑回归就是这样的一个过程:面对一个回归或者分类问题,建立代价函数,然后通过优化方法迭代求解出最优的模型参数,然后测试验证我们这个求解的模型的好坏。Logistic回归虽然名字里带“回归”,但是它实际上是一种分类方法,主要用于两分类问题(即输出只有两种,分别代表两个类别)回归模型中,y是一个定性变量,比如y=0或1,logistic方法主要应用于研究某些事件...转载 2018-05-09 21:23:19 · 245 阅读 · 0 评论 -
支持向量机详解--05
支持向量机(Support Vector Machine)是一种十分常见的分类器,曾经火爆十余年,分类能力强于NN,整体实力比肩LR与RF。核心思路是通过构造分割面将数据进行分离。本文主要阐述SVM的基本工作原理和简单应用。1. Linearly Separable SVM Linearly Separable SVM的原理是要达到hard margin maximization。Linear...转载 2018-04-20 21:45:57 · 565 阅读 · 0 评论 -
【Python】解决使用 plt.savefig 保存图片时一片空白
问题当使用如下代码保存使用 plt.savefig 保存生成的图片时,结果打开生成的图片却是一片空白。import matplotlib.pyplot as plt""" 一些画图代码 """plt.show()plt.savefig("filename.png")原因其实产生这个现象的原因很简单:在 plt.show() 后调用了 plt.savefig() ,在 plt.show()...转载 2018-04-24 09:47:46 · 52865 阅读 · 7 评论 -
Python之feedparser
Python之feedparser参考链接:http://blog.csdn.net/lanchunhui/article/details/51020566feedparser是一个Python的Feed解析库,可以处理RSS ,CDF,Atom 。使用它我们可从任何 RSS 或 Atom 订阅源得到标题、链接和文章的条目了。RSS(Really Simple Syndication,简易信息聚合...原创 2018-04-19 18:10:54 · 1802 阅读 · 1 评论 -
支持向量机SMO--05
原创 2018-04-23 14:25:11 · 191 阅读 · 0 评论 -
Python 中的几种矩阵乘法 np.dot, np.multiply
Python中的几种矩阵乘法1. 同线性代数中矩阵乘法的定义: np.dot()np.dot(A, B):对于二维矩阵,计算真正意义上的矩阵乘积,同线性代数中矩阵乘法的定义。对于一维矩阵,计算两者的内积。见如下Python代码:import numpy as np# 2-D array: 2 x 3two_dim_matrix_one = np.array([[1, 2, 3], [4, 5...转载 2018-04-23 14:03:11 · 276 阅读 · 0 评论 -
python sorted函数以及operator.itemgetter函数
operator.itemgetter函数:[python] view plain copyimport operator help(operatpr.itemgetter) operator模块提供的itemgetter函数用于获取对象的哪些维的数据,参数为一些序号(即需要获取的数据在对象中的序号)[python] view plain copya=[1,2,3] b=operator.i...转载 2018-04-13 14:55:37 · 560 阅读 · 0 评论 -
seaborn中的色板02详解
建立配色方案最重要的用于建立独立配色方案的函数是color_palette()这个函数提供了许多(not all)在seaborn中生成颜色的方式。它在任意拥有palette参数的函数内部被使用(在某些需要多种颜色的情况下也可以转入color参数)。color_palette()可以接受任意的seaborn调色板和matplotlib colormap(除了jet,当然你也不该用这玩意~)。它也可...原创 2018-04-07 14:06:54 · 9673 阅读 · 0 评论 -
seaborn详解
# coding=utf-8import seaborn as snsimport numpy as npimport matplotlib as mplimport matplotlib.pyplot as pltdef sinplot(flip=1): x = np.linspace(0, 14, 100) #0~14分开产生100个数据 for i in r...原创 2018-04-07 12:28:17 · 2312 阅读 · 3 评论 -
python中sort_index排序
对Series进行排序#生成序列objobj=pd.Series([4,9,6,20,4],index=['d','a','e','b','c'])d 4a 9e 6b 20c 4dtype: int64#按obj的索引排序,默认升序,降序可在括号加ascending=Falseobj.sort_index()a 9b 2...转载 2018-04-06 18:10:06 · 14525 阅读 · 0 评论 -
'range' object doesn't support item deletion
[python] view plain copydel(trainingSet[randIndex]) python3.x , 出现错误 'range' object doesn't support item deletion原因:python3.x range返回的是range对象,不返回数组对象解决方法:把 trainingSet = range(50) 改为 trainingSet =...转载 2018-04-18 14:22:30 · 504 阅读 · 0 评论 -
Python 基础 —— float("inf") 无穷的相关问题
Python中可以用如下方式表示正负无穷:float("inf"), float("-inf")1利用 inf 做简单加、乘算术运算仍会得到 inf>>> 1 + float('inf')inf>>> 2 * float('inf')inf12345但是利用 inf 乘以0会得到 not-a-number(NaN):>>> 0 * fl转载 2018-05-12 12:21:39 · 2015 阅读 · 0 评论 -
TypeError: unhashable type: 'matrix'解决方法
《机器学习实战》第九章“树回归”P164的程序清单9-2出现这个错误,经过多方测试,最终解决。首先在p163的测试中就出了错误,发现返回的mat1只有一行,通过调试发现def binSplitDataSet(dataSet, feature, value): mat0 = dataSet[nonzero(dataSet[:,feature] > value)[0],:][0] ...转载 2018-05-12 12:34:27 · 1034 阅读 · 0 评论 -
python之windrose风向玫瑰图的用法
1.安装A package is available and can be downloaded from PyPi and installed using:$ pip install windroseInstall latest development version$ pip install git+https://github.com/python-windrose/wi...原创 2018-11-28 08:57:18 · 21154 阅读 · 5 评论 -
python中的广播
向量(列): a = (1,2,3) a + 100 --广播 -> (a + (100, 100, 100)) --> (101,102,103)[[1,2,3], + (100,200,300) == (101,102,103)[4,5,6]] ...原创 2018-11-29 14:05:22 · 1187 阅读 · 0 评论 -
python之meshgrid的使用
import numpy as np#meshgrid 转换成坐标的形式x = np.arange(-5, 5, 1)y = np.arange(-5, 5, 1)xx, yy = np.meshgrid(x, y, sparse=True) # 为一维的矩阵xx1, yy1 = np.meshgrid(x, y ) # 转换成二维的矩阵坐标'''xx1[...原创 2018-11-29 13:44:38 · 34837 阅读 · 9 评论 -
先验概率和后验概率理解
对于统计学只是皮毛认识,在学校时根本不重视,如今机器学习几乎以统计学为基础发展起来的,头疼的紧,如今还得琢磨基础概念。1、我自己的理解:1)先验:统计历史上的经验而知当下发生的概率;2)后验:当下由因及果的概率;2、网上有个例子说的透彻:1)先验——根据若干年的统计(经验)或者气候(常识),某地方下雨的概率;2)似然——下雨(果)的时候有乌云(因/证据/观察的数据)的概率,...转载 2018-11-02 19:50:19 · 14283 阅读 · 2 评论 -
关于卷积的特征映射
对于input=(1,4,4,2) 对应卷积核为3*3 channel从2映射为5个特征 (3,3,2,5), s=1,k=3 pad=valid是如何计算的?输出为 (1,2,2,5)原创 2018-10-24 20:44:32 · 2231 阅读 · 0 评论 -
关于一张RGB图片,在numpy中的存储。
假设图片为 width:200 heigh:300在numpy中,shape为 (1,300,200,3) 意思就是在矩阵中每一列,存储一张图片,即一个特征。就比如:[ [[0.0, 1.0], [2.0, 3.0], [4.0, 7.0], [6.0, 6.0]], [[8.0, 9.0], [10.0, 11.0], [12.0, 13.0], [14.0, 15...原创 2018-10-02 15:02:03 · 4209 阅读 · 3 评论 -
TensorFlow激活函数+归一化-函数
激活函数的作用如下-引用《TensorFlow实践》: 这些函数与其他层的输出联合使用可以生成特征图。他们用于对某些运算的结果进行平滑或者微分。其目标是为神经网络引入非线性。曲线能够刻画出输入的复杂的变化。TensorFlow提供了多种激活函数,在CNN中一般使用tf.nn.relu的原因是因为,尽管relu会导致一些信息的损失,但是性能突出。在刚开始设计模型时,都可以采用relu的激活函数...转载 2018-08-13 11:05:46 · 7101 阅读 · 0 评论 -
AttributeError: module 'argparse' has no attribute 'ArgumentParser'
原因是我的文件名和包名一样了,修改下python的文件名即可。原创 2018-07-20 19:32:08 · 10119 阅读 · 1 评论 -
Apriori算法进行关联分析
1. 使用Apriori算法来发现频繁集1.1 关联分析关联分析:是一种在大规模数据集中寻找有趣关系的任务。这些关系可以有两种形式:频繁项集或者关联规则。频繁项集(frequent item sets)是经常出现在一块的物品的集合,关联规则(association rules)暗示两种物品之间可能存在很强的关系。而有趣、频繁、有趣的关系这些量化的工具就是支持度和可信度。一个项集的支持度(suppo...原创 2018-05-30 15:12:34 · 687 阅读 · 0 评论 -
使用FP-growth算法来高效发现频繁项集
FP-growth算法基于Apriori构建,但采用了高级的数据结构减少扫描次数,大大加快了算法速度。FP-growth算法只需要对数据库进行两次扫描,而Apriori算法对于每个潜在的频繁项集都会扫描数据集判定给定模式是否频繁,因此FP-growth算法的速度要比Apriori算法快。FP-growth算法发现频繁项集的基本过程如下:构建FP树从FP树中挖掘频繁项集FP-growth算法优点:一...转载 2018-06-06 08:43:44 · 6442 阅读 · 0 评论 -
关于python2与python3中map的使用
python2: map返回的是一个listpython3: map返回的是一个迭代器,原因:python3,map返回的是一个迭代器。原创 2018-05-25 14:08:07 · 1058 阅读 · 0 评论 -
python np.newaxis的使用
import numpy as npb = np.array([1, 2, 3, 4, 5, 6])#转化为行矩阵 1*6#等价于 b[np.newaxis,:]print(b[np.newaxis]) #np.newaxis == Noneprint(b[None])x_data=np.linspace(-1,1,300)[:,np.newaxis]#转化为列矩阵 6...原创 2018-05-20 19:31:45 · 3224 阅读 · 0 评论 -
机器学习之决策树详解2--02
决策树的code:# coding=utf-8from math import logimport operatorimport mathimport matplotlib.pyplot as plt''' 对于海洋生物的数据,进行决策树分类'''def createDataSet(): ''' 第一列 不浮出水面是否可以生存 no surfa...原创 2018-05-20 16:07:40 · 212 阅读 · 0 评论 -
机器学习之决策树详解1--02
决策树模型是一种描述对实例进行分类的树形结构。决策树由结点和有向边组成。结点有两种类型:内部节点和叶节点,内部节点表示一个特征或属性,叶节点表示一个类。分类的时候,从根节点开始,对实例的某一个特征进行测试,根据测试结果,将实例分配到其子结点;此时,每一个子结点对应着该特征的一个取值。如此递归向下移动,直至达到叶结点,最后将实例分配到叶结点的类中。 所有的数据最终都会落到叶子节...原创 2018-05-20 13:39:17 · 354 阅读 · 0 评论 -
机器学习之逻辑回归详解--01
Logistic Regression我们将建立一个逻辑回归模型来预测一个学生是否被大学录取。假设你是一个大学系的管理员,你想根据两次考试的结果来决定每个申请人的录取机会。你有以前的申请人的历史数据,你可以用它作为逻辑回归的训练集。对于每一个培训例子,你有两个考试的申请人的分数和录取决定。为了做到这一点,我们将建立一个分类模型,根据考试成绩估计入学概率。import numpy as npimp...原创 2018-05-19 20:37:17 · 434 阅读 · 0 评论 -
给numpy矩阵添加一列
问题的定义:首先我们有一个数据是一个mn的numpy矩阵现在我们希望能够进行给他加上一列变成一个m(n+1)的矩阵import numpy as npa = np.array([[1,2,3],[4,5,6],[7,8,9]])b = np.ones(3)c = np.array([[1,2,3,1],[4,5,6,1],[7,8,9,1]])print(a)print(b)print...转载 2018-05-19 12:06:20 · 5252 阅读 · 0 评论 -
ARGB与RGB、RGBA的区别
ARGB 是一种色彩模式,也就是RGB色彩模式附加上Alpha(透明度)通道,常见于32位位图的存储结构。RGB 色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。RGBA 是代表Red(红色) Gre...转载 2018-04-27 20:51:56 · 14356 阅读 · 0 评论 -
pandas中的 Series的讲解
# coding=utf-8import pandas as pdimport numpy as npfrom pandas import Series''' Series的方法与属性 属性: values 获取某一列的数据值 获取的值为numpy.ndarray类型 index 获取series数据 ...原创 2018-04-06 13:42:46 · 2564 阅读 · 0 评论 -
pannas详解
# coding=utf-8''' pannas的函数作用; read_csv(文件的路径) 读取文件 <class 'pandas.core.frame.DataFrame'>(read_csv返回的对象)对象的方法与属性: 属性: columns输出所有的特征 与dtypes类似 ...原创 2018-04-05 22:35:01 · 316 阅读 · 0 评论 -
基概率论的分类方法--贝叶斯公式04
朴素贝叶斯概述 朴素贝叶斯算法就是利用我们在概率论中学习的条件概率公式来处理一些分类问题。朴素贝叶斯优点:在数据较少的情况下仍然有效,可以处理多类别问题缺点:对于输入数据的准备方式较为敏感适用数据类型:标称型数据朴素贝叶斯算法原理 概率论中有一个大名鼎鼎的概率公式,贝叶斯公式: 公式的推导过程: 举一个例子来阐述贝叶斯公式,据统计百分之八十的女孩会留长发,百分之四十的男孩也留长发,通过观察发...原创 2018-04-15 15:42:49 · 299 阅读 · 0 评论