LSTM

import re
import numpy as np
import pandas as pd
from keras import Sequential
from keras.layers import Embedding, LSTM, Flatten, Dense
from keras.preprocessing.sequence import pad_sequences
from keras.preprocessing.text import Tokenizer

train_data = pd.read_csv('./data/train.csv', lineterminator='\n')
test_data = pd.read_csv('./data/test.csv', lineterminator='\n')
train_data['label'] = train_data['label'].map({'Negative': 0, 'Positive': 1})
train_data = train_data.as_matrix()
test_data = test_data.as_matrix()


# two commom ways to clean data
def cleaner(word):
    word = re.sub(r'\#\.', '', word)
    word = re.sub(r'\n', '', word)
    word = re.sub(r',', '', word)
    word = re.sub(r'\-', ' ', word)
    word = re.sub(r'\.', '', word)
    word = re.sub(r'\\', ' ', word)
    word = re.sub(r'\\x\.+', '', word)
    word = re.sub(r'\d', '', word)
    word = re.sub(r'^_.', '', word)
    word = re.sub(r'_', ' ', word)
    word = re.sub(r'^ ', '', word)
    word = re.sub(r' $', '', word)
    word = re.sub(r'\?', '', word)

    return word.lower()


def hashing(word):
    word = re.sub(r'ain$', r'ein', word)
    word = re.sub(r'ai', r'ae', word)
    word = re.sub(r'ay$', r'e', word)
    word = re.sub(r'ey$', r'e', word)
    word = re.sub(r'ie$', r'y', word)
    word = re.sub(r'^es', r'is', word)
    word = re.sub(r'a+', r'a', word)
    word = re.sub(r'j+', r'j', word)
    word = re.sub(r'd+', r'd', word)
    word = re.sub(r'u', r'o', word)
    word = re.sub(r'o+', r'o', word)
    word = re.sub(r'ee+', r'i', word)
    if not re.match(r'ar', word):
        word = re.sub(r'ar', r'r', word)
    word = re.sub(r'iy+', r'i', word)
    word = re.sub(r'ih+', r'eh', word)
    word = re.sub(r's+', r's', word)
    if re.search(r'[rst]y', 'word') and word[-1] != 'y':
        word = re.sub(r'y', r'i', word)
    if re.search(r'[bcdefghijklmnopqrtuvwxyz]i', word):
        word = re.sub(r'i$', r'y', word)
    if re.search(r'[acefghijlmnoqrstuvwxyz]h', word):
        word = re.sub(r'h', '', word)
    word = re.sub(r'k', r'q', word)
    return word


def array_cleaner(array):
    X = []
    for sentence in array:
        clean_sentence = ''
        words = sentence.split(' ')
        for word in words:
            clean_sentence = clean_sentence + ' ' + cleaner(word)
        X.append(clean_sentence)
    return X


X_test = test_data[:, 1]
X_train = train_data[:, 1]
X_train = array_cleaner(X_train)
X_test = array_cleaner(X_test)
y_train = np.array(train_data[:, 2], dtype=int)

X_all = X_train + X_test
tokenizer = Tokenizer(nb_words=2000, filters='!"#$%&()*+,-./:;<=>?@[\\]^_`{|}~\t\n', lower=True, split=' ')
tokenizer.fit_on_texts(X_all)
X_all = tokenizer.texts_to_sequences(X_all)
X_all = pad_sequences(X_all)
X_train = X_all[:len(y_train)]
X_test = X_all[len(y_train):]

embed_dim = 128
list_out = 256
batch_size = 32
model = Sequential()
model.add(Embedding(2000, embed_dim, input_length=X_train.shape[1], dropout=0.2))
model.add(LSTM(list_out, dropout=0.2, return_sequences=True))
model.add(Flatten())
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
print(model.summary())
model.fit(X_train, y_train, batch_size=batch_size, epochs=10)
y_pred = model.predict(X_test)
print(y_pred[:10])
result = pd.DataFrame.from_dict({
    'ID': range(1, len(y_pred) + 1),
    'Pred': y_pred.reshape((-1))
})
result.to_csv('./result/submission.csv', index=None)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末者春,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子羡玛,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,651評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡魔策,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評論 3 392
  • 文/潘曉璐 我一進(jìn)店門锌妻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來代乃,“玉大人旬牲,你說我怎么就攤上這事仿粹。” “怎么了原茅?”我有些...
    開封第一講書人閱讀 162,931評論 0 353
  • 文/不壞的土叔 我叫張陵吭历,是天一觀的道長。 經(jīng)常有香客問我擂橘,道長晌区,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,218評論 1 292
  • 正文 為了忘掉前任通贞,我火速辦了婚禮朗若,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘昌罩。我一直安慰自己哭懈,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,234評論 6 388
  • 文/花漫 我一把揭開白布茎用。 她就那樣靜靜地躺著遣总,像睡著了一般。 火紅的嫁衣襯著肌膚如雪轨功。 梳的紋絲不亂的頭發(fā)上旭斥,一...
    開封第一講書人閱讀 51,198評論 1 299
  • 那天,我揣著相機(jī)與錄音古涧,去河邊找鬼垂券。 笑死,一個胖子當(dāng)著我的面吹牛羡滑,可吹牛的內(nèi)容都是我干的圆米。 我是一名探鬼主播,決...
    沈念sama閱讀 40,084評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼啄栓,長吁一口氣:“原來是場噩夢啊……” “哼娄帖!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起昙楚,我...
    開封第一講書人閱讀 38,926評論 0 274
  • 序言:老撾萬榮一對情侶失蹤近速,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體削葱,經(jīng)...
    沈念sama閱讀 45,341評論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡奖亚,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,563評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了析砸。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片昔字。...
    茶點(diǎn)故事閱讀 39,731評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖首繁,靈堂內(nèi)的尸體忽然破棺而出作郭,到底是詐尸還是另有隱情,我是刑警寧澤弦疮,帶...
    沈念sama閱讀 35,430評論 5 343
  • 正文 年R本政府宣布夹攒,位于F島的核電站,受9級特大地震影響胁塞,放射性物質(zhì)發(fā)生泄漏咏尝。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,036評論 3 326
  • 文/蒙蒙 一啸罢、第九天 我趴在偏房一處隱蔽的房頂上張望编检。 院中可真熱鬧,春花似錦扰才、人聲如沸允懂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽累驮。三九已至,卻和暖如春舵揭,著一層夾襖步出監(jiān)牢的瞬間谤专,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評論 1 269
  • 我被黑心中介騙來泰國打工午绳, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留置侍,地道東北人。 一個月前我還...
    沈念sama閱讀 47,743評論 2 368
  • 正文 我出身青樓拦焚,卻偏偏與公主長得像蜡坊,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子赎败,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,629評論 2 354

推薦閱讀更多精彩內(nèi)容

  • file:///D:/搜狗高速下載/【lstm】Multi-Sensor Prognostics using an...
    hzyido閱讀 496評論 0 0
  • 一僵刮、簡介 F-LSTM和TF-LSTM主要目的是為了取代CNN作為特征提取的工具据忘,來達(dá)到對頻帶間相關(guān)性建模的目的鹦牛。...
    ChongmingLiu閱讀 3,641評論 1 3
  • RNN 循環(huán)神經(jīng)網(wǎng)絡(luò) RNN主要處理有時序關(guān)系的變長序列問題。每個神經(jīng)元在每一時刻都一個特殊的hidden狀態(tài)h(...
    yi_cloud閱讀 5,862評論 0 26
  • 你是我生命里的一道的光 眼神一個恍惚中了你的芒 從此你就穩(wěn)穩(wěn)住進(jìn)我心房 為了追逐夢想時常帶著傷 你卻依然毫無畏懼向...
    兮兮兮丶閱讀 357評論 0 0
  • 單身的人越來越多勇吊,早上哈哈哈哈哈中午哈哈哈哈哈晚上哈哈哈哈哈凌晨人間不值得...我不記得這個月第幾次半夜醒了怎么也...
    凹凸曼feel小怪獸閱讀 249評論 0 0