NumPy、SciPy、Matplotlib,Python下机器学习三大利器。上一篇讲了NumPy基础操作,这节讲讲SciPy和Matplotlib。目前接触到的东西不多,以后再遇到些比较常用的再更新。 scipy是基于numpy的扩充,所以安装时要先安装numpy再安装scipy。scipy的命名空间包含numpy,所以只需import scipy即可,numpy不用import。(所以以下有些东西可能是numpy里的我没分清楚,反正一并写了吧。) 12import scipy as spimport matplotlib.pyplot as plt ...
SciPy、Matplotlib基础操作
NumPy基础操作
学机器学习做点小笔记,都是Python的NumPy库的基本小操作,图书馆借的书看到的,怕自己还了书后忘了,就记下来。 一般习惯导入numpy时使用 import numpy as np ,不要直接import,会有命名空间冲突。比如numpy的array和python自带的array。 numpy下有两个可以做矩阵的东西,一个叫matrix,一个叫array。matrix指定是二维矩阵,array任意维度,所以matrix是array的分支,但是这个matrix和matlab的矩阵很像,操作也很像: 123456789101112131415161718...
算法竞赛入门经典(第2版) 6-9UVa127 - Accordian Patience
题意:52张牌排一行,一旦出现任何一张牌与它左边的第一张或第三张“匹配”,即花色或点数相同,则须立即将其移动到那张牌上面,将其覆盖。能执行以上移动的只有压在最上面的牌。直到最后没有牌能向左移动。 注意细则:如果同时有多张牌都可以移动,你应该采取的策略是移动最左边可移动的牌。当一张牌既可以移动到左边第一张,又可以移动到左边第三张时,应移动到左边第三张上面。 代码:(Accepted,0.100s) 12345678910111213141516171819202122232425262728293031323334353637383940414243444...
算法竞赛入门经典(第2版) 6-8UVa806 - Spatial Structures
题意:黑白图像的路径表示法 代码:(Accepted,0.120s) 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711...
我的Linux入门之路 - 05.Eclipse的Python开发环境搭建与Numpy、Scipy库安装
#一、Python环境 直接终端查询下python安装没:python --version 1Python 2.7.12 Ubuntu竟然已经装了Python2.7,那就好说了。不然自己装和装jdk差不多。本来想着要不要再装个3.4的,但是发现2.7也很常用,那就偷个懒了。 #二、安装PyDev ##1.在线安装 Elipse可以在线安装,又方便还方便而且方便。从http://pydev.org/updates 可以获得在线安装地址。在Help菜单中,选择Install New Software,点击Add,如图输入: 得到如下图内容,只选择PyDev ...
我的Linux入门之路 - 04.Eclipse安装
首先,要安装ecliose自然是先要有Java环境。在上一篇已经安装好了,不再赘述。 #一、下载# Eclipse官网 下载下来的文件“:eclipse-inst-linux64.tar.gz 。 #二、安装# 这次和上次不同,jdk解压即用,而双击打开此压缩包,发现里面有eclipse-inst 文件,说明自带安装程序,那就像windows下装软件一样好办了,把整个包解压缩出来随便放个目录,并且终端cd到该目录。执行sudo ./eclipse-inst 打开安装文件,发现了熟悉的界面: ##1)不好的安装方法一与其症状## 使用sudo运行它,很大条...
我的Linux入门之路 - 03.Java环境搭建
其实ubuntu是自带一个叫openJDK的东西的,是谷歌看Oracle不爽而搞的。不过呢。。。总感觉不太习惯,况且我既然都来Linux了,总是想折腾一把的。 首先先检查下有没有安装java。终端输入java -version,若出现以下字段则说明未安装。 1234567The program ‘java’ can be found in the following packages:* default-jre* gcj-4.6-jre-headless* openjdk-6-jre-headless* gcj-4.5-jre-headless* ope...
我的Linux入门之路 - 02.Shadowsocks-Qt5配置
作为一个学习中的程序员,查wiki等,科学上网肯定是刚需。况且没有它很多东西都下不下来。我在windows环境下使用的是shadowsocks,那么在linux下也使用它。 #一、SS版本# SS版本众多,而且自从你懂得之后又衍生出SSR。SS全平台各个版本 - Github ,SSR各平台版本 - Github 。 #二、安装# 这里我使用的是Qt5版本(Github链接)。毕竟是从win过渡过来的,一开始还是倾向GUI。 安装方法也异常简单,简单到我一开始不相信。(官方github上有安装文档。幸运的是,github可以直接访问)。三行代码即可解决,...
我的Linux入门之路 - 01.Ubuntu安装
最近学机器学习,感觉matlab/octave用的人不多,想改用python。于是开始学python,辛辛苦苦学会了自己装环境和装第三方库,结果发现scipy库竟然没有win版本!于是想着那我得装个linux了。于是乎...我本来只是想学学机器学习的。。。(教练:你怎么什么都想学)那么说干就干,顺便写个笔记,也不指望别人看到,也是以防以后我再需要安装linux时忘了自己曾经的步骤。 #一、Linux版本选择与下载# 因为是入门么,首先想到的自然是ubuntu。然后查了查,定下来就ubuntu比较适合我这种从windows过渡过去的。版本就默认他的最新就好...
算法竞赛入门经典(第2版) 6-7UVa804 - Petri Net Simulation
题意:模拟Petri网的执行。虽然没听说过Petri网,但是题目描述的很清晰。 代码:(Accepted,0.210s) 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990//UVa804 - Petri Net Simulation//Accepted 0.210s...
算法竞赛入门经典(第2版) 6-6UVa12166 - Equilibrium Mobile
题意:二叉树代表使得平衡天平,修改最少值使之平衡。 代码:(Accepted,0.030s) 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647//UVa12166 - Equilibrium Mobile//Accepted 0.030s//#define _XIENAOBAN_#include<cstdio>#include<cstring>#include<map>int T;int total...
A星寻路算法初探
写在开始之前 最近突然对各路游戏的寻路算法很感兴趣,于是去学习了下游戏里的AI们是如何寻路的。网上相关内容很多,但同时有些说法也不一,制作自己的 A* 算法时也有因不同的说法而困惑。整理多方资料并自己实践之后,以下是我对寻路算法,尤其是 A* 算法的一些自己的总结。以下为自己的思考与想法,可能不准确之处,请指正。 我本次的模拟比较简单,下面简述一下模拟环境: 地图是棋盘式的格子地图; 各个点没有权值,或者说权值为1; 只能上下左右走,不支持斜着走; 未考虑终点被包住而到达不了的情况,发生此类情况时,算法会遍历所有可到达点无果后才证明目标无法到达。 虽然模...
算法竞赛入门经典(第2版) 6-4UVa439 6-5UVa1600
比较忙比较累,只贴代码了。 题目:6-4 UVa439 - Knight Moves 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162//UVa439 - Knight Moves//Accepted 0.000s//#define _XIENAOBAN_#include<iostream>#include<cstring>#include<qu...
算法竞赛入门经典(第2版) 6-1UVa673 6-2UVa712 6-3UVa536
这三题比较简单,只放代码了。 题目:6-1 UVa673 - Parentheses Balance 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849//UVa673 - Parentheses Balance//Accepted 0.000s//#define _XIENAOBAN_#include<iostream>using namespace std;int N;char line[130];bool st...
算法竞赛入门经典(第2版) 5-16UVa212 - Use of Hospital Facilities
题意:模拟患者做手术。 其条件为:医院有Nop个手术室、准备手术室要Mop分钟,另有Nre个恢复用的床、准备每张床要Mre分钟,早上Ts点整医院开张,从手术室手术完毕转移到回复床要Mtr分钟。现在医院早上开张了,给你一张患者的表,有Npa个患者等着做手术,每个患者的的信息有:名字、做手术需要的时间、恢复需要的时间。只要有空的手术室位就安排患者进去,优先安排门牌号低的。若多人同时竞争,输入列表靠前的先进。进入恢复室的优先顺序是,也是优先安排床号靠前的床,同时做完手术的人按照手术室的门牌号小的 (很奇葩的设定)优先。 代码:(Accepted,0.000s)...