关于IMDB 数据集中代码中def decode_review(text): return ' '.join([reverse_word_index.get(i, '?') for i in text])
的理解
参考链接:https://blog.csdn.net/qq_34153210/article/details/103397834
基本文本分类:电影评论文本分类
参考链接:https://blog.csdn.net/NSSWTT/article/details/108090318
plt.legend( )创建图例
参考链接:https://zhuanlan.zhihu.com/p/111108841
使用预训练的word embedding
参考链接(可):
https://blog.csdn.net/weixin_42101286/article/details/90296819
Keras.Tokenizer:文本与序列预处理
Tokenizer类:
参考链接:https://blog.csdn.net/qq_39594141/article/details/88869489
keras里sparse_categorical_crossentropy和categorical_crossentropy的不同
参考链接1:https://blog.csdn.net/qq_42961707/article/details/95799706
参考链接2:http://sofasofa.io/forum_main_post.php?postid=1005527
多类分类问题将类别变量(categorical function)的输出标签转化为数值变量
参考链接:
https://blog.csdn.net/weixin_34228662/article/details/86352639?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.channel_param
numpy——.npy和.npz文件
1、npy文件——Numpy专用的二进制格式
np.load()和np.save()是读写磁盘数组数据的两个重要函数。使用时,数组会以未压缩的原始二进制格式保存在扩展名为.npy的文件中。
import numpy as np
# 将数组以二进制格式保存到磁盘
arr=np.arange(5)
np.save('test',arr)
# 读取数组
print(np.load('test.npy'))
结果:
[0 1 2 3 4]
保存为.npy文件后如果使用记事本等工具打开浏览会出现乱码,所以如果想在保存后能够浏览内容的话建议不要使用.npy文件。
2、npz文件——压缩文件
使用np.savez()函数可以将多个数组保存到同一个文件中。
np.savez()函数的第一个参数是文件名,其后的参数都是需要保存的数组。传递数组时可以使用关键字参数为数组命名,非关键字参数传递的数组会自动起名为arr_0、arr_1……。
np.savez()函数输出的是一个扩展名为.npz的压缩文件,它包含多个与保存的数组对应的npy文件(由save()函数保存),文件名对应数组名。
读取.npz文件时使用np.load()函数,返回的是一个类似于字典的对象,因此可以通过数组名作为关键字对多个数组进行访问。
import numpy as np
# 将多个数组保存到磁盘
a = np.arange(5)
b = np.arange(6)
c = np.arange(7)
np.savez('test', a, b, c_array=c) # c_array是数组c的命名
# 读取数组
data = np.load('test.npz') #类似于字典{‘arr_0’:a,’arr_1’:b,’c_array’:c}
print('arr_0 : ', data['arr_0'])
print('arr_1 : ', data['arr_1'])
print('c_array : ', data['c_array'])
结果:
arr_0 : [0 1 2 3 4]
arr_1 : [0 1 2 3 4 5]
c_array : [0 1 2 3 4 5 6]
参考链接:https://www.cnblogs.com/Lilu-1226/p/9768368.html
numpy库数组拼接np.concatenate
numpy提供了numpy.concatenate((a1,a2,…), axis=0)函数。能够一次完成多个数组的拼接。其中a1,a2,…是数组类型的参数。
a=np.array([1,2,3])
b=np.array([11,22,33])
c=np.array([44,55,66])
np.concatenate((a,b,c),axis=0) # 默认情况下,axis=0可以不写, #对于一维数组拼接,axis的值不影响最后的结果
结果:
array([ 1, 2, 3, 11, 22, 33, 44, 55, 66])
a=np.array([[1,2,3],[4,5,6]])
b=np.array([[11,21,31],[7,8,9]])
np.concatenate((a,b),axis=0)
结果:
array([[ 1, 2, 3],
[ 4, 5, 6],
[11, 21, 31],
[ 7, 8, 9]])
np.concatenate((a,b),axis=1) #axis=1表示对应行的数组进行拼接
结果:
array([[ 1, 2, 3, 11, 21, 31],
[ 4, 5, 6, 7, 8, 9]])
a=np.array([[1,2],[4,5]])
b=np.array([[11,21,31],[7,8,9]])
np.concatenate((a,b),axis=1)
结果:
array([[ 1, 2, 11, 21, 31],
[ 4, 5, 7, 8, 9]])
对numpy.append()和numpy.concatenate()两个函数的运行时间进行比较。
from time import clock as now
a=np.arange(9999)
b=np.arange(9999)
time1=now()
c=np.append(a,b)
time2=now()
print (time2-time1)
结果:
0.0005653000007441733
a=np.arange(9999)
b=np.arange(9999)
time1=now()
c=np.concatenate((a,b),axis=0)
time2=now()
print (time2-time1)
结果:
0.0002395999981672503
可知,concatenate()效率更高,适合大规模的数据拼接。
参考链接:https://blog.csdn.net/zyl1042635242/article/details/43162031
Keras中调用model.fit()会返回一个History对象,这个对象有一个成员history,它是一个字典,包含训练过程中的所有数据。
plt画图之legend():显示图例。
电影评论分类(二分类问题)部分代码:
参考链接:https://blog.csdn.net/qq_33434901/article/details/84580505
KeyError: ‘accuracy’、KeyError: ‘val_acc’、KeyError: 'acc’等报错信息的解决方法
参考链接:https://blog.csdn.net/weixin_43051346/article/details/103647390
Python numpy的argmax用法
参考链接:https://www.cnblogs.com/touch-skyer/p/8509217.html
Keras中predict()方法和predict_classes()方法的区别
参考链接(可):
https://blog.csdn.net/tszupup/article/details/85275111
keras model.predict_classes()只能适用于sequential model
参考链接:https://blog.csdn.net/zds13257177985/article/details/80638384
seaborn设置整体风格
参考链接:https://www.cnblogs.com/pythoner6833/p/9291303.html