Weka的使用

1.簡介

數(shù)據(jù)挖掘咧七、機器學(xué)習(xí)這些字眼,在一些人看來任斋,是門檻很高的東西继阻。誠然耻涛,如果做算法實現(xiàn)甚至算法優(yōu)化,確實需要很多背景知識瘟檩。但事實是抹缕,絕大多數(shù)數(shù)據(jù)挖掘工程師,不需要去做算法層面的東西墨辛。他們的精力卓研,集中在特征提取,算法選擇和參數(shù)調(diào)優(yōu)上睹簇。那么奏赘,一個可以方便地提供這些功能的工具,便是十分必要的了太惠。而weka磨淌,便是數(shù)據(jù)挖掘工具中的佼佼者。
Weka的全名是懷卡托智能分析環(huán)境(Waikato Environment for Knowledge Analysis)凿渊,是一款免費的梁只,非商業(yè)化的,基于JAVA環(huán)境下開源的機器學(xué)習(xí)以及數(shù)據(jù)挖掘軟件埃脏。它和它的源代碼可在其官方網(wǎng)站下載搪锣。有趣的是,該軟件的縮寫WEKA也是New Zealand獨有的一種鳥名彩掐,而Weka的主要開發(fā)者同時恰好來自新西蘭的the University of Waikato构舟。(本段摘自百度百科)。
Weka提供的功能有數(shù)據(jù)處理佩谷,特征選擇旁壮、分類、回歸谐檀、聚類抡谐、關(guān)聯(lián)規(guī)則、可視化等桐猬。本文將對Weka的使用做一個簡單的介紹麦撵,并通過簡單的示例,使大家了解使用weka的流程溃肪。本文將僅對圖形界面的操作做介紹免胃,不涉及命令行和代碼層面的東西。

2.安裝

Weka的官方地址是http://www.cs.waikato.ac.nz/ml/weka/惫撰。點開左側(cè)download欄羔沙,可以進入下載頁面,里面有windows厨钻,mac os扼雏,linux等平臺下的版本坚嗜,我們以windows系統(tǒng)作為示例。目前穩(wěn)定的版本是3.6诗充。
如果本機沒有安裝java苍蔬,可以選擇帶有jre的版本。下載后是一個exe的可執(zhí)行文件蝴蜓,雙擊進行安裝即可碟绑。
安裝完畢,打開啟動weka的快捷方式茎匠,如果可以看到下面的界面格仲,那么恭喜,安裝成功了诵冒。

  • weka啟動界面:


    image.png

窗口右側(cè)共有4個應(yīng)用抓狭,分別是

  • 1)Explorer
    用來進行數(shù)據(jù)實驗、挖掘的環(huán)境造烁,它提供了分類,聚類午笛,關(guān)聯(lián)規(guī)則惭蟋,特征選擇,數(shù)據(jù)可視化的功能药磺。(An environment for exploring data with WEKA)
  • 2)Experimentor
    用來進行實驗告组,對不同學(xué)習(xí)方案進行數(shù)據(jù)測試的環(huán)境。(An environment for performing experiments and conducting statistical tests between learning schemes.)
  • 3)KnowledgeFlow
    功能和Explorer差不多癌佩,不過提供的接口不同木缝,用戶可以使用拖拽的方式去建立實驗方案。另外围辙,它支持增量學(xué)習(xí)我碟。(This environment supports essentially the same functions as the Explorer but with a drag-and-drop interface. One advantage is that it supports incremental learning.)
  • 4)SimpleCLI
    簡單的命令行界面。(Provides a simple command-line interface that allows direct execution of WEKA commands for operating systems that do not provide their own command line interface.)
3.數(shù)據(jù)格式

Weka支持很多種文件格式姚建,包括arff矫俺、xrff、csv掸冤,甚至有l(wèi)ibsvm的格式厘托。其中,arff是最常用的格式稿湿,我們在這里僅介紹這一種铅匹。
Arff全稱是Attribute-Relation File Format,以下是一個arff格式的文件的例子饺藤。

%
%  Arff file example
%
@relation ‘labor-neg-data’
@attribute ‘duration’ real
@attribute ‘wage-increase-first-year’ real
@attribute ‘wage-increase-second-year’ real
@attribute ‘wage-increase-third-year’ real
@attribute ‘cost-of-living-adjustment’ {‘none’,'tcf’,'tc’}
@attribute ‘working-hours’ real
@attribute ‘pension’ {‘none’,'ret_allw’,'empl_contr’}
@attribute ’standby-pay’ real
@attribute ’shift-differential’ real
@attribute ‘education-allowance’ {‘yes’,'no’}
@attribute ’statutory-holidays’ real
@attribute ‘vacation’ {‘below_average’,'average’,'generous’}
@attribute ‘longterm-disability-assistance’ {‘yes’,'no’}
@attribute ‘contribution-to-dental-plan’ {‘none’,'half’,'full’}
@attribute ‘bereavement-assistance’ {‘yes’,'no’}
@attribute ‘contribution-to-health-plan’ {‘none’,'half’,'full’}
@attribute ‘class’ {‘bad’,'good’}
@data
1,5,?,?,?,40,?,?,2,?,11,’average’,?,?,’yes’,?,’good’
2,4.5,5.8,?,?,35,’ret_allw’,?,?,’yes’,11,’below_average’,?,’full’,?,’full’,'good’
?,?,?,?,?,38,’empl_contr’,?,5,?,11,’generous’,'yes’,'half’,'yes’,'half’,'good’
3,3.7,4,5,’tc’,?,?,?,?,’yes’,?,?,?,?,’yes’,?,’good’
3,4.5,4.5,5,?,40,?,?,?,?,12,’average’,?,’half’,'yes’,'half’,'good’
2,2,2.5,?,?,35,?,?,6,’yes’,12,’average’,?,?,?,?,’good’
3,4,5,5,’tc’,?,’empl_contr’,?,?,?,12,’generous’,'yes’,'none’,'yes’,'half’,'good’
3,6.9,4.8,2.3,?,40,?,?,3,?,12,’below_average’,?,?,?,?,’good’
2,3,7,?,?,38,?,12,25,’yes’,11,’below_average’,'yes’,'half’,'yes’,?,’good’
1,5.7,?,?,’none’,40,’empl_contr’,?,4,?,11,’generous’,'yes’,'full’,?,?,’good’
3,3.5,4,4.6,’none’,36,?,?,3,?,13,’generous’,?,?,’yes’,'full’,'good’
2,6.4,6.4,?,?,38,?,?,4,?,15,?,?,’full’,?,?,’good’
2,3.5,4,?,’none’,40,?,?,2,’no’,10,’below_average’,'no’,'half’,?,’half’,'bad’

這個例子來自于weka安裝目錄data文件下的labor.arff文件包斑,來源于加拿大勞資談判的案例流礁,它根據(jù)工人的個人信息,來預(yù)測勞資談判的最終結(jié)果舰始。

文件中崇棠,“%”開頭的是注釋。剩余的可以分為兩大部分丸卷,頭信息(header information)和數(shù)據(jù)信息(data information)枕稀。
頭信息中,“@relation”開頭的行代表關(guān)系名稱谜嫉,在整個文件的第一行(除去注釋)萎坷。格式是
@relation <relation-name>
“@attribute”開頭的代表特征,格式是
@attribute <attribute-name> <datatype>
attribute-name是特征的名稱沐兰,后面是數(shù)據(jù)類型哆档,常用數(shù)據(jù)類型有以下幾種

  • 1)numeric,數(shù)字類型住闯,包括integer(整數(shù))和real(實數(shù))
  • 2)nominal瓜浸,可以認為是枚舉類型,即特征值是有限的集合比原,可以是字符串或數(shù)字插佛。
  • 3)string,字符串類型量窘,值可以是任意的字符串雇寇。
    從“@data”開始,是實際的數(shù)據(jù)部分蚌铜。每一行代表一個實例锨侯,可以認為是一個特征向量。各個特征的順序與頭信息中的attribute逐個對應(yīng)冬殃,特征值之間用逗號分割囚痴。在有監(jiān)督分類中,最后一列是標(biāo)注的結(jié)果造壮。
    某些特征的數(shù)值如果是缺失的渡讼,可以用“?”代替耳璧。

數(shù)據(jù)挖掘流程使用weka進行數(shù)據(jù)挖掘的流程如下圖

  • 數(shù)據(jù)挖掘流程圖


    image.png

其中成箫,在weka內(nèi)進行的是數(shù)據(jù)預(yù)處理,訓(xùn)練旨枯,驗證這三個步驟蹬昌。

  • 1)數(shù)據(jù)預(yù)處理
    數(shù)據(jù)預(yù)處理包括特征選擇,特征值處理(比如歸一化)攀隔,樣本選擇等操作皂贩。
  • 2)訓(xùn)練
    訓(xùn)練包括算法選擇栖榨,參數(shù)調(diào)整,模型訓(xùn)練明刷。
  • 3)驗證
    對模型結(jié)果進行驗證婴栽。
    本文剩余部分將以這個流程為主線,以分類為示例辈末,介紹使用weka進行數(shù)據(jù)挖掘的步驟愚争。
5. 數(shù)據(jù)預(yù)處理

打開Explorer界面,點“open file”挤聘,在weka安裝目錄下轰枝,選擇data目錄里的“l(fā)abor.arff”文件,將會看到如下界面组去。我們將整個區(qū)域分為7部分鞍陨,下面將分別介紹每部分的功能。

  • Explorer界面


    image.png
  • 1)區(qū)域1共6個選項卡从隆,用來選擇不同的數(shù)據(jù)挖掘功能面板诚撵,從左到右依次是Preprocess(預(yù)處理)、Classify(分類)键闺、Cluster(聚類)砾脑、Associate(關(guān)聯(lián)規(guī)則)、Select attribute(特征選擇)和Visualize(可視化)艾杏。
  • 2)區(qū)域2提供了打開、保存盅藻,編輯文件的功能购桑。打開文件不僅僅可以直接從本地選擇,還可以使用url和db來做數(shù)據(jù)源氏淑。Generate按鈕提供了數(shù)據(jù)生成的功能勃蜘,weka提供了幾種生成數(shù)據(jù)的方法。點開Edit假残,將看到如下界面
  • arff viewer


    image.png

在這個界面缭贡,可以看到各行各列對應(yīng)的值,右鍵每一列的名字辉懒,可以看到一些編輯數(shù)據(jù)的功能阳惹,這些功能還是比較實用的。

  • 3)區(qū)域3名為Filter眶俩,有些人可能會聯(lián)想到特征選擇里面的Filter方法莹汤,事實上,F(xiàn)ilter針對特征(attribute)和樣本(instance)提供了大量的操作方法颠印,功能十分強大纲岭。
  • 4)在區(qū)域4抹竹,可以看到當(dāng)前的特征、樣本信息止潮,并提供了特征選擇和刪除的功能窃判。
  • 5)在區(qū)域4用鼠標(biāo)選擇單個特征后,區(qū)域5將顯示該特征的信息喇闸。包括最小值袄琳、最大值、期望和標(biāo)準(zhǔn)差仅偎。
  • 6)區(qū)域6提供了可視化功能跨蟹,選擇特征后,該區(qū)域?qū)@示特征值在各個區(qū)間的分布情況橘沥,不同的類別標(biāo)簽以不同的顏色顯示窗轩。
  • 7)區(qū)域7是狀態(tài)欄,沒有任務(wù)時座咆,小鳥是坐著的痢艺,任務(wù)運行時,小鳥會站起來左右搖擺介陶。如果小鳥站著但不轉(zhuǎn)動堤舒,表示任務(wù)出了問題。
    下面將通過實例介紹Filters的各項功能哺呜。
    點開Filter下面的choose按鈕舌缤,可以看到如下界面
  • filter方法選擇界面


    image.png

Filters可分為兩大類,supervised和unsupervised某残。supervised下的方法需要類別標(biāo)簽国撵,而unsupervised則不需要。attribute類別表示對特征做篩選玻墅,instance表示對樣本做選擇介牙。

  • 1)case 1:特征值歸一化
    該項功能與類別無關(guān),且是針對attribute的澳厢,我們選擇unsupervised -> attribute下面的Normalize环础。點開Normalize所在的區(qū)域,將看到如下界面剩拢。左邊的窗口线得,有幾個參數(shù)可以選擇。點擊more徐伐,將出現(xiàn)右邊的窗口框都,該窗口詳細介紹了此功能。
  • 歸一化參數(shù)設(shè)置界面


    image.png

使用默認參數(shù),點擊ok魏保,回到主窗口熬尺。在區(qū)域4選好將要歸一化的特征,可以是一個或多個谓罗,然后點擊apply粱哼。在可視化區(qū)域中,我們可以看到特征值從1到3被歸一到了0到1之間檩咱。

  • duration特征歸一化之前


    image.png
  • duration特征歸一化之后


    image.png
  • 2)case 2: 分類器特征篩選
    該功能與類別相關(guān)揭措,選擇supervised -> attribute下面的AttributeSelection。該界面有兩個選項刻蚯,evaluator是評價特征集合有效性的方法绊含,search是特征集合搜索的方法。在這里炊汹,我們使用InformationGainAttributeEval作為evaluator躬充,使用Ranker作為search,表示我們將根據(jù)特征的信息增益值對特征做排序讨便。Ranker中可以設(shè)置閾值充甚,低于這個閾值的特征將被扔掉。

  • 特征選擇參數(shù)


    image.png

點擊apply霸褒,可以看到在區(qū)域4里特征被重新排序伴找,低于閾值的已被刪掉。

  • 特征選擇之前


    image.png
  • 特征選擇之后


    image.png
  • 3)case 3:選擇分類器錯分的樣本
    選擇unsupervised -> instance下面的RemoveMisclassified废菱,可以看到6個參數(shù)技矮,classIndex用來設(shè)置類別標(biāo)簽,classifier用來選擇分類器殊轴,這里我們選擇J48決策樹穆役,invert我們選擇true,這樣保留的是錯分樣本梳凛,numFolds用來設(shè)置交叉驗證的參數(shù)。設(shè)置好參數(shù)之后梳杏,點擊apply韧拒,可以看到樣本的數(shù)量從57減少到了7。

  • 參數(shù)設(shè)置


    image.png
6. 分類

在Explorer中十性,打開classifer選項卡叛溢,整個界面被分成幾個區(qū)域。分別是

  • 1)Classifier
    點擊choose按鈕劲适,可以選擇weka提供的分類器楷掉。常用的分類器有
    a)bayes下的Na?ve Bayes(樸素貝葉斯)和BayesNet(貝葉斯信念網(wǎng)絡(luò))。
    b)functions下的LibLinear霞势、LibSVM(這兩個需要安裝擴展包)烹植、Logistic Regression斑鸦、Linear Regression。
    c)lazy下的IB1(1-NN)和IBK(KNN)草雕。
    d)meta下的很多boosting和bagging分類器巷屿,比如AdaBoostM1。
    e)trees下的J48(weka版的C4.5)墩虹、RandomForest嘱巾。

  • 2)Test options
    評價模型效果的方法,有四個選項诫钓。
    a)Use training set:使用訓(xùn)練集旬昭,即訓(xùn)練集和測試集使用同一份數(shù)據(jù),一般不使用這種方法菌湃。
    b)Supplied test set:設(shè)置測試集问拘,可以使用本地文件或者url,測試文件的格式需要跟訓(xùn)練文件格式一致慢味。
    c)Cross-validation:交叉驗證场梆,很常見的驗證方法。N-folds cross-validation是指纯路,將訓(xùn)練集分為N份或油,使用N-1份做訓(xùn)練,使用1份做測試驰唬,如此循環(huán)N次顶岸,最后整體計算結(jié)果。
    d)Percentage split:按照一定比例叫编,將訓(xùn)練集分為兩份辖佣,一份做訓(xùn)練,一份做測試搓逾。
    在這些驗證方法的下面卷谈,有一個More options選項,可以設(shè)置一些模型輸出霞篡,模型驗證的參數(shù)世蔗。

  • 3)Result list
    這個區(qū)域保存分類實驗的歷史,右鍵點擊記錄朗兵,可以看到很多選項污淋。常用的有保存或加載模型以及可視化的一些選項。

  • 4)Classifier output
    分類器的輸出結(jié)果余掖,默認的輸出選項有Run information寸爆,該項給出了特征、樣本及模型驗證的一些概要信息;Classifier model赁豆,給出的是模型的一些參數(shù)仅醇,不同的分類器給出的信息不同。最下面是模型驗證的結(jié)果歌憨,給出了 一些常用的一些驗證標(biāo)準(zhǔn)的結(jié)果着憨,比如準(zhǔn)確率(Precision),召回率(Recall)务嫡,真陽性率(True positive rate)甲抖,假陽性率(False positive rate),F(xiàn)值(F-Measure)心铃,Roc面積(Roc Area)等准谚。Confusion Matrix給出了測試樣本的分類情況,通過它去扣,可以很方便地看出正確分類或錯誤分類的某一類樣本的數(shù)量柱衔。

  • Case 1:使用J48對labor文件做分類
    1)打開labor.arff文件,切換到classify面板愉棱。
    2)選擇trees->J48分類器唆铐,使用默認參數(shù)。
    3)Test options選擇默認的十折交叉驗證奔滑,點開More options艾岂,勾選Output predictions。
    4)點擊start按鈕朋其,啟動實驗王浴。
    5)在右側(cè)的Classifier output里面,我們看到了實驗的結(jié)果梅猿。

  • Run information


    image.png

上圖給出了實驗用的分類器以及具體參數(shù)氓辣,實驗名稱,樣本數(shù)量袱蚓,特征數(shù)量以及所用特征钞啸,測試模式。

  • 模型信息


    image.png

上圖給出了生成的決策樹喇潘,以及葉子節(jié)點數(shù)体斩、樹的節(jié)點數(shù)、模型訓(xùn)練時間响蓉。如果覺得這樣不直觀,可以在Result list里面右鍵點擊剛剛進行的實驗哨毁,點擊Visualize Tree枫甲,可以看到圖形界面的決策樹,十分直觀。

  • 決策樹


    image.png

再往下是預(yù)測結(jié)果想幻,可以看到每個樣本的實際分類粱栖,預(yù)測分類,是否錯分脏毯,預(yù)測概率這些信息闹究。

  • 預(yù)測結(jié)果


    image.png

最下面是驗證結(jié)果,整體的accuracy是73.68%食店,bad類準(zhǔn)確率是60.9%渣淤,召回率70.0%,good類準(zhǔn)確率是82.4%吉嫩,召回率75.7%价认。

  • 模型效果評估結(jié)果


    image.png
7. 可視化

打開Explorer的Visualize面板,可以看到最上面是一個二維的圖形矩陣自娩,該矩陣的行和列均為所有的特征(包括類別標(biāo)簽)用踩,第i行第j列表示特征i和特征j在二維平面上的分布情況。圖形上的每個點表示一個樣本忙迁,不同的類別使用不同的顏色標(biāo)識脐彩。
下面有幾個選項,PlotSize可以調(diào)整圖形的大小姊扔,PointSize可以調(diào)整樣本點的大小惠奸,Jitter可以調(diào)整點之間的距離,有些時候點過于集中旱眯,可以通過調(diào)整Jitter將它們分散開晨川。

  • plot matrix二維圖


    image.png

上圖是duration和class兩個特征的圖形,可以看出删豺,duration并不是一個好特征共虑,在各個特征值區(qū)間,good和bad的分布差不多呀页。
單擊某個區(qū)域的圖形妈拌,會彈出另外一個窗口,這個窗口給出的也是某兩個特征之間分布的圖形蓬蝶,不同的是尘分,在這里,通過點擊樣本點丸氛,可以彈出樣本的詳細信息培愁。
可視化還可以用來查看誤分的樣本,這是非常實用的一個功能缓窜。分類結(jié)束后定续,在Result list里右鍵點擊分類的記錄谍咆,選擇Visualize classify errors,會彈出如下窗口私股。

  • 誤分樣本可視化


    image.png

這個窗口里面,十字表示分類正確的樣本摹察,方塊表示分類錯誤的樣本,X軸為實際類別倡鲸,Y軸為預(yù)測類別供嚎,藍色為實際的bad,紅色為實際的good峭状。這樣克滴,藍色方塊就表示實際為bad,但為誤分為good的樣本宁炫,紅色方塊表示實際為good偿曙,被誤分為bad的樣本。單擊這些點羔巢,便可以看到該樣本的各個特征值望忆,分析為什么這個樣本被誤分了。
再介紹一個比較實用的功能竿秆,右鍵點擊Result list里的記錄启摄,選擇Visualize threshold curve,然后選好類別幽钢,可以看到如下圖形

  • 閾值曲線


    image.png

該圖給出的是分類置信度在不同閾值下歉备,分類效果評價標(biāo)準(zhǔn)的對比情況。上圖給出的是假陽性比率和真陽性比率在不同閾值下的對比匪燕,其實給出的就是ROC曲線蕾羊。我們可以通過選擇顏色,方便地觀察不同評價標(biāo)準(zhǔn)的分布情況帽驯。如果X軸和Y軸選擇的是準(zhǔn)確率和召回率龟再,那我們可以通過這個圖,在這兩個值之間做trade-off尼变,選擇一個合適的閾值利凑。
其它的一些可視化功能,不再一一介紹嫌术。

8. 小結(jié)

本文僅僅針對weka的Explorer界面的某些功能做了介紹哀澈,Explorer其它的功能,比如聚類度气、關(guān)聯(lián)規(guī)則割按、特征選擇,以及Experimentor和KnowledgeFlow界面使用磷籍,可以參考weka的官方文檔适荣。
另外丙躏,weka支持擴展包,可以很方便地把liblinear束凑、libsvm這樣的開源工具放進來。
在Linux下面栅盲,可以使用weka的命令行進行實驗汪诉,具體的使用方法,也請參考weka官方文檔谈秫。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末扒寄,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子拟烫,更是在濱河造成了極大的恐慌该编,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件硕淑,死亡現(xiàn)場離奇詭異课竣,居然都是意外死亡,警方通過查閱死者的電腦和手機置媳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進店門于樟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人拇囊,你說我怎么就攤上這事迂曲。” “怎么了寥袭?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵路捧,是天一觀的道長。 經(jīng)常有香客問我传黄,道長杰扫,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任尝江,我火速辦了婚禮涉波,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘炭序。我一直安慰自己啤覆,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布惭聂。 她就那樣靜靜地躺著窗声,像睡著了一般。 火紅的嫁衣襯著肌膚如雪辜纲。 梳的紋絲不亂的頭發(fā)上笨觅,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天拦耐,我揣著相機與錄音,去河邊找鬼见剩。 笑死杀糯,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的苍苞。 我是一名探鬼主播固翰,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼羹呵!你這毒婦竟也來了骂际?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤冈欢,失蹤者是張志新(化名)和其女友劉穎歉铝,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體凑耻,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡太示,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了香浩。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片先匪。...
    茶點故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖弃衍,靈堂內(nèi)的尸體忽然破棺而出呀非,到底是詐尸還是另有隱情,我是刑警寧澤镜盯,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布岸裙,位于F島的核電站,受9級特大地震影響速缆,放射性物質(zhì)發(fā)生泄漏降允。R本人自食惡果不足惜泪喊,卻給世界環(huán)境...
    茶點故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一黍特、第九天 我趴在偏房一處隱蔽的房頂上張望撩独。 院中可真熱鬧玛臂,春花似錦、人聲如沸杯巨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽真慢。三九已至毅臊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間黑界,已是汗流浹背管嬉。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工皂林, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蚯撩。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓础倍,卻偏偏與公主長得像,于是被迫代替她去往敵國和親胎挎。 傳聞我的和親對象是個殘疾皇子著隆,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,877評論 2 345

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