![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
盐味橙汁
这个作者很懒,什么都没留下…
展开
-
使用本地安装PyTorch 1.0 (preview)
最近想要学习pytorch,Pytorch官网上的教程有些需要最新的1.0(preview)版本。搭建环境的过程中使用了conda、pip方式安装,都因为网络原因无法顺利安装,因此尝试通过anaconda本地安装下载好的pytorch 1.0(preview)安装包。下载安装包访问以下网址,根据当前的python版本点击合适的安装包即可下载。https://anaconda.org/py...原创 2018-10-21 16:12:19 · 14468 阅读 · 3 评论 -
Matplotlib学习笔记——频次直方图、数据区间划分和分布密度
频次直方图、数据区间划分和分布密度%matplotlib inlineimport numpy as npimport matplotlib.pyplot as pltplt.style.use('seaborn-white')data = np.random.randn(1000)#最基本的频次直方图命令plt.hist(data)#调节具体参数#bins调节横坐...原创 2018-08-17 10:00:49 · 56729 阅读 · 0 评论 -
Scikit-Learn学习笔记——高斯混合模型(GMM)应用:分类、密度估计、生成模型
高斯混合模型 k-means聚类模型非常简单并且易于理解,但是他的简单性也为实际应用带来了挑战。特别是实际应用中,k-means的非概率性和它仅根据到簇中心点的距离来指派将导致性能低下。高斯混合模型可以看作是k-means的一个扩展,但它也是一种非常强大的聚类评估工具。k-means算法的缺陷 在实际聚类的过程中,两个簇往往会存在重合部分。k-means算法对于重合部分的...原创 2018-08-22 17:15:29 · 64075 阅读 · 2 评论 -
Scikit-Learn学习笔记——手写数字(MNIST)探索
手写数字(MNIST)探索#加载并可视化手写数字import matplotlib.pyplot as pltfrom sklearn.datasets import load_digitsdigits = load_digits()digits.images.shapefig, axes = plt.subplots(10,10, figsize=(8, 8),subplo...原创 2018-08-19 21:35:52 · 4951 阅读 · 0 评论 -
Scikit-Learn学习笔记——学会调用sklearn评估器API
sklearn初探 机器学习的本质就是借助数学模型理解数据。当我们给模型装上可以适应观测数据的可调参数时,学习就开始了,此时的程序被认为具有从数据中“学习”的能力。一旦模型可以拟合旧的观测数据,那么它们就可以预测并解释新的观测数据。 目前,python有不少可以实现各种机器学习算法的程序库。Scikit-Learn是最流行的程序包之一,它为各种常见机器学习算法提供了高效版本。Sc...原创 2018-08-19 20:12:15 · 2358 阅读 · 0 评论 -
Scikit-Learn学习笔记——k-means聚类:图像识别、色彩压缩
k-means聚类 k-means是一种无监督学习模型——聚类算法的一种算法。k-means算法可以在不带标签的多维数据集中寻找确定数量的簇。 最优的聚类结果需要符合一下两个假设 “簇中心点“是属于该簇的所有数据点坐标的算术平均值 一个簇的每个点到该簇中心点的距离,比到其他簇中心点的距离短。 #简单演示k-means算法%matplotlib in...原创 2018-08-22 12:57:18 · 13456 阅读 · 1 评论 -
Matplotlib学习笔记——密度线与等高线
密度线与等高线 在二维图上用等高线或者彩色图来表示三维数据是个不错的方法。Matplotlib提供了三个函数来解决这个问题:用plt.contour()绘制等高线、用plt.contourf绘制带有填充颜色的等高线图、用plt.imshow显示图形。plt.contour()函数#生成第三维数据的自定义函数def f(x,y): return np.sin(x)...原创 2018-08-16 17:49:19 · 3900 阅读 · 0 评论 -
Matplotlib学习笔记——绘制误差线
绘制误差线 对任何一种科学测量方法来说,准确的衡量数据误差都是无比重要的事情,甚至比数据本身还重要.在数据可视化的结果中用图形将误差有效的显示出来,就可以提供更充分的信息.基本误差线#以下代码在notebook中执行%matplotlib inlineimport matplotlib.pyplot as pltimport numpy as npplt.styl...原创 2018-08-16 17:09:57 · 11190 阅读 · 0 评论 -
Matplotlib学习笔记——简易散点图
简易散点图除了线性图,另外一种常见的图形是简易散点图。简易散点图和线性图不同之处在于,这种图形不再由线段(-, -., –等)连接,而是由独立的点、圆圈或者其他形状构成。用plt.plot()画散点图%matplotlib inlineimport matplotlib.pyplot as pltplt.style.use('seaborn-whitegrid')impo...原创 2018-08-16 13:09:40 · 9846 阅读 · 0 评论 -
Matplotlib学习笔记——配置图形参数
配置图形参数使用面向对象的绘图接口时会创建figure和axes对象。figure实例可以看成是一个能够容纳各种坐标轴、图形、文字和标签的容器,axes是一个带有刻度和标签的矩形,最终会包含所有可视化的图形元素。import matplotlib as mplimport matplotlib.pyplot as pltimport numpy as npimport panda...原创 2018-08-16 11:09:13 · 3473 阅读 · 0 评论 -
Matplotlib学习笔记——常用技巧
Matplotlib常用技巧 matplotlib最重要的特性就是具有良好的操作系统兼容性和图形显示底层接口兼容性。Matplotlib支持几十种图形显示接口与输出格式,这种跨平台、面面俱到的特定已经成为Matplotlib最强大的功能之一。在IDLE中画图import matplotlib as mplimport matplotlib.pyplot as plti...原创 2018-08-16 09:57:31 · 717 阅读 · 0 评论 -
Pandas学习笔记六——合并数据集:Concat操作
合并数据集:Concat操作#为了方便后面的演示,这里定义一个能够快速创建DataFrame的函数import numpy as npimport pandas as pddef make_df(cols, index): """一个简单的DataFrame""" data原创 2018-08-13 23:58:48 · 2852 阅读 · 0 评论 -
Pandas学习笔记五——层级索引
Pandas学习——层级索引pandas数据结构中最常用的是Series和DataFrame,它们分别用于处理一维数据和二维数据。但我们也经常遇到存储多维数据的需求,数据索引超过一两个键,这种情况下的数据超出了上面两种数据结构能够表示的范围,Pandas提供了Panel和Panel4D对象来解决三维数据和四维数据。而实践中,更直观的形式是通过层级索引,配合多个不同等级(level)的一级索引一...原创 2018-08-13 22:05:14 · 3493 阅读 · 0 评论 -
Pandas学习笔记四——Pandas处理缺失值
Pandas处理缺失值如何发现缺失值#Pandas数据结构有两种方法可以有效的发现缺失值#isnull()方法import pandas as pdimport numpy as npdf = pd.DataFrame([[1, np.nan, 2], [2, 3, 5], [np...原创 2018-08-13 18:29:57 · 4218 阅读 · 0 评论 -
Pandas学习笔记三——从DataFrame中选择数据
DataFrame数据选择方法DataFrame在某些方面像二维化或结构化的数组,在某些方面又像一个共享索引的若干Series对象构成的字典。所以,选择DataFrame中的数据可以从上面两个角度出发。将DataFrame看作字典“`python import numpy as np import pandas as pd创建一个DataFrame对象area = ...原创 2018-08-13 15:19:39 · 3822 阅读 · 0 评论 -
Matplotlib学习笔记——配置图例
配置图例简单的图例import matplotlib.pyplot as pltplt.style.use('classic')%matplotlib inlineimport numpy as npx = np.linspace(0, 10, 1000)fig, ax = plt.subplots()ax.plot(x, np.sin(x), '-b', label...原创 2018-08-17 10:33:18 · 5251 阅读 · 0 评论 -
Matplotlib学习笔记——创建多子图
创建多子图 有时候需要从多个角度对数据进行对比。Matplotlib为此提出了子图的概念:在较大的图形中同时放置一组较小的坐标轴。这些子图可能是画中画、网格图,或者是其他更复杂的布局形式。plt.axes:手动创建子图 创建坐标轴的最基本的方法就是使用plt.axes 函数。这个函数的默认配置是创建一个标准的坐标轴,填满整张图。它还有一个可选参数,由图形坐标系统的四个值构...原创 2018-08-17 11:14:06 · 4933 阅读 · 0 评论 -
Matplotlib学习笔记——画三维图
用Matplotlib画三维图 最基本的三维图是由(x, y, z)三维坐标点构成的线图与散点图,可以用ax.plot3D和ax.scatter3D函数来创建,默认情况下,散点会自动改变透明度,以在平面上呈现出立体感三维的线图和散点图#绘制三角螺旋线from mpl_toolkits import mplot3d%matplotlib inlineimport ma...原创 2018-08-17 17:20:28 · 73768 阅读 · 12 评论 -
详解注意力机制(Attention)——Global/Local/Self Attention
详解注意力(Attention)机制 注意力机制在使用encoder-decoder结构进行神经机器翻译(NMT)的过程中被提出来,并且迅速的被应用到相似的任务上,比如根据图片生成一段描述性语句、梗概一段文字的内容。从一个高的层次看,允许decoder从多个上下文向量(context vector)中选取需要的部分,使得Encoder只能将上下文信息压缩到固定长度的向量中这个束缚中解放出来,进...原创 2018-10-25 21:13:28 · 29666 阅读 · 0 评论 -
端到端的机器学习项目
端到端的机器学习项目主要步骤: Frame the problem and look at the big picture Get the data Explore the data to gain insight Prepare the data to better expose the underlying data patterns to Machine L...原创 2018-08-25 11:36:57 · 436 阅读 · 0 评论 -
Scikit-Learn报错Error message: fit_transform() takes 2 positional arguments but 3 were given的解决方法
代码num_attribs = list(housing_num)cat_attribs = ["ocean_proximity"]num_pipeline = Pipeline([ ('selector', DataFrameSelector(num_attribs)), ('imputer', Imputer(strategy="median")),...原创 2018-08-24 21:24:31 · 16605 阅读 · 6 评论 -
Scikit-Learn学习笔记——主要成分分析(PCA)应用:可视化、噪音过滤、人脸识别
主要成分分析(PCA) 主要成分分析(PCA)可能是应用最广泛的无监督算法之一。虽然PCA是一种非常基础的降维算法,但它仍然是非常有用的工具,尤其适用于数据可视化、噪音过滤、特征抽取和特征工程等领域。由于PCA用途广泛、可解释性强,所以可以有效应用于大量情景和科学中。对于任意高维的数据集,可以从PCA开始,可视化点间的关系、理解数据中的主要变量。PCA并不是一个对每个高维数据集都有效的算法...原创 2018-08-21 21:06:44 · 6244 阅读 · 0 评论 -
Scikit-Learn学习笔记——用随机森林识别手写数字
用随机森林识别手写数字from sklearn.datasets import load_digitsdigits = load_digits()#显示前几个数字图像fig = plt.figure(figsize=(6,6))fig.subplots_adjust(left=0, right=1, bottom=0, top=1, hspace=0.05, wspace=0.0...原创 2018-08-21 17:42:53 · 4708 阅读 · 2 评论 -
Scikit-Learn学习笔记——决策树和随机森林
决策树和随机森林 随机森林是一种无参数的集成算法,通过集成多个比较简单的评估器形成累积效果。这种集成方法的学习效果经常出人意料,往往能超过各个组成部分的总和:也就是说,若干个评估器的多数投票的最终效果往往优于单个评估器投票的结果。决策树 随机森林的基础是决策树。决策树采用非常直观的方式对事物进行分类和打标签:你只需要问一系列问题就可以进行分类。二叉树分支方法可以非常有效的...原创 2018-08-21 16:50:04 · 2746 阅读 · 0 评论 -
Scikit-Learn学习笔记——SVM应用:人脸识别
SVM应用——人脸识别#下载数据from sklearn.datasets import fetch_lfw_peoplefaces = fetch_lfw_people(min_faces_per_person=60)print(faces.target_names)print(faces.images.shape)#输出结果['Ariel Sharon' 'Colin P...原创 2018-08-21 13:21:23 · 6769 阅读 · 2 评论 -
Scikit-Learn学习笔记——支持向量机(SVM)
支持向量机 支持向量机(SVM)是非常强大、灵活的有监督学习算法,既可以用于分类,也可用于回归。在贝叶斯分类器中我们首先对每个类进行了随机分布的假设,然后用生成的模型估计新数据点的标签,这属于生成分类方法。而SVM属于判别分类方法:不再为每类数据建模,而是用一条分割线(二维空间中的直线或者曲线)或者流体(多维空间中的曲线、曲面等概念的推广)将各种类型分割开。支持向量机:边界最大化...原创 2018-08-21 11:40:19 · 2737 阅读 · 1 评论 -
Scikit-Learn学习笔记——线性回归(基函数回归、岭回归正则化、Lasso正则化)
线性回归 如果说朴素贝叶斯是解决分类任务的好起点,那么线性回归模型就是解决回归任务的好起点。简单的线性回归#简单线性回归import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as sns;sns.set()rng = np.random.Random...原创 2018-08-20 22:37:58 · 3953 阅读 · 3 评论 -
Scikit-Learn学习笔记——朴素贝叶斯
朴素贝叶斯 朴素贝叶斯模型是一组非常简单快速的分类方法啊,通常适用于维度非常高的数据集。因为运行速度快,而且可调参数少,因此非常适合为分类问题提供快速粗糙的基本方案。之所以成为“朴素”或“朴素贝叶斯”,是因为如果对每一种标签的生成模型(用于计算每个标签的P(特征|Li)P(特征|Li)P(特征|L_i)进行非常简单的假设,就能找到每种类型生成模型的近似解,然后就可以使用贝叶斯分类。...原创 2018-08-20 19:44:57 · 1125 阅读 · 0 评论 -
Scikit-Learn学习笔记——特征工程
特征工程 工程中的数据挖掘用到的数据很少拥有干净的特征矩阵——很多特征的取值是非数值的,这些特征不能直接被计算机直接用于计算。因此,机器学习实践中更重要的步骤之一是特征工程——找到与问题有关的任何信息,把它们转换成特征矩阵的数值。分类特征 一种常见的非数值特征是分类数据。例如,浏览房屋数据的时候,除了看到“房价”(price)和“面积”(square)之类的数值特征,还会...原创 2018-08-20 19:25:23 · 355 阅读 · 0 评论 -
Scikit-Learn学习笔记——模型验证与超参数网格搜索
超参数与模型验证 模型验证就是在选择模型和超参数之后,通过对训练数据进行学习,对比模型对已知数据的预测值与实际值的差异。模型验证的正确方法是使用留出集评估模型性能,即先从训练模型中的数据中留出一部分,然后用这部分留出来的数据检验模型性能。 但是,使用留出集使得模型失去了一部分训练机会,解决这个问题的方法是交叉验证,也就是做一组拟合,让数据的每个子集既是训练集,又是验证集。...原创 2018-08-20 17:25:00 · 1484 阅读 · 0 评论 -
用Seaborn做数据可视化
用Seaborn做数据可视化 Seaborn在Matplotlib的基础上开发了一套API,为默认的图形样式和颜色提供了理智的选择,为常用的统计图形定义了许多简单的高级函数,并与Pandas DataFrame的功能有机结合。Seaborn不仅有许多高级的画图功能,而且可以改写Matplotlib的默认参数,从而用简单的Matplotlib脚本获得更好的效果。Seaborn的主要思想是用高...原创 2018-08-17 19:39:24 · 1013 阅读 · 0 评论 -
Matplotlib学习笔记——盒型图(boxplot)
盒型图(boxplot)最近在摆弄数据离散度的时候遇到一种图形,叫做盒图(boxplot)。它对于显示数据的离散的分布情况效果不错。盒图是在1977年由美国的统计学家约翰·图基(John Tukey)发明的。它由五个数值点组成:最小值(min),下四分位数(Q1),中位数(median),上四分位数(Q3),最大值(max)。也可以往盒图里面加入平均值(mean)。如上图。下四分位数、...转载 2018-08-17 19:07:16 · 6138 阅读 · 0 评论 -
Pandas学习笔记二——创建pandas的DataFrame对象的3种方法
创建pandas的DataFrame对象的5种方法Pandas的DataFrame对象可以通过许多方式创建,这里举几个常用的例子。通过Series对象创建#1、通过单个Series对象创建。DataFrame是一组Series对象的集合,可以用单个Series创建一个单列的DataFrameimport pandas as pdimport numpy as np#先创建...原创 2018-08-13 11:25:24 · 8113 阅读 · 1 评论 -
Pandas学习笔记十——高性能的eval和query方法
高性能的pandas:eval()和query()python数据科学生态环境的强大力量在Numpy和Pandas的基础之上,并通过直观的语法将基本操作转化为c语言:在Numpy里是向量化/广播运算,在pandas里是分组型的运算。虽然这些抽象功能可以简洁高效的解决很多问题,但是他们经常需要创建临时对象,这样会占用很大的计算时间和内存。Pandas为了解决性能问题,引入了eval()和qu...原创 2018-08-15 19:18:54 · 19568 阅读 · 3 评论 -
Seaborn案例:探索马拉松比赛成绩数据
Seaborn案例:探索马拉松比赛成绩数据#使用Seaborn探索马拉松比赛成绩数据import numpy as npimport pandas as pd%matplotlib inlineimport seaborn as snsimport datetime#把字符串转换成时间类型def convert_time(s): h, m, s = map(int,...原创 2018-08-17 21:15:31 · 1894 阅读 · 1 评论 -
Pandas学习笔记六——合并数据集:连接(join)和合并(merge)操作
合并数据集:连接(join)和合并操作(merge)Pandas的基本特性之一就是高性能的内存式数据连接(join)和合并(merge)操作。pd.merge()实现的功能基于关系代数的一部分。关系代数是处理关系型数据的通用理论,巨大部分数据库的可用操作都以此为理论基础。Pandas的pd.merge()方法与Series和DataFrame的join()方法就是基于这些关系代数对应的基本操作...原创 2018-08-14 13:41:55 · 14119 阅读 · 0 评论 -
python并发学习——asyncio包解析
asyncio中Future、Task和协程之间的关系 Future是调度执行某物的结构 在asyncio中,有很多函数能够接收一个协程,排定它的运行时间,然后返回一个asyncio.Task对象(实例)——也是asyncio.Future类的实例,因为Task是Future的子类,用于包装和驱动协程。 asyncio为什么与协程一起使用协程中的yield关键字...原创 2018-08-10 11:30:11 · 944 阅读 · 0 评论 -
实例分析asyncio实现python异步任务
实例分析asyncio实现python异步任务1.分析对象asyncioasyncio包是python之父Guido在python仓库之外开发的一个库,其作用是使用事件循环驱动的协程实现并发。asyncio类型的事件驱动框架的运作方式为:在单个线程中使用一个主循环驱动协程执行并发活动,使用协程进行并发编程时,协程会不断把控制权让步给主循环,激活并向前运行其他协程,从而执行各个并发活动。...原创 2018-08-10 08:39:37 · 2032 阅读 · 0 评论 -
使用scikit_learn构建一个机器学习系统
How to build a Maching Learing systemThe goal of our experiment is to build a maching learning system to make the House-price prediction based on the given datasetWe use imputer-method to imputer ...原创 2018-08-09 21:42:30 · 222 阅读 · 0 评论 -
python线程API:join()
import threadingdef spin(*args): pass#创建线程spinner = threading.Thread(target=spin, args=('thinking!', signal)) #启动线程spinner.start()#等待线程结束spinner.join(timeout=None)作用:等待线程运行结束,阻塞当前的...原创 2018-08-09 11:30:47 · 423 阅读 · 0 评论