Anaconda安装TensorFlow
安装Anacoda
安装时勾上添加PATH路径 和默认Python的解释器
安装完成后在PowerShell中输入conda list如果显示所有安装的包则安装成功。
创建虚拟环境
**虚拟环境:**在虚拟环境中安装各种依赖包可以隔离系统环境,防止系统环境被扰乱。不同的虚拟环境安装不同的一组包,通过在不同的虚拟环境中运行程序来使用不同的包。
查看已创建环境:conda info -e
创建环境:conda create -n env_name
删除环境:conda remove -n env_name --all
Cmd中激活环境:
activate env_name
PowerShell中激活环境需要先执行命令:
conda install -n root -c pscondaenvs pscondaenvs
Set-ExecutionPolicy RemoteSigned
之后每一次激活只需要:
activate env_name
退出环境:
deactivate
安装与卸载包
在目的虚拟环境中(激活后):
conda install package_name
conda uni ...
PAT知识点-堆
基本定义
堆是一个完全二叉树,可以用数组来映射这个树。
建立堆就是根据一个已知的未排序的数组,根据建堆的规则,将数组中的元素按照一定规则重新排列而已
堆的分类
大根堆:根结点是最大的元素,每个结点都大于等于其左右孩子结点
小根堆:根结点是最小的元素,每个结点都小于等于其左右孩子结点
堆的特点
由于堆的第一个元素总是最大/最小的,所以每次取堆的第一个元素就能得到整个堆中的最值,并且!每次取完这个最值后,[堆可以进行调整,保持第一个元素是堆的最值],就是优先队列!
堆的建立
就是不断调整/筛选的过程
调整/筛选:
要调整结点x,就把结点x和其左右结点中最大的孩子交换,对于结点x和其左右结点构成的树而言,就成了一个堆。
从最后一个有分支的结点开始调整,直到根节点也调整了,就ok了。为什么这样就ok?这其实是一个分治的思想,要想在一个树上建立一个堆,首先要把树的最底下的子树建立成堆,然后上面再执行同样的操作,整体就成堆了。
比如a,b,c, b,c是a的子树, b,c成堆后,b,c就是其堆的最值,这样再跟a的根节点较量一番,a的根节点更新后, ...
PAT中常用STL-string
常用操作
输入
123456789101112131415#include<iostream>#include<string>using namespace std; int main(){ string a; cin>>a;//不读空字符 cout<<"a="<<a<<endl; string b; getline(cin,b);//读空字符 cout<<"b="<<b<<endl; return 0;}
1234567ab cde fa=abb= cde f--------------------------------Process exited after 12.92 seconds with return value 0请按任意键继续. . .
常用函数
length()
获取字符的长度。
substring()
substring(pos,length ...
Python数据分析与挖掘实战-第4章笔记
数据预处理
数据清洗
缺失值处理
处理方法
删除
数据插补
不处理
数据插补方法
插补方法
描述
均值/中位数/众数替代
最邻近插补
用与缺失值最接近的样本的该属性值来插补
回归函数
用其他变量拟合缺失变量,预测其值
插值函数
拉格朗日插值(有新的值进来,插值函数会改变,但用python实现简单),牛顿插值(解决了拉插的缺点)
使用固定值
12345678910111213141516171819202122232425262728293031323334# -*- coding: utf-8 -*-"""Created on Wed May 6 10:32:34 2020@author: SANG"""#拉格朗日插值import pandas as pdfrom scipy.interpolate import lagrange#导入拉格朗日插值函数inputfile='data/catering_sale.xls'#销售数据路径outputfile=& ...
Python基础语法
数据
1234567891011121314print(3+2)#5print(3-2)#1print(3*2)#6print(3/2)#1.5print(3//2)#1print(3%2)#1print(3**2)#9print(2.13232+1.000000)#3.13232#数字转字符串age=20print('Happy '+str(age)+'th Birthday!')#Happy 20th Birthday!num=66print('My favorite number is '+str(num))#My favorite number is 66
输入
123456789101112131415161718#message=input("Tell me something, and I will repeat it back to you:")#print(message)#prompt="If you tell us who you are, we can personali ...
Python数据分析与挖掘实战-第3章笔记
数据质量分析
为数据预处理的前提,主要是检查脏数据:
缺失值
异常值
不一致的值
重复数据及含有特殊符号的数据
缺失值分析
两种情况:①记录缺失 ②记录中的某些字段缺失
缺失分析:缺失值的属性个数,每个属性的未缺失数、缺失数和缺失率。
异常值分析
简单统计量分析
一般设定统计量的最大值、最小值,看是否不在区间内。
3σ3\sigma3σ原则
数据符合正态分布,异常值为与平均值的偏差超过3倍标准差的值。(P(∣x−μ∣>3σ)≤0.003P(|x-\mu|>3\sigma)\le0.003P(∣x−μ∣>3σ)≤0.003)。
盒图分析
QL:下四分位数Q_L: 下四分位数QL:下四分位数
QU:上四分位数Q_U: 上四分位数QU:上四分位数
IQR:四分位数间距IQR: 四分位数间距IQR:四分位数间距
异常值:<QL−1.5IQR∣∣>QL+1.5IQR异常值: <Q_L-1.5IQR || >Q_L+1.5IQR异常值:<QL−1.5IQR∣∣>QL+1.5IQR
123 ...
Python数据分析与挖掘实战-第2章笔记
Python数据分析工具
Numpy
提供数组以及对数组的运算,后面的Scipy、Matplotlib、Pandas依赖这个库。运算效率是C语言级别的。
Scipy
提供矩阵及运算,以及最优化、线性代数、积分、插值、拟合、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解。
Matplotlib
数据可视化、绘图。
Pandas
Python最强大的数据分析和探索工具。
StatsModel
数据的统计建模分析。
Scikit-learn
机器学习工具包。包括数据预处理、分类、回归、聚类、预测和模型分析。依赖于Numpy、SciPy、Matplotlib。
Keras
搭建神经网络等深度学习模型,是一个强大的深度学习库。依赖于Numpy、Scipy和Theano(也是一个深度学习库,不过门槛高,Keras为此而生)。
Gensim
处理语言方面的任务,如文本相似度计算等。
JavaScript笔记-错误处理
JavaScript笔记-错误处理
类似java中的try,catch,finally语句,主要是把可能出错(网络错误、访问权限不对、访问数据出错等)的语句放在try里,用catch处理错误,finally为最后要做的操作(无论是否有错)
错误处理
123456789101112131415161718192021222324252627282930313233343536<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>错误处理</title></head><body><script> /*常见例子*/ var un=null; try{ var temp=un.length; }catch(e){ console.log("出错了",e ...
PAT知识点-并查集
PAT知识点-并查集
定义
12const int MAX=1010;int father[MAX];//father[i]表示节点i的父亲
初始化
1234567void init(int n){ for(int i=1;i<=n;i++)//这里假设节点序号为1到n { father[i]=i;//规定根节点的父亲是自己 }}
查
12345678910111213141516int findFather(int x){ int a=x;//x的备份,路径压缩时用 while(x!=father[x])//只要没到根节点,就一直向上查询 { x=father[x]; }//结束后x为根节点 /*路径压缩,对于从最底层节点到根节点的所有节点,将其父节点指向根节点*/ while(a!=father[a]) { int z=a;//a的备份,下面它有了个新父亲,这个用来找它的老父亲 ...
PAT知识点-树的基本操作
PAT知识点-树的基本操作
树的数据结构
二叉树
一般的度为2的树是不考虑左右子树的顺序的,也就是说,左右子树交换对该树没影响。但是!二叉树是规定左右子树顺序的!左右子树交换后就是另一个二叉树了!左右子树的交换方法下面会讲,就是在后序遍历的时候交换左右子树。
123456struct Node{ int data;//数据域 Node *lchild;//左孩子 Node *rchild;//右孩子}
一般题目都是给定结点序号,下面的更常用
1234567const int MAXN=1000;//假设最大序号为1000struct Node{ int data; int lchild;//存放序号,int型 int rchild;//存放序号,int型}node[MAXN];//开辟MAXN个结点来存储树
完全二叉树
完全二叉树指除了最后一层可以不排满(但必须从左到右排)节点,其他层必须满节点的树。
性质:如果设根节点的序号为1,那么其左子节点的序号为1*2=2,其由节点的序号为1*2+1=3。只有规定了根节 ...