python基础学习
TigerTai98
研究方向: Differential Privacy, Machine Learning, Optimization
展开
-
Numpy 向量化操作加速计算,解决向量外积求和慢的问题
在计算函数二阶导的时候,我们通常需要计算Hessian 矩阵,此时会遇到向量外积求和的问题∑i=1nuivi,ui∈Rn×1,vi∈R1×n\sum_{i=1}^n u_i v_i, u_i \in \mathbb{R}^{n\times 1}, v_i \in \mathbb{R}^{1\times n}i=1∑nuivi,ui∈Rn×1,vi∈R1×n如果我们一个一个地计算 uiviTu_i v_i^TuiviT 并将它们用for循环加起来,那么我们需要计算 nnn 个矩阵相乘,是原创 2021-05-08 02:13:35 · 643 阅读 · 8 评论 -
Python 第5章 条件和递归
向下取整和求余数hour=105//60 ##hour=1minute=105%60 ##minute=45键盘输入text=input();name=input("What is your name?\n");两种递归##先后顺序不同,输出顺序不同def print_up(n): if (n < 0): return print_up(n-1) pr原创 2017-06-24 18:20:45 · 699 阅读 · 0 评论 -
python 实现 kNN 算法
kNN算法1.准备带有标签的数据(需要转换成矩阵格式) 2.提供一个待分类的数据 3.求待分类数据与每一个带标签的数据的”距离“ 4.选取“距离”最小的k个带标签数据 5.求k个数据中出现频率最高的数据得出分类结果python 代码实现from numpy import *import operator#inX为待分类数据,dataSet为数据,labels为标签def classify翻译 2017-08-03 19:15:24 · 638 阅读 · 0 评论 -
python numpy基础
基本类型import numpy#向量vector=numpy.array([5,10,15,20])vector==10#矩阵matrix=numpy.array([[5,10,15],[20,25,30],[35,40,45]])matrix==25类型转化astype函数 dtype函数vector1=numpy.array(["1","2","3"])print(vector原创 2017-08-07 00:14:00 · 441 阅读 · 0 评论 -
python pandas基础
读取文档#导入csv函数food_info=pandas.read_csv("food_info.csv")print(type(food_info))print(food_info.dtypes)基本操作#帮助文档print(help(pandas.read_csv))food_info.head(3)#前三行数据food_info.tail(5)#后5行数据food_info.c原创 2017-08-07 00:23:54 · 383 阅读 · 0 评论 -
python 列表操作
Think Python 列表相关操作# -*- coding: utf-8 -*-"""Created on Fri Oct 27 22:05:42 2017@author: 123"""cheeses=['Cheddar','Edam','Gouda']numbers=[42,123]empty=[]print(cheeses,numbers,empty)#list支持赋值,但是字符翻译 2017-10-27 22:54:13 · 276 阅读 · 0 评论 -
Numpy 通过矩阵操作避免for循环 之 [None, :, :]运用
我们知道python中 for 循环的效率是不高的,相比之下,直接运用矩阵向量操作(如点乘)可以让代码运行更快。因为在复现paper时候遇到了这样的问题,在这里总结一下我的解决方法。[None, :, :] 介绍通过None indexing,可以将一个二维矩阵扩展成一个三维矩阵,算是一种 broadcasting吧。一个大小为[a, b]的矩阵M,在A=M[None, :, :]操作下,A的...原创 2019-01-21 14:55:15 · 5109 阅读 · 0 评论