ai,python学习记录

版权声明:本文为博主原创文章,未经博主允许不得转载。

好久,没有动笔了,也不知道,写什么,杂乱的学习的笔记吧,今天凑一下,记录一下吧。

Sriaj 是我认为比较好的老师,上面讲的有很多,适合看一看。

这里写图片描述

内容一:

1. Python环境的安装和正确开启项目的姿势

1.各种平台的python安装
2.开启姿势
安装python
建立我们的环境
安装依赖 pip install -U 模块名
编写我们的python脚本 (详见 demo.py)
pip install -r requirements.txt 运行一个列表文件

2.利用Twitter的api,进行情感分析

 开启姿势
   1.注册 twitter 的api
   2.安装依赖   tweepy模块(进行twitter通信)  和 textblob模块(进行文字情感分析)
   3.写我们的脚本语言 (详见 languageNUL.py 和twitterAi.py)

3.创建一个,为用户推荐图书的机器库

1.开启姿态
编写 协作系统
编写内容系统

4.使用python编写一个简单的预测股票的脚本

内容二: tensorflow 基本语言:

1.变量定义:

Improt tensorflow as tf
Weights=tf.Variable(tf.random_uniform([1],-1.0,1.0))
biases=tf.Variable(tf.zero([1]))
初始化所有变量:
init=tf.initialize_all_variables()

其他几个函数:tf.reduce_mean(tf.square(y-y_data))

优化函数:
optimizer=tf.train.GradientDecentOptimizer(学习率)
train=optimizer.minimize(loss)

2.创建矩阵

matrix1=tf.constant([[3,3]]) #一行两列的矩阵
matrix2=tf.constant([[2],
[2]]) #两行一列的矩阵

矩阵乘法:
product=tf.matmul(matrix1,matrix2) #np.dot(m1,m2)

Seesion的运行模式:
第一种:
sess=tf.Session()
result=sess.run(product)
print(result)
Sess.close()

第二种:
with tf.Session() as sess:
result2=sess.run(product)
print(result2)

3.常量

one=tf.constant(1)
tf.assgn(state,new_value) # 这话是将,newvalue的值,加载到state

4.placeholder 需要时,传入:

input1=tf.placeholder(tf.float32,结构【2,】)
tf.add() # 加法运算
tf.mul() #乘法运算

使用:sess.run(运算变量,feed_dict={input1:[7]}) #字典传入

5. activation functions 激励函数

y=AF(wx)
卷积是 relu

relu 函数 elu函数 softplus函数
softsing函数 dropout函数 bias_add 函数
sigmoid函数 tanh函数

4. 结果可视化 使用的是matplotlib.pyplot as plt

5.加速神经网络,优化器

Momenturn
AdaGrad 在学习率上动手脚 ,把鞋子做个阴谋,只能直走
Adam 下坡和破鞋子

7中Optimizer 的优化器:
GradientDescentoptimizer
AdadeltaOptimizer
AdagradOptimizer
MomentumOptimizer #普遍
AdamOptimizer #普遍
FtrlOptimizer
RMSPropOptimizer

6.tf.estimator 模型循环,可自定义模型循环

内容三:python

Python 语言:

1.Print 函数的使用:

str(1) 将1转换成字符串
int(“1”) 将字符串转成int
float(“1.2”) 将字符串转成 小数

2.运算符:

** 代表 乘方
% 求余
// 求 整 如:10//3 =3 商是3

3.while循环语句:

index=0
while 条件:
index=index+1
print(index)

4.for 循环语句:

for I in 数组:
做什么操作

for I in arge(1,10):# 1,到10 之间,1到9
做什么

for I in arge (1,10,2): # 1到10之间 1,3 ,5
做什么

5.def函数

def fun(a,b):
c=a*b
print(‘this c is’,c)

调用: fun(2,3)

小知识:a=None 指什么都没有
Global a 让局部,使用 全局 变量a

6.模块安装

安装依赖 pip install -U 模块名

注意,python2.7 为pip python3.6 为 pip3

卸载依赖 pip uninstall 模块名

7.读写文件

my_file=open(‘文件名带后缀’,‘形式’) #‘r’ 读 ‘w’ 写 ‘a’ 添加
my_file.write(“内容”)
content=file.read() #读文件所有内容
line=file.readline() #按行读
lineList=file.readlines() # 读到 集合 集合以【】
my_file.close() #关闭文件流

8. python类

class Dog:
name=“旺财”
age=“岁”

 def show(self,x,y):  #self 代表自己
      print(x+y,self.age)  
 def __init__(self,name,age):# 初始化操作
     self.name=name
     self.age=age

使用:
dog=Dog(“小花”,“2岁”)
dog.show(1,2) #会输出,3岁

dog.age #访问 属性

9.input 的使用:

a_input=int(input(“提示语”))
print(“操作:”,a_input)

if a_input==1:
print(“正确”)
elif a_input==2:
print(“错误”)
else:
print(“不知道”)

9. 元组 和列表:

a_tuple=(1,3) #元组 为小括号,或不要括号

a_list=[2,3] # 列表

遍历:用for 循环 range(5) 0到4 len(a_list) #len 计算字典的长度

列表的属性:
a_list.append(“你好”) #在最后加入 你好
a_list.insert(位置posion,添加内容) #在指定位置,插入数据
a_list.remove(“位置posion”) #删除 那个位置的值

a_list[-1] #从最后一个值,开始
a_list[0:3] #那个位置到那个位置
a_list[-3:] #从最后的第三行到最后
a.index(2) #看2这个值,在那个位置
a.count(3) #出现3这个值,有几次
A.sort() # 从小到大排序
a.sort(reverse=True) #从大到小排序

多维列表:

b=[[1,2,3],[2,3,4]]
print(a[1][2]) # 输出第二个列表的最后一个值

10.字典

c={1:”值”,”key”:”值”}

删除 字典元素: del c[‘key’]

c[‘key’] =20 # 添加新元素

11.导入类

import 模块名

import 模块名 as 简称

from 模块名 import 方法 # 在类中可 直接 调用方法

From 模块名 import * #导入模块的所有方法

自己写的类导入

方法1:提前 一定在 一个 包中,导入方法,是一样的

方法2: 将 他放在,Mac的库,lib ,python3,的 site-packages中,可以全局调用

12. 终止语句

while True:
if a==3:
break #直接跳出
continue # 跳出本次循环

13.错误处理

try:
file=open(“eee”,’4’)
except Exception as e:
print(“什么什么”)

else:
File.write(“你好”) #打开正常做操作

file.close()

14.zip 函数

a =[1,2,3]
b=[4,5,6]
list(zip(a,b)) #会输出 【(1,4),(2,5),(3,6)]

Lambda 的使用:
Fun2=lambda x,y:x+y #意思是 定义一个函数,传参数 ,最后返回x+y

list(map(fun2,[1],[2])) #会输出3

15.copy 函数

import copy
a=[1,2]
c=copy.copy(a) #拷贝 数据

e=copy.deepcopy(a) #拷贝 任何数 都不要重复,指的是,指中的所有内存,都不重复

16.threading 线程

Import threading
Def main():
print(threding.active_count()) #看有多少个激活的线程
print(threding.enumerate()) #加一个线程
ptint(threding.current_thread()) #当前运行的是那个线程

 #添加一个线程
 added_thread=threading.Thread(target=thread_job) #传入外部函数  ’%s‘ %后面替换的变量  
 added_thread.start() #开启线程

Def thread_job():

if name==‘main’:
main() #主函数运行

等待线程运行完,在运行其他的

added_thread.join()

线程加参数

added_thread=threading.Thread(target=thread_job,args=(参数))

线程返回参数

form queue import Queue
q =Queue()

added_thread=threading.Thread(target=thread_job,args=(参数,q))

通过 q.get(i) #来取

lock(锁)两个线程,第二个线程,需要第一个线程的结果,做为第二个线程的参数,像kotlin中的携程

lock =threading.Lock()
使用:
lock.acquire() 加锁
lock.release() 解锁

17.pickle 的使用

import pickle

pickle 可以保存 字典 ,类别 ,变量等

a_dict={‘da’:111,2:[23,1,4],’23’:{1:2,’d‘:’sad’}}

file=open(‘a.pickle’,’wb’)
pickle.dump(a_dict,file) #将东西倒入文件
file.close()

读:
File =open(“a.pickle”,’rb’)
a_dict1=pickle.load(file)
file.close()

使用with open(“a.pickle”,’rb)as file:
a_dict1=pickle.load(file) #他会自动关闭文件流

18.set找不同

char_list=[‘1’,’2’,’1’,’3’]
print(set(char_list)) # 去重 type() 看类型

set.add() #添加
set.clear() #清空
Set.remove() #去掉那个值
Set.discard(“y”) #去掉那个值,并返回原先的赋值

Set1.difference(set2) #返回没有重复的东西。
Set1.intersection(set2) #返回 两个set相同的部分

内容四:Siraj Raval新课程“智力数学”大纲

第一周 - 一阶优化 - 导数,偏导数,凸性
带梯度下降的SVM分类

第二周 - 二阶优化 - 雅可比,黑森州,拉普拉斯
牛顿法逻辑回归

第3周 - 矢量 - 矢量空间,矢量规范,矩阵
K均值聚类算法

第4周 - 矩阵运算 - 点积,矩阵求逆,投影
卷积神经网络

第5周 - 降维 - 矩阵分解,特征向量,特征值
递归神经网络

第6周 - 概率论 - 贝叶斯定理,朴素贝叶斯,拉普拉斯平滑
随机森林

第7周 - 超参数优化 - 贝叶斯与Frequentist,分布,贝叶斯优化
高斯混合模型

第8周 - 随机模型 - 生成网络,潜在Dirichlet分配,主题建模
LSTM网络

第9周 - 加强 - 马尔可夫链,蒙特卡罗,马尔可夫决策过程
游戏机器人

第10周 - 量子机器学习

siraj raval 的数学课程

Hinge loss 损失函数

Linear Regression 线性回归

Decision Tree 决策树

Random Forest 随机森林

Logistic Regression 逻辑回归

K-Nearest Neighbors 最近的邻居

Naive Bayes Classifier 朴素贝叶斯分类器

Hierarchical Clustering 分层聚类

Rule Learning 伴生学习

Tokenizer 将文本转化成序列

希望,还是 要多动笔,2018年,给自己一个新的要求吧,也算写了一篇,做了开始。

猜你喜欢

转载自blog.csdn.net/zr940326/article/details/79115882
今日推荐