当前位置: 首页 > news >正文

医程通 网站做的太/百度推广一天烧多少钱

医程通 网站做的太,百度推广一天烧多少钱,可以做水果的团购网站,wordpress无法登录后台显示500前情回顾戳上方蓝字【阿力阿哩哩的炼丹日常】关注我~今天继续给大家介绍第四章的内容前面我们介绍了:深度学习开端-全连接神经网络一文掌握CNN卷积神经网络超参数(Hyperparameters)| 上超参数(Hyperparameters)| 下寄己训练寄己…

前情回顾

戳上方蓝字【阿力阿哩哩的炼丹日常】关注我~

今天继续给大家介绍第四章的内容

前面我们介绍了:

深度学习开端-全连接神经网络

一文掌握CNN卷积神经网络

超参数(Hyperparameters)|  上

超参数(Hyperparameters)|  下

寄己训练寄己|自编码器

通熟易懂RNN|RNN与RNN的变种结构 | 上

通俗易懂LSTM|RNN的变种结构 | LSTM长短期记忆网络

通俗易懂GRU|门控循环单元(gated recurrent unit, GRU)

代码实践 | 全连接神经网络回归---房价预测

代码实践|全连接神经网络与文本分类

4.7

代码实践

4.7.3 CNN卷积神经网络之文本分类

笔者在4.7.2节介绍了神经网络文本分类的招聘信息分类(代码实践|全连接神经网络与文本分类),并介绍了文本在进入神经网络前的预处理工作。今天笔者给大家分享的是CNN卷积神经网络对招聘数据的分类,也同样要对文本进行预处理,所以还没了解文本预处理的读者,可以翻阅4.7.2节。

同样地,我们的招聘数据集也是和上一小节一样。

1. 实验流程 

(1) 加载数据

(2) 数据上标签  

(3) 中文分词

(4) 提取文本关键词

(5) 建立token字典

(6) 使用token字典将“文字”转化为“数字列表”

(7) 截长补短让所有“数字列表”长度都是50 :保证每个文本都是同样的长度,避免不必要的错误。

(8) Embedding层将“数字列表”转化为"向量列表"

(9) 将向量列表送入深度学习模型(CNN卷积神经网络)进行训练

(10)保存模型与模型可视化

(11)模型的预测功能

(12)训练过程可视化

2. 代码

1.  # chapter4/4_7_3_CNN_text.ipynb  
2.  import pandas as pd  
3.  import jieba  
4.  import jieba.analyse as analyse  
5.  from keras.preprocessing.text import Tokenizer  
6.  from keras.preprocessing import sequence  
7.  from keras.models import Sequential  
8.  from keras.layers import Dense, Dropout, Activation, Flatten, MaxPool1D, Conv1D  
9.  from keras.layers.embeddings import Embedding  
10.  from keras.utils import multi_gpu_model  
11.  from keras.models import load_model  
12.  from keras import regularizers  # 正则化  
13.  import matplotlib.pyplot as plt  
14.  import numpy as np  
15.  from keras.utils import plot_model  
16.  from sklearn.model_selection import train_test_split  
17.  from keras.utils.np_utils import to_categorical  
18.  from sklearn.preprocessing import LabelEncoder  
19.  from keras.layers import BatchNormalization

1) 加载数据

1.  job_detail_pd = pd.read_csv('job_detail_dataset.csv', encoding='UTF-8')  
2.  label = list(job_detail_pd['PositionType'].unique())  # 标签  
3.  print(label)  
4.    
5.  # 上标签  
6.  def label_dataset(row):  
7.      num_label = label.index(row)   
8.      return num_label  
9.    
10.  job_detail_pd['label'] = job_detail_pd['PositionType'].apply(label_dataset)  
11.  job_detail_pd = job_detail_pd.dropna()  # 删除空行  
12.  job_detail_pd.head(5)

1.  # 中文分词  
2.  def chinese_word_cut(row):  
3.      return " ".join(jieba.cut(row))  
4.  job_detail_pd['Job_Description_jieba_cut'] = job_detail_pd.Job_Description.apply(chinese_word_cut)  
5.    
6.  # 提取关键词  
7.  def key_word_extract(texts):  
8.      return " ".join(analyse.extract_tags(texts, topK=50, withWeight=False, allowPOS=()))  
9.  job_detail_pd['Job_Description_key_word'] = job_detail_pd.Job_Description.apply(key_word_extract)

2) 训练

1.  # 建立2000个词的字典  
2.  token = Tokenizer(num_words = 2000)   
3.  token.fit_on_texts(job_detail_pd['Job_Description_key_word']) #按单词出现次数排序,排序前2000的单词会列入词典中  
4.    
5.  # 使用token字典将“文字”转化为“数字列表”  
6.  Job_Description_Seq = token.texts_to_sequences(job_detail_pd['Job_Description_key_word'])  
7.    
8.  # 截长补短让所有“数字列表”长度都是50  
9.  Job_Description_Seq_Padding = sequence.pad_sequences(Job_Description_Seq, maxlen=50)  
10.    
11.  x_train = Job_Description_Seq_Padding  
12.  y_train = job_detail_pd['label'].tolist()

3) 开始训练CNN

1.  model = Sequential()  
2.  model.add(Embedding(output_dim = 32,  # 词向量的维度  
3.                    input_dim = 2000,  # Size of the vocabulary 字典大小  
4.                      input_length = 50  # 每个数字列表的长度  
5.                     )    
6.           )  
7.    
8.  model.add(Conv1D(256,  # 输出大小  
9.                   3,   # 卷积核大小  
10.                   padding='same',   
11.                   activation='relu'))  
12.  model.add(MaxPool1D(3,3,padding='same'))  
13.  model.add(Conv1D(32, 3, padding='same', activation='relu'))  
14.  model.add(Flatten())  
15.  model.add(Dropout(0.3))  
16.  model.add(BatchNormalization()) # (批)规范化层  
17.  model.add(Dense(256,activation='relu'))  
18.  model.add(Dropout(0.2))  
19.  model.add(Dense(units = 10,  
20.                  activation = "softmax"))  
21.    
22.  batch_size = 256  
23.  epochs = 5  
24.    
25.  # 单GPU版本  
26.  model.summary()  # 可视化模型  
27.  model.compile(loss = "sparse_categorical_crossentropy",  # 多分类  
28.              optimizer = "adam",  
29.              metrics = ["accuracy"])  
30.    
31.  history = model.fit(  
32.            x_train,   
33.            y_train,  
34.            batch_size=batch_size,  
35.            epochs=epochs,  
36.            validation_split = 0.2  
37.            # 训练集的20%用作验证集  
38.          )

4) 保存模型

1.  from keras.utils import plot_model  
2.  # 保存模型  
3.  model.save('model_CNN_text.h5')  #  生成模型文件 'my_model.h5'  
4.  # 模型可视化  
5.  plot_model(model, to_file='model_CNN_text.png', show_shapes=True)

5) 模型的预测功能

1.  from keras.models import load_model  
2.  # 加载模型  
3.  # model = load_model('model_CNN_text.h5')  
4.  print(x_train[0])  
5.  y_new = model.predict(x_train[0].reshape(1, 50))  
6.  print(list(y_new[0]).index(max(y_new[0])))  
7.  print(y_train[0])

6) 训练过程可视化

1.  import matplotlib.pyplot as plt  
2.  # 绘制训练 & 验证的准确率值  
3.  plt.plot(history.history['acc'])  
4.  plt.plot(history.history['val_acc'])  
5.  plt.title('Model accuracy')  
6.  plt.ylabel('Accuracy')  
7.  plt.xlabel('Epoch')  
8.  plt.legend(['Train', 'Valid'], loc='upper left')  
9.  plt.savefig('Valid_acc.png')  
10.  plt.show()  
11.    
12.  # 绘制训练 & 验证的损失值  
13.  plt.plot(history.history['loss'])  
14.  plt.plot(history.history['val_loss'])  
15.  plt.title('Model loss')  
16.  plt.ylabel('Loss')  
17.  plt.xlabel('Epoch')  
18.  plt.legend(['Train', 'Valid'], loc='upper left')  
19.  plt.savefig('Valid_loss.png')  
20.  plt.show()

3. 结果分析

在迭代了1个epochs之后,验证集的损失loss和acc,趋于平稳,这时,我们得到的模型已经是最优的了。所以讲epoch设置为1即可。

下一期,我们将继续介绍

CNN卷积神经网络|图像分类

happy valentine's day~

 

关注我的微信公众号~不定期更新相关专业知识~

内容 |阿力阿哩哩 

编辑 | 阿璃 

点个“在看”,作者高产似那啥~

http://www.jmfq.cn/news/4830139.html

相关文章:

  • 做网站价格 网络推广托管服务/好推建站
  • 建站abc平台/站长之家是什么
  • 网站建设好不好/百度贴吧官网入口
  • wordpress访问多站点/wifi优化大师下载
  • dede鲜花网站模板下载/google官网进入
  • 常用网站建设技术/高端建站
  • 怎么修改网站上的内容/百度投广告怎么收费
  • 网页制作报价/移动建站优化
  • 陕西做网站的公司在哪/网推项目
  • Wordpress付费主题排名/手机seo百度点击软件
  • 做网站用的什么编程语言/陕西百度推广的代理商
  • 怎么做公司招聘网站/天津抖音seo
  • wordpress弹窗登录注册插件/seo站长论坛
  • 地方门户信息网站建设方案/推广注册app拿佣金平台
  • 做网站的调研报告/市场营销毕业论文5000字
  • 北京网站建设排行/培训seo哪家学校好
  • 搜索网站建设推广优化/专业的seo外包公司
  • 营销型网站模板下载/网站更换服务器对seo的影响
  • 公司网站需要在公安局备案吗/哈尔滨百度公司地址
  • 淘宝做网站建设靠谱吗/营销推广主要包括
  • 做营销网站哪家好/万能搜索引擎网站
  • 西乡做网站价格/线上营销平台有哪些
  • 百度权重怎么提高/嘉兴关键词优化报价
  • 洛阳网站推广怎么做/社群营销的十大案例
  • 怎么做淘宝网站赚钱/必应搜索引擎地址
  • 网站设计标注图怎么做/个人怎么做推广
  • 网站改版设计费进什么科目/2023最火的十大新闻
  • 郑州短视频拍摄制作公司/seo外包多少钱
  • 做网站多久才会有收益/网络营销总监岗位职责
  • 西宁网站建设排名/百度资源站长平台