Python
文章平均质量分 64
Dxy17
welcome:future
展开
-
批量归一化,优化与凸优化
批量归一化1.对全连接层做批量归一化位置:全连接层中的仿射变换和激活函数之间。2.对卷积层做批量归⼀化位置:卷积计算之后、应⽤激活函数之前。3.预测时的批量归⼀化训练:以batch为单位,对每个batch计算均值和方差。预测:用移动平均估算整个训练数据集的样本均值和方差。pytorch中的nn模块定义的BatchNorm1d和BatchNorm2d分别用于全连接层和卷积层。...原创 2020-02-21 17:18:17 · 348 阅读 · 0 评论 -
Anaconda下pytorch环境的创建,pytorch,torchvision的安装(cpu)
1.首先创建一个pytorch的环境,先打开Anaconda Prompt对话框,然后直接输入conda create -n pytorch python==3.6#这里指定了python的版本,如果不指定则默认创建的最新版本的python然后激活创建的pytorch环境,在pytorch环境中安装torch和torchvisionconda activate pytorch#...原创 2020-02-20 14:17:47 · 1721 阅读 · 1 评论 -
卷积神经网络基础
卷积神经网络基础卷积神经⽹络(convolutional neural network)是含有卷积层(convolutional layer)的神经⽹络。 本章中介绍的卷积神经⽹络均使⽤最常⻅的⼆维卷积层。它有⾼和宽两个空间维度,常⽤来处理图像数 据。本节中,我们将介绍简单形式的⼆维卷积层的⼯作原理。...原创 2020-02-17 21:15:30 · 553 阅读 · 0 评论 -
机器翻译及其相关技术
机器翻译是指将⼀段⽂本从⼀种语⾔⾃动翻译到另⼀种语⾔。机器翻译用到了循环神经网络,但因为⼀段⽂本序列在不同语⾔中的⻓度不 ⼀定相同,比如输入是"I am chinese"机器翻译后输出是“我是中国人”,此时的输入是需要3个神经元而输出需要5个,长度是不同的,因此又不能用传统的循环神经网络。导入包import osimport syssys.path.append('/home/kes...原创 2020-02-17 16:19:42 · 1201 阅读 · 0 评论 -
过拟合,欠拟合及其解决方案
训练误差和泛化误差训练误差:模型在训练数据集上表现出的误差泛化误差:模型在任意一个测试数据样本上表现出的误差的期望,并常常通过测试数据集上的误差来近似计算训练误差和泛化误差可以使用之前介绍过的损失函数,例如线性回归用到的平方损失函数和softmax回归用到的交叉熵损失函数。以⾼考为例来直观地解释训练误差和泛化误差这两个概念。训练误差可以认为是做往年⾼考试题 (训练题)时的错误率,泛...原创 2020-02-16 22:48:41 · 762 阅读 · 0 评论 -
语言模型
语⾔模型(language model)是⾃然语⾔处理的重要技术。⾃然语⾔处理中最常⻅的数据是文本数据。我们可以把⼀段⾃然语⾔⽂本看作⼀段离散的时间序列。假设⼀段⻓度为 的⽂本中的词依次为 ,那么在离散的时间序列中, 可看作在时间步(time step) 的输 出或标签。给定⼀个⻓度为 的词的序列 ,语⾔模型将计算该序列的概率:语⾔模型可⽤于提升语⾳识别和机器翻译的性能。例如,在语⾳识别中,给...原创 2020-02-15 22:04:00 · 290 阅读 · 1 评论 -
多层感知机
多层感知机在单层神经⽹络的基础上引⼊了⼀到多个隐藏层(hidden layer)。隐藏层位于输⼊层和输 出层之间。下图展示了⼀个多层感知机的神经⽹络图,它含有⼀个隐藏层,该层中有5个隐藏单元。图中所示的多层感知机中,输⼊和输出个数分别为4和3,中间的隐藏层中包含了5个隐藏单元 (hidden unit)。由于输⼊层不涉及计算,图中的多层感知机的层数为2。隐藏层中 的神经元和输⼊层中各个输⼊...原创 2020-02-15 21:18:41 · 507 阅读 · 0 评论 -
softmax回归
本篇学习softmax回归的基本概念,并实现softmax回归模型对Fashion-MNIST训练集中的图像数据进行分类。softmax回归适用于分类问题,分类问题中模型的最终输出是一个离散值,例如图像分类,垃圾邮件识别,疾病检测等输出为离散值的问题都属于分类问题的范畴。同线性回归一样,softmax回归也可以看作是单层神经网络。与线性回归不同的是,softmax回归的输出单元从一个变成了...原创 2020-02-15 17:48:19 · 422 阅读 · 0 评论 -
文本预处理
本文章内容主要学习文本预处理的基本步骤及实现。文本预处理文本时一类序列数据,一篇文章可以看作是字符或者单词的序列,本节将介绍文本数据的常见预处理步骤,预处理通常包括四个步骤:(1)读入文本(2)分词(3)建立词典,将每一个词映射到一个唯一的索引(4)将文本从词的序列转换为索引的序列,方便输入模型读入文本此处用一部英文小说,即H. G. Well的Time Machi...原创 2020-02-14 16:34:23 · 434 阅读 · 0 评论 -
线性回归
简介线性回归的输出是一个连续值,使用于回归问题(如房价预测、气温预测等)。线性回归可以理解为单层的神经网络。线性回归的基本要素本小节以一个简单的房屋价格预测作为例子来解释线性回归的基本要素。此应用的目标是预测一栋房子的售出价格(元)。我们知道房屋的价格取决于多种因素,如地段,房屋状况,市场行情等。这里为了简单起见,假设价格只与房屋的面积和房龄(年)两个因素有关。接下来探索房屋价格与房屋...原创 2020-02-14 13:39:07 · 630 阅读 · 0 评论 -
Windows10中用Anaconda的VSCode工具来编写python代码
Anaconda的下载和安装之前的博客有介绍过这里就不再详细介绍了首先查看一下界面预览,具体方法是在welcome的页面中的Learn下面的Interface overview中,在打开页面预览后我们可以看到左边工具栏的一些具体介绍和查找并运行所有命令的快捷键我们开始配置Python的环境,即使用快捷键Ctrl+Shift+P打开命令搜索框,输入python:s之后在下拉的列表...原创 2019-12-07 20:53:50 · 636 阅读 · 0 评论 -
数据结构-查找(归并排序、快速排序、插入排序、冒泡排序、选择排序、堆排序,Python实现)
实现归并排序、快速排序、插入排序、冒泡排序、选择排序、堆排序目录(1)归并排序(2)快速排序(3)插入排序(4)冒泡排序(5)选择排序(6)堆排序参考:(1)归并排序归并排序英文名为MergeSort,是建立在归并操作上的一种有效的排序算法,该算法是采用分治法。其思想是先递归的把数组划分为两个子数组,一直递归到数组中只有一个元素,然后再调用函数把两个子数...原创 2019-05-18 17:51:11 · 376 阅读 · 0 评论 -
二叉树(插入、查找、删除、遍历)
实现一个二叉查找树,并且支持插入、删除、查找操作(1)定义或者初始化一个二叉树每一个节点包含一个值和其左子树右子树节点def __init__(self, r):#初始化 self.key = r self.leftchild = None self.rightchild = None(2)二叉树的查找找不到就返回Nonedef find(...原创 2019-05-22 11:40:11 · 825 阅读 · 0 评论 -
数据结构-链表(Python实现)
链式链表实现的基本模块是节点,节点有一个数据区(包含列表元素本身)和一个引用到下一项(1)定义一个链表节点class Node(object):#定义一个链表 def __init__(self,value): self.val = value self.next = None(2)初始化def __init__(self):#初始化,其...原创 2019-05-16 11:13:18 · 187 阅读 · 0 评论 -
数据结构-队列(Python实现)
队列的操作及实现(先进先出)队列操作 队列内容 返回值 is_empty() [] True insert(2) insert(5) insert(8) 2 2,5 2,5,8 pop() 5,8 2 size() 5,8 2 顺序队列(1)初...原创 2019-05-15 22:13:42 · 290 阅读 · 0 评论 -
数据结构-栈(Python实现)
目录栈的操作及其实现顺序栈(1)初始化一个空栈(2)判断是否为空(3)向栈中添加元素(4)输出栈中元素(5)输出栈顶的元素(6)输出栈中元素的个数总的代码:链式栈(1)定义(2)初始化(3)判断是否为空(4)添加元素(5)输出栈中的元素(6)输出栈顶元素(7)输出链式栈中节点的个数总的代码栈的操作及其实现栈的相关操作...原创 2019-05-15 19:49:40 · 342 阅读 · 0 评论 -
Task4:LeetCode1:twoSum; LeetCode344:Reverse String;LeetCode151:Reverse Words in a String
1.Two Sum(两个数求和)class Solution: def twoSum(self, nums: 'List[int]', target: int) -> 'List[int]': dicti = {} for i, n in enumerate(nums): if n in dicti: ...原创 2019-05-19 22:33:06 · 112 阅读 · 0 评论 -
Leetcode(page1)_easy
目录1.Two Sum(两个数求和)7.Reverse Integer(倒序整数)13. Roman to Integer(罗马数字转换为整数)14. Longest Common Prefix(公共最长前缀)20. Valid Parentheses(有效的括号)21. Merge Two Sorted Lists(合并两个有序的list)26. Remov...原创 2019-05-19 16:35:26 · 194 阅读 · 0 评论 -
Python计算缺失数据中行列的缺失个数及其对应的缺失率
在对数据进行分析时,我们不可避免的会遇到不完整的数据,对这些不完整的数据进行处理之前我们需要了解数据缺失的情况,以下代码展示了怎么计算不完整数据中行列的缺失情况。#导入pandas包import pandas as pddef miss_row(data): """ input:原始数据 output:行的缺失个数和缺失率 """ row, co...原创 2018-12-26 21:56:58 · 6395 阅读 · 2 评论 -
python中pandas & numpy中读取/删除/保存数据
1.读数据import pandas as pdimport numpy as np"""读数据(csv或者文本文件)"""#(1)pandasdata1 = pd.read_csv("/data/data_1.csv")data2 = pd.read_csv("data/data_2.txt", sep = ',', header = None)#data_2中的数字是逗号分隔...原创 2018-12-21 21:07:18 · 1546 阅读 · 0 评论 -
python中使用matpltlib画图
import numpy as npimport matplotlib.pyplot as plt#先定义几组数据x = [0,1,2,3,4,5,6,7,8,9]y1 = np.sin(x)y2 = np.cos(x)#画图plt.plot(x, y1, linestyle="--", color="red")plt.plot(x, y2, linestyle = "-", ...转载 2018-12-21 21:54:48 · 210 阅读 · 0 评论 -
tensorflow中的占位符
在tensorflow中我们在执行sess之前需要设置占位符,在sess.run中用feed_dict 将其传入tensorflow中的占位符用 tf.placeholder并且有三个参数(1)数据类型:(2)数据大小:(3)占位符名称:例如:import tensorflow as tfimport numpy as npx = tf.placeholder(tf...原创 2018-12-22 15:59:00 · 2556 阅读 · 0 评论 -
由一个矩阵得到一个掩模矩阵
1.假设有一个不完整的数据,如下20 30 25 1 5 18 3 0 3 17 8 10 0 23 29 30 1 12 18 15 0 import pandas as pdimport numpy as np"""read d...原创 2018-12-22 17:23:41 · 336 阅读 · 0 评论 -
Tensorflow 中数据转换,连接操作,numpy数据的垂直连接
1.将普通的数据转换为tensor (tf.constant)import pandas as pdimport numpy as npimport tensorflow as tf#定义一个DataFrame类型的数据data = pd.DataFrame(np.random.uniform(low = 0,high = 10, size = (100,90)),header =...原创 2018-12-11 20:31:58 · 566 阅读 · 0 评论 -
Python中将非数值的类别转换为数字
在我们对数值数据进行处理时,如果遇到数据中非数值的类别可以采用将其转换为数字的形式,我们采用sklearn中的LabelEncoder比如UCI中的Letter数据集,类别有26类,我们可以采用以下简单方法将类别直接转换为0~25的数字import pandas as pdimport numpy as npfrom sklearn.preprocessing import Labe...原创 2018-12-29 12:08:10 · 9215 阅读 · 0 评论 -
DataFrame中将数据中的某一个值用其他值代替
1.在对数据进行分析时我们会遇到缺失值,其中有一部分缺失值是用"?"来表示的,我们对其进行填补时可能会出现"BadInputError: Data is not float."的错误,因此我们可以用replace将其转换为nanimport numpy as npimport pandas as pddata = pd.DataFrame(np.random.random(9).resh...原创 2018-12-29 17:06:33 · 13826 阅读 · 0 评论 -
numpy 类型转换为 tensor
import tensorflow as tfimport numpy as npa1 = np.array([[1,2,3,4,5],[2,3,4,5,6]])a2 = np.array([[3,4,5,6,7],[3,4,5,8,9]])b = np.array([[0,1,1,0,0],[1,0,1,0,1]])a1 = tf.convert_to_tensor(a1, dt...原创 2019-01-02 16:02:07 · 9957 阅读 · 1 评论 -
数据挖掘项目__数据分类
此次分类任务用到的数据集是上次用到的金融数据并预测贷款用户是否会逾期,主要用sklearn中的几个分类方法来对预处理之后的数据进行分类。1.Logistic RegressionLogistic Regression名称上面有一个回归但其实是一个分类方法,主要用于二分类问题,是通过建立一个损失函数,然后通过优化方法迭代求解出最优的模型参数,最后测试验证我们这个求解的模型的好坏。主要用到...原创 2019-03-05 21:03:11 · 1421 阅读 · 1 评论 -
数据挖掘(4):不同的分类模型有关金融数据分类的评价(accuracy、precision,recall和F1-score)
1.首先读入数据(已经处理(删除,填补,类型转换,归一化)过的数据)并定义计算accuracy、precision,recall和F1-score的函数,并对数据采用sklearn中的特征递归消除法进行特征选择from sklearn import metricsimport pandas as pdfrom sklearn.feature_selection import RFEd...原创 2019-03-09 22:05:05 · 920 阅读 · 0 评论 -
数据挖掘(5)模型调优(sklearn中的网格搜索)
使用网格搜索法对5个模型进行调优(调参时采用五折交叉验证的方式),并进行模型评估可以使用sklearn中的网格搜索from sklearn.model_selection import GridSearchCVclf = LogisticRegression(C=1.0, max_iter=1000).fit(train_data, train_label)parameters =...原创 2019-03-11 20:42:07 · 3837 阅读 · 0 评论 -
数据挖掘(6):模型融合(stacking)
在进行分类的时候,通常我们会选择对多个分类模型进行融合以获得更高的分类效果.这里采用stacking的方法,具体的方法详见之前的博客:https://blog.csdn.net/m0_37548423/article/details/86656070(里面有stacking的介绍)python中我们可以用mlxtend.classifier中的StackingClassifier来进行模型融合...原创 2019-03-13 20:09:44 · 1543 阅读 · 1 评论 -
任务五:使用LightGBM对数据进行分类并评估
1.对前几部得到的特征进行分类,主要用到sklearn中的LightGBM进行评估,并用网格搜索进行参数调优。2.Lightgbm是2017年在当时的NeurIPS(当时为NIPS)上发表的论文,文中主要是相比于XGBoost,LightGBM更高效。import pandas as pdfrom sklearn.model_selection import GridSearchCV...原创 2019-04-15 09:15:06 · 7220 阅读 · 2 评论 -
pandas的操作(转置,连接)
1.转置,连接(pandas)import pandas as pdimport numpy as npa1 = np.arange(30)a1 = pd.DataFrame(a1) #将array转换为DataFramea2 = np.ones([30,1])a2 = pd.DataFrame(a2)aa_row = pd.concat([a1,a2], axis ...原创 2018-12-07 16:15:02 · 11642 阅读 · 0 评论