色偷偷偷久久伊人大杳蕉,色爽交视频免费观看,欧美扒开腿做爽爽爽a片,欧美孕交alscan巨交xxx,日日碰狠狠躁久久躁蜜桃

x
x
查看: 2948|回復(fù): 0
打印 上一主題 下一主題

深度學(xué)習(xí)——如何用LSTM進(jìn)行文本分類(lèi)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2022-10-21 10:20:22 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
簡(jiǎn)介
主要內(nèi)容包括

如何將文本處理為T(mén)ensorflow LSTM的輸入
如何定義LSTM
用訓(xùn)練好的LSTM進(jìn)行文本分類(lèi)

代碼
導(dǎo)入相關(guān)庫(kù)
#coding=utf-8
import tensorflow as tf
from tensorflow.contrib import learn
import numpy as np
from tensorflow.python.ops.rnn import static_rnn
from tensorflow.python.ops.rnn_cell_impl import BasicLSTMCell
數(shù)據(jù)

# 數(shù)據(jù)
positive_texts = [
"我 今天 很 高興",
"我 很 開(kāi)心",
"他 很 高興",
"他 很 開(kāi)心"
]
negative_texts = [
"我 不 高興",
"我 不 開(kāi)心",
"他 今天 不 高興",
"他 不 開(kāi)心"
]
label_name_dict = {
0: "正面情感",
1: "負(fù)面情感"
}
配置信息

配置信息
embedding_size = 50
num_classes = 2
將文本和label數(shù)值化
# 將文本和label數(shù)值化
all_texts = positive_texts + negative_textslabels = [0] * len(positive_texts) + [1] * len(negative_texts)
max_document_length = 4
vocab_processor = learn.preprocessing.VocabularyProcessor(max_document_length)
datas = np.array(list(vocab_processor.fit_transform(all_texts)))
vocab_size = len(vocab_processor.vocabulary_)
定義placeholder(容器),存放輸入輸出
# 容器,存放輸入輸出
datas_placeholder = tf.placeholder(tf.int32, [None, max_document_length])
labels_placeholder = tf.placeholder(tf.int32, [None])

詞向量處理
# 詞向量表
embeddings = tf.get_variable("embeddings", [vocab_size, embedding_size], initializer=tf.truncated_normal_initializer)
# 將詞索引號(hào)轉(zhuǎn)換為詞向量[None, max_document_length] => [None, max_document_length, embedding_size]
embedded = tf.nn.embedding_lookup(embeddings, datas_placeholder)
將數(shù)據(jù)處理為LSTM的輸入格式
# 轉(zhuǎn)換為L(zhǎng)STM的輸入格式,要求是數(shù)組,數(shù)組的每個(gè)元素代表某個(gè)時(shí)間戳一個(gè)Batch的數(shù)據(jù)
rnn_input = tf.unstack(embedded, max_document_length, axis=1)

定義LSTM
# 定義LSTM
lstm_cell = BasicLSTMCell(20, forget_bias=1.0)
rnn_outputs, rnn_states = static_rnn(lstm_cell, rnn_input, dtype=tf.float32)
#利用LSTM最后的輸出進(jìn)行預(yù)測(cè)
logits = tf.layers.dense(rnn_outputs[-1], num_classes)
predicted_labels = tf.argmax(logits, axis=1)
定義損失和優(yōu)化器
# 定義損失和優(yōu)化器
losses= tf.nn.softmax_cross_entropy_with_logits(
labels=tf.one_hot(labels_placeholder, num_classes),
logits=logits
)
mean_loss = tf.reduce_mean(losses)
optimizer = tf.train.AdamOptimizer(learning_rate=1e-2).minimize(mean_loss)
執(zhí)行
with tf.Session() as sess:
# 初始化變量
sess.run(tf.global_variables_initializer())
訓(xùn)練# 定義要填充的數(shù)據(jù)
feed_dict = {
datas_placeholder: datas,
labels_placeholder: labels
}
print("開(kāi)始訓(xùn)練")
for step in range(100):
_, mean_loss_val = sess.run([optimizer, mean_loss], feed_dict=feed_dict)
if step % 10 == 0:
print("step = {}\tmean loss = {}".format(step, mean_loss_val))
預(yù)測(cè)
print("訓(xùn)練結(jié)束,進(jìn)行預(yù)測(cè)")
predicted_labels_val = sess.run(predicted_labels, feed_dict=feed_dict)
for i, text in enumerate(all_texts):
label = predicted_labels_val
label_name = label_name_dict[label]
print("{} => {}".format(text, label_name))

分享安排:
目標(biāo):​
1.掌握大數(shù)據(jù)建模分析與使用方法。
2.掌握大數(shù)據(jù)平臺(tái)技術(shù)架構(gòu)。
3.掌握國(guó)內(nèi)外主流的大數(shù)據(jù)分析與BI商業(yè)智能分析解決方案。
4.掌握大數(shù)據(jù)分析在搜索引擎、廣告服務(wù)推薦、電商數(shù)據(jù)分析、金融客戶(hù)分析方面的應(yīng)用。
5.掌握主流的基于大數(shù)據(jù)Hadoop和Spark、R的大數(shù)據(jù)分析平臺(tái)架構(gòu)和實(shí)際應(yīng)用。
6.掌握基于Hadoop大數(shù)據(jù)平臺(tái)的數(shù)據(jù)挖掘和數(shù)據(jù)倉(cāng)庫(kù)分布式系統(tǒng)平臺(tái)應(yīng)用,以及商業(yè)和開(kāi)源的數(shù)據(jù)分析產(chǎn)品加上Hadoop平臺(tái)形成大數(shù)據(jù)分析平臺(tái)的應(yīng)用剖析。
7.掌握常見(jiàn)的機(jī)器學(xué)習(xí)算法。

具體內(nèi)容:
一、大數(shù)據(jù)概述:1.大數(shù)據(jù)及特點(diǎn)分析;2.大數(shù)據(jù)關(guān)健技術(shù);3.大數(shù)據(jù)計(jì)算模式;4.大數(shù)據(jù)應(yīng)用實(shí)例
二、大數(shù)據(jù)處理架構(gòu)Hadoop:1.Hadoop項(xiàng)目結(jié)構(gòu);2.Hadoop安裝與使用;3.Hadoop集群的部署與使用;4.Hadoop 代表性組件
三、分布式文件系統(tǒng)HDFS :1.HDFS體系結(jié)構(gòu);2.HDFS存儲(chǔ);3.HDFS數(shù)據(jù)讀寫(xiě)過(guò)程
四、分布式數(shù)據(jù)庫(kù)HBase :1.HBase訪(fǎng)問(wèn)接口;2.HBase數(shù)據(jù)類(lèi)型;3.HBase實(shí)現(xiàn)原理;4.HBase運(yùn)行機(jī)制;5.HBase應(yīng)用
五、MapReduce :1.MapReduce體系結(jié)構(gòu);2.MapReduce工作流程;3.資源管理調(diào)度框架YARN ;4.MapReduce應(yīng)用
六、Spark :1.Spark生態(tài)與運(yùn)行架構(gòu);2.Spark SQL;3.Spark部署與應(yīng)用方式
七、IPython Notebook運(yùn)行Python Spark程序:1.Anaconda;2.IPython Notebook使用Spark;3.使用IPython Notebook在Hadoop YARN模式運(yùn)行
八、Python Spark集成開(kāi)發(fā)環(huán)境 :1.Python Spark集成開(kāi)發(fā)環(huán)境部署配置;2.Spark數(shù)據(jù)分析庫(kù)MLlib的開(kāi)發(fā)部署
九、Python Spark決策樹(shù)二分類(lèi)與多分類(lèi) :1.決策樹(shù)原理;2.大數(shù)據(jù)問(wèn)題;3.決策樹(shù)二分類(lèi);4.決策樹(shù)多分類(lèi)
十、Python Spark支持向量機(jī) :1.支持向量機(jī)SVM 原理與算法;2.Python Spark SVM程序設(shè)計(jì)
十一、Python Spark 貝葉斯模型 :1.樸素貝葉斯模型原理;2.Python Spark貝葉斯模型程序設(shè)計(jì)
十二、Python Spark邏輯回歸 :1.邏輯回歸原理;2.Python Spark邏輯回歸程序設(shè)計(jì)
十三、Python Spark回歸分析 :1.大數(shù)據(jù)分析;2.數(shù)據(jù)集介紹;3.Python Spark回歸程序設(shè)計(jì)
十四、Spark ML Pipeline 機(jī)器學(xué)習(xí)流程分類(lèi) :1.機(jī)器學(xué)習(xí)流程組件:StringIndexer、OneHotEncoder、VectorAssembler等
2.使用Spark ML Pipeline 機(jī)器學(xué)習(xí)流程分類(lèi)程序設(shè)計(jì)
十五、Python Spark 創(chuàng)建推薦引擎 :1.推薦算法;2.推薦引擎大數(shù)據(jù)分析使用場(chǎng)景;3.推薦引擎設(shè)計(jì)
十六、項(xiàng)目實(shí)踐:1.日志分析系統(tǒng)與日志挖掘項(xiàng)目實(shí)踐;2.推薦系統(tǒng)項(xiàng)目實(shí)踐

學(xué)習(xí)可關(guān)注人工智能技術(shù)與咨詢(xún),更多詳情可咨詢(xún)152-3187-5710(v同號(hào)),qq群:189696007。

本版積分規(guī)則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表