一维卷积








航空公司评论数据集

import tensorflow as tf
import matplotlib.pyplot as plt
%matplotlib inline
import numpy as np
import pandas as pd
import os
import re
# 显存自适应分配
gpus = tf.config.experimental.list_physical_devices(device_type='GPU')
for gpu in gpus:tf.config.experimental.set_memory_growth(gpu,True)
gpu_ok = tf.test.is_gpu_available()
print("tf version:", tf.__version__)
print("use GPU", gpu_ok) # 判断是否使用gpu进行训练
# 读取数据
data = pd.read_csv ("F:/py/ziliao/数据集/Tweets.csv")
data.head()

data = data[["airline_sentiment","text"]]

data.airline_sentiment.value_counts()# 查看各评论的条数

data_p = data[data.airline_sentiment=="positive"]
data_n = data[data.airline_sentiment=="negative"]
data_n = data_n.iloc[:len(data_p)] # 我们从差评里取出好评这么多数据让数据一致


数据预处理

# 创建新的数据
data = pd.concat([data_n,data_p])
len(data)
data = data.sample(len(data))# 乱序
data

# 处理label
# 返回布尔值,把布尔值astype成int类型  赋值给review列
data["review"] = (data.airline_sentiment=="positive").astype("int")

del data["airline_sentiment"] #删除该列


处理文本

token = re.compile("[A-Za-z]+|[!?,.()]")# 编写一个正则取出A-Z a-z !?,.()
def reg_text(text):new_text = token.findall(text) # 提取字符new_text = [word.lower()for word in new_text] # 变成小写return new_text
data["text"] = data.text.apply(reg_text) # 字符处理后重新赋值给text

# 提取出文本中的唯一单词
word_set = set()
for text in data.text:for word in text:word_set.add(word)

len(word_set)# 查看单词数
max_word = len(word_set)+1
max_word
# 构造一个 英文单词:索引
word_list = list(word_set) # 转换成列表
word_list.index("customersfirst")

# 转换成 英文单词:数字索引 把所有数字+1 表示不从0开始数数
word_index = dict((word,word_list.index(word)+1) for word in word_list)
word_index

# 对数据集进行转换  如果未匹配到 0作为填充
data_ok = data.text.apply(lambda x:[word_index.get(word,0)for word in x])

max(len(x)for x in data_ok),min(len(x)for x in data_ok) # 查看评论长度
maxlen = max(len(x)for x in data_ok)
# 对所有评论安装最大长度进行填充 填充为0
data_ok = tf.keras.preprocessing.sequence.pad_sequences(data_ok.values,maxlen=maxlen)

data_ok.shape #  数据

label = data.review.values # label
label


建立模型

model = tf.keras.Sequential()
model.add(tf.keras.layers.Embedding(max_word, 50, input_length=maxlen))
model.add(tf.keras.layers.Conv1D(32, 7, activation='relu', padding='same'))
model.add(tf.keras.layers.MaxPooling1D(3))
model.add(tf.keras.layers.Conv1D(32, 7, activation='relu', padding='same'))
model.add(tf.keras.layers.GlobalAveragePooling1D())
model.add(tf.keras.layers.Dense(1, activation='sigmoid'))

# 编译模型
model.compile(optimizer=tf.keras.optimizers.RMSprop(),loss='binary_crossentropy',metrics=['acc']
)
# 训练
history = model.fit(data_ok,label, # 训练数据及labelepochs=10, # 训练步数batch_size=50, # 每次训练50个数据validation_split=0.2    # 从训练集中分割出20%作为测试集
)

深度学习-Tensorflow2.2-一维卷积网络{12}-一维卷积实例-27相关推荐

  1. 深度学习-Tensorflow2.2-卷积神经网络{3}-卫星图像识别卷积综合实例(二分类)-13

    import tensorflow as tf import matplotlib.pyplot as plt %matplotlib inline import numpy as np import ...

  2. 深度学习-Tensorflow2.2-tf.data输入模块{2}-tf.data输入实例-10

    # -*- coding: utf-8 -*- import os os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' # 修改警告级别,不显示警告 import ten ...

  3. 深度学习-11:神经元、神经网络、人脑和卷积神网络

    深度学习-11:神经元.神经网络.人脑和卷积神网络 深度学习原理与实践(开源图书)-总目录 在生物神经网络中,学习源自于大脑中无数神经元之间的连接.大脑接触到新的刺激后,这些神经元之间的连接改变了配置 ...

  4. 深度学习中的生成对抗网络GAN

    转载:一文看尽深度学习中的生成对抗网络 | CVHub带你看一看GANs架构发展的8年 (qq.com) 导读 生成对抗网络 (Generative Adversarial Networks, GAN ...

  5. 【深度学习基础】一步一步讲解卷积神经网络

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送 本文转自:一步一步讲解卷积神经网络 卷积神经网络(Convoluti ...

  6. 基于深度学习的SDN家庭网关加密网络流量分类

    写在前面: 本文翻译供个人研究学习之用,不保证严谨与准确 github链接:https://github.com/WithHades/network_traffic_classification_pa ...

  7. 基于深度学习的点云分割网络及点云分割数据集

    作者丨泡椒味的泡泡糖 来源丨深蓝AI 引言 点云分割是根据空间.几何和纹理等特征对点云进行划分,使得同一划分内的点云拥有相似的特征.点云的有效分割是许多应用的前提,例如在三维重建领域,需要对场景内的物 ...

  8. 前沿丨基于深度学习的点云分割网络及点云分割数据集

    众所周知,点云的有效分割是许多应用的前提,例如在三维重建领域,需要对场景内的物体首先进行分类处理,然后才能进行后期的识别和重建.传统的点云分割主要依赖聚类算法和基于随机采样一致性的分割算法,在很多技术 ...

  9. 深度学习入门笔记(十九):卷积神经网络(二)

    欢迎关注WX公众号:[程序员管小亮] 专栏--深度学习入门笔记 声明 1)该文章整理自网上的大牛和机器学习专家无私奉献的资料,具体引用的资料请看参考文献. 2)本文仅供学术交流,非商用.所以每一部分具 ...

最新文章

  1. 一文读懂约瑟夫环算法
  2. python2.7环境下“No module named matplotlib.pyplot”的解决办法
  3. sudo命令_用大写字母输入 Linux 命令,实现以 sudo 用户权限运行
  4. 在敏捷中应用测试驱动开发
  5. spring 配置定时任务
  6. sap.ca.ui.model.format.NumberFormat format logic for Globalization
  7. python怎么连接数据库并且查看数据是否存在_如何使用python连接数据库,插入并查询数据...
  8. php远程上传实例,PHP ftp类实现远程附件上传例子
  9. 单细胞数据高级分析之初步降维和聚类 | Dimensionality reduction | Clustering
  10. COCO2017 数据集分类统计
  11. javaweb JAVA JSP眼镜销售系统购物系统jsp购物系统购物商城系统源码(jsp电子商务系统)网上眼镜在线销售
  12. javascript手册安卓版_javascript手册
  13. ecshop后台首页mysql_ecshop商城后台使用手册
  14. 源代码(二)_尚学堂学习
  15. [C语言]兔子生崽问题:兔子生崽问题。假设一对小兔的成熟期是一个月,即一个月可长成成兔,那么如果每对成兔每个月都可以生一对小兔,一对新生的小兔从第二个月起就开始生兔子。试问从一对新生的兔子开始,一年以
  16. 数据挖掘 (一)——ASC文件读写、时间戳转换、可执行文件打包
  17. 科技云报道:乘风破浪的联通沃云,是一朵安全可控的国产云
  18. Excel - 表格设置数字下拉数值不变不递增
  19. OpenCvSharp 给黑白图像添加自定义的伪彩色
  20. 我的世界java版电脑下载,我的世界国际版电脑版下载

热门文章

  1. CRMEB SSL certificate problem, verify that the CA cert is OK
  2. ansa打开catia文件_关于CATIA文件格式的那些事儿
  3. html背景图片自适应纵向,HTML5 body设置全屏背景图片 如何让body的背景图片自适应整个屏----实战经验...
  4. Pyqt5 多标签_ESL电子货架标签方案
  5. android下拉会谈效果,Android实现下拉展示条目效果
  6. c语言更新数据,sqlite学习笔记10:C语言中使用sqlite之查询和更新数据
  7. puts遇到空格无法输出_输入一句英文,只包含字母和空格,如何输出这句英文中.....-黑马程序员技术交流社区...
  8. php图片是啥,php图片处理类(附实例)
  9. 使用HTML语言编写HTML教程,HTML教程:HTML编写小经验
  10. vb代码大全_【必会】Rnd随机函数在VB编程中的广泛应用