Python數(shù)模筆記-Sklearn(2)聚類分析

1、分類的分類

分類的分類孩等?沒(méi)錯(cuò)艾君,分類也有不同的種類,而且在數(shù)學(xué)建模瞎访、機(jī)器學(xué)習(xí)領(lǐng)域常常被混淆腻贰。

首先我們談?wù)動(dòng)斜O(jiān)督學(xué)習(xí)(Supervised learning)和無(wú)監(jiān)督學(xué)習(xí)(Unsupervised learning),是指有沒(méi)有老師扒秸,有沒(méi)有紀(jì)委嗎播演?差不多。有老師伴奥,就有正確解法写烤,就有標(biāo)準(zhǔn)答案;有紀(jì)委拾徙,就會(huì)樹(shù)學(xué)習(xí)榜樣洲炊,還有反面教材。

有監(jiān)督學(xué)習(xí)尼啡,是指樣本數(shù)據(jù)已經(jīng)給出了正確的分類暂衡,我們通過(guò)對(duì)正確分類的樣本數(shù)據(jù)進(jìn)行學(xué)習(xí),從中總結(jié)規(guī)律崖瞭,獲取知識(shí)狂巢,付諸應(yīng)用。所以书聚,監(jiān)督學(xué)習(xí)的樣本數(shù)據(jù)唧领,既提供了特征值又提供了目標(biāo)值,通過(guò)回歸(Regression)雌续、分類(Classification)學(xué)習(xí)特征與目標(biāo)之間的關(guān)系斩个。回歸是針對(duì)連續(xù)變量驯杜、連續(xù)數(shù)據(jù)嫁蛇,分類是針對(duì)離散變量和布爾變量(0-1)魂那。

無(wú)監(jiān)督學(xué)習(xí)阶女,是指樣本數(shù)據(jù)沒(méi)有提供確定的分類屬性违寞,沒(méi)有老師继蜡,沒(méi)有標(biāo)準(zhǔn)答案祷膳,樣本數(shù)據(jù)中只有樣本的特征值而沒(méi)有目標(biāo)值馅袁,只能通過(guò)樣本數(shù)據(jù)自身的特征一邊摸索一邊自我學(xué)習(xí)乘瓤,通過(guò)聚類(Clustering)方法來(lái)尋找和認(rèn)識(shí)對(duì)象的相似性膝但。

所以冲九,我們說(shuō)到分類時(shí),其實(shí)有時(shí)是指分類(Classification),有時(shí)則是指聚類(Clustering)莺奸。

有監(jiān)督學(xué)習(xí)有老師丑孩,就有正確答案。雖然有時(shí)也會(huì)有模糊地帶灭贷,但總體說(shuō)來(lái)還是有判定標(biāo)準(zhǔn)温学、有是非對(duì)錯(cuò)的,只要與標(biāo)準(zhǔn)答案不一致就會(huì)被認(rèn)為判斷錯(cuò)誤甚疟。

無(wú)監(jiān)督學(xué)習(xí)則不同仗岖,可以有不同的分類方法、不同的分類結(jié)果览妖,通常只有相對(duì)的好壞而沒(méi)有絕對(duì)的對(duì)錯(cuò)轧拄。甚至連分類結(jié)果的好壞也是相對(duì)的,要根據(jù)實(shí)際需要實(shí)際情況進(jìn)行綜合考慮讽膏,才能評(píng)價(jià)分類結(jié)果的好壞檩电。誰(shuí)能說(shuō)人應(yīng)該分幾類,怎么分更合理呢府树?


2俐末、聚類分析

2.1 聚類的分類

聚類是從數(shù)據(jù)分析的角度,對(duì)大量的奄侠、多維的卓箫、無(wú)標(biāo)記的樣本數(shù)據(jù)集,按照樣本數(shù)據(jù)自身的相似性對(duì)數(shù)據(jù)集進(jìn)行分類遭铺。大量丽柿,是指樣本的數(shù)量大;多維魂挂,是指每個(gè)樣本都有很多特征值甫题;無(wú)標(biāo)記,是指樣本數(shù)據(jù)對(duì)于每個(gè)樣本沒(méi)有指定的類別屬性涂召。

需要說(shuō)明的是坠非,有時(shí)樣本數(shù)據(jù)帶有一個(gè)或多個(gè)分類屬性,但那并不是我們所要研究的類別屬性果正,才會(huì)被稱為無(wú)監(jiān)督學(xué)習(xí)炎码。比如說(shuō),體能訓(xùn)練數(shù)據(jù)集中每個(gè)樣本都有很多特征數(shù)據(jù)秋泳,包括性別潦闲、年齡,也包括體重迫皱、腰圍歉闰、心率和血壓。性別、年齡顯然都是樣本的屬性和敬,我們也可以根據(jù)性別屬性把樣本集分為男性凹炸、女性兩類,這當(dāng)然是有監(jiān)督學(xué)習(xí)昼弟;但是啤它,如果我們是打算研究這些樣本的生理變化與鍛煉的關(guān)系,這是性別就不定是唯一的分類屬性舱痘,甚至不一定是相關(guān)的屬性了变骡,從這個(gè)意義上說(shuō),樣本數(shù)據(jù)中并沒(méi)有給出我們所要進(jìn)行分類的類別屬性衰粹。

至于聚類的分類锣光,是針對(duì)研究對(duì)象的不同來(lái)說(shuō)的。把樣本集的行(rows)作為對(duì)象铝耻,考察樣本的相似度誊爹,將樣本集分成若干類,稱為 Q型聚類分析瓢捉,屬于樣本分類频丘。把樣本集的列(columns)作為對(duì)象,考察各個(gè)特征變量之間的關(guān)聯(lián)程度泡态,按照變量的相關(guān)性聚合為若干類搂漠,稱為 R型聚類分析,屬于因子分析某弦。

2.2 Q型聚類分析(樣本聚類)

Q 型聚類分析考察樣本的相似度桐汤,將樣本集分成若干類。我們需要綜合考慮樣本各種特征變量的數(shù)值或類型靶壮,找到一種分類方法將樣本集分為若干類怔毛,使每一類的樣本之間具有較大的相似性,又與其它類的樣本具有較大的差異性拣度。通常是根據(jù)不同樣本之間的距離遠(yuǎn)近進(jìn)行劃分,距離近者分為一類抗果,距離遠(yuǎn)者分成不同類,以達(dá)到“同類相似冤馏,異類相異”。
  按照相似性分類宿接,首先就要定義什么是相似赘淮。對(duì)于任意兩個(gè)樣本睦霎,很容易想到以樣本間的距離作為衡量相似性的指標(biāo)副女。在一維空間中兩點(diǎn)間的距離是絕對(duì)值:d(a,b)=abs[x(a)-x(b)];二維空間中兩點(diǎn)間的距離碑幅,我們最熟悉的是歐幾里德(Euclid)距離:d(a,b)=sqrt[(x1(a)-x1(b))**2+(x2(a)-x2(b))**2],歐式距離也可以拓展到多維空間沟涨。
  除了歐式距離之外,還有其它度量樣本間距的方案裹赴,例如閔可夫斯基距離(Minkowski)、切比雪夫距離(Chebyshev)棋返、馬氏距離(Mahalanobis)等。這些距離的定義雷猪、公式和使用條件睛竣,本文就不具體介紹了。世界是豐富多彩的求摇,問(wèn)題是多種多樣的射沟,對(duì)于特殊問(wèn)題有時(shí)就要針對(duì)其特點(diǎn)采用特殊的解決方案。
  進(jìn)而与境,對(duì)于兩組樣本G1验夯、G2,也需要度量類與類之間的相似性程度嚷辅。常用的方法有最短距離法(Nearest Neighbor or Single Linkage Method)簿姨、最長(zhǎng)距離法(Farthest Neighbor or Complete Linkage Method)、重心法(Centroid Method)簸搞、類均值法(Group Average Method)扁位、離差平方和法(Sum of Squares Method)。
  另外趁俊,處理實(shí)際問(wèn)題時(shí)域仇,在計(jì)算距離之前要對(duì)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化、歸一化寺擂,解決不同特征之間的統(tǒng)一量綱暇务、均衡權(quán)重泼掠。


3、SKlearn 中的聚類方法

SKlearn 工具包提供了多種聚類分析算法:原型聚類方法(Prototype)垦细、密度聚類方法(Density)择镇、層次聚類方法(Hierarchical)、模型聚類(Model)括改,等等腻豌,原型聚類方法又包括 k均值算法(K-Means)、學(xué)習(xí)向量量化算法(LVQ)嘱能、高斯混合算法(Gaussian Mixture)吝梅。詳見(jiàn)下表。

Sklearn_06.png

為什么會(huì)有這么多方法和算法呢惹骂?因?yàn)樘厥鈫?wèn)題需要針對(duì)其特點(diǎn)采用特殊的解決方案苏携。看看下面這張圖右冻,就能理解這句話了国旷,也能理解各種算法都是針對(duì)哪種問(wèn)題的茫死。SKlearn 還提供了十多個(gè)聚類評(píng)價(jià)指標(biāo)峦萎,本文就不再展開(kāi)介紹了。

Sklearn_05.png

4被环、K-均值(K-Means)聚類算法

K-均值聚類算法筛欢,是最基礎(chǔ)的唇聘、應(yīng)用最廣泛的聚類算法,也是最快速的聚類算法之一剥险。

4.1 原理和過(guò)程

K-均值聚類算法以最小化誤差函數(shù)為目標(biāo)將樣本數(shù)據(jù)集分為 K類表制。

K-均值聚類算法的計(jì)算過(guò)程如下:

  • 設(shè)定 K 個(gè)類別的中心的初值;
  • 計(jì)算每個(gè)樣本到 K個(gè)中心的距離娜遵,按最近距離進(jìn)行分類夭拌;
  • 以每個(gè)類別中樣本的均值鸽扁,更新該類別的中心桶现;
  • 重復(fù)迭代以上步驟鼎姊,直到達(dá)到終止條件(迭代次數(shù)相寇、最小平方誤差、簇中心點(diǎn)變化率)婆赠。

K-均值聚類算法的優(yōu)點(diǎn)是原理簡(jiǎn)單佳励、算法簡(jiǎn)單,速度快妙黍,聚類效果極好拭嫁,對(duì)大數(shù)據(jù)集具有很好的伸縮性抓于。這些優(yōu)點(diǎn)特別有利于初學(xué)者毡咏、常見(jiàn)問(wèn)題。其缺點(diǎn)是需要給定 K值堵泽,對(duì)一些特殊情況(如非凸簇、特殊值睬愤、簇的大小差別大)的性能不太好纹安。怎么看這些缺點(diǎn)厢岂?需要給定 K值的問(wèn)題是有解決方法的;至于特殊情況结借,已經(jīng)跟我們沒(méi)什么關(guān)系了船老。

4.2 SKlearn 中 K-均值算法的使用

sklearn.cluster.KMeans 類是 K-均值算法的具體實(shí)現(xiàn)圃酵,官網(wǎng)介紹詳見(jiàn):https://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html#sklearn.cluster.KMeans

class sklearn.cluster.KMeans(n_clusters=8, *, init='k-means++', n_init=10, max_iter=300, tol=0.0001, precompute_distances='deprecated', verbose=0, random_state=None, copy_x=True, n_jobs='deprecated', algorithm='auto')

KMeans 的主要參數(shù):

  • n_clusters: int,default=8  K值郭赐,給定的分類數(shù)量堪置,默認(rèn)值 8。
  • init:{‘k-means++’, ‘random’}  初始中心的選擇方式岭洲,默認(rèn)'K-means++'是優(yōu)化值盾剩,也可以隨機(jī)選擇或自行指定替蔬。
  • n_init:int, default=10  以不同的中心初值多次運(yùn)行承桥,以降低初值對(duì)算法的影響。默認(rèn)值 10蜀撑。
  • max_iter:int, default=300  最大迭代次數(shù)。默認(rèn)值 300矿卑。
  • algorithm:{“auto”, “full”, “elkan”}, default=”auto”  算法選擇沃饶,"full"是經(jīng)典的 EM算法糊肤,"elkan"能快速處理定義良好的簇,默認(rèn)值 “auto"目前采用"elkan"椎咧。

KMeans 的主要屬性:

  • clustercenters:每個(gè)聚類中心的坐標(biāo)
  • labels_: 每個(gè)樣本的分類結(jié)果
  • inertia_: 每個(gè)點(diǎn)到所屬聚類中心的距離之和。

4.3 sklearn.cluster.KMeans 用法實(shí)例

from sklearn.cluster import KMeans  # 導(dǎo)入 sklearn.cluster.KMeans 類
import numpy as np
X = np.array([[1,2], [1,4], [1,0], [10,2], [10,4], [10,0]])
kmCluster = KMeans(n_clusters=2).fit(X)  # 建立模型并進(jìn)行聚類拗踢,設(shè)定 K=2
print(kmCluster.cluster_centers_)  # 返回每個(gè)聚類中心的坐標(biāo)
#[[10., 2.], [ 1., 2.]]  # print 顯示聚類中心坐標(biāo)
print(kmCluster.labels_)  # 返回樣本集的分類結(jié)果
#[1, 1, 1, 0, 0, 0]  # print 顯示分類結(jié)果
print(kmCluster.predict([[0, 0], [12, 3]]))  # 根據(jù)模型聚類結(jié)果進(jìn)行預(yù)測(cè)判斷
#[1, 0]  # print顯示判斷結(jié)果:樣本屬于哪個(gè)類別

例程很簡(jiǎn)單巢墅,又給了詳細(xì)注釋券膀,就不再解讀了。核心程序就是下面這句:

kMeanModel = KMeans(n_clusters=2).fit(X)

4.4 針對(duì)大樣本集的改進(jìn)算法:Mini Batch K-Means

對(duì)于樣本集巨大的問(wèn)題蓄髓,例如樣本量大于 10萬(wàn)舒帮、特征變量大于100玩郊,K-Means算法耗費(fèi)的速度和內(nèi)存很大。SKlearn 提供了針對(duì)大樣本集的改進(jìn)算法 Mini Batch K-Means预茄,并不使用全部樣本數(shù)據(jù)耻陕,而是每次抽樣選取小樣本集進(jìn)行 K-Means聚類,進(jìn)行循環(huán)迭代淮蜈。Mini Batch K-Means 雖然性能略有降低梧田,但極大的提高了運(yùn)行速度和內(nèi)存占用○睦妫    
  class sklearn.cluster.MiniBatchKMeans 類是算法的具體實(shí)現(xiàn)存皂,官網(wǎng)介紹詳見(jiàn):https://scikit-learn.org/stable/modules/generated/sklearn.cluster.MiniBatchKMeans.html#sklearn.cluster.MiniBatchKMeans

class sklearn.cluster.MiniBatchKMeans(n_clusters=8, *, init='k-means++', max_iter=100, batch_size=100, verbose=0, compute_labels=True, random_state=None, tol=0.0, max_no_improvement=10, init_size=None, n_init=3, reassignment_ratio=0.01)

MiniBatchKMeans 與 KMeans不同的主要參數(shù)是:

  • batch_size: int, default=100   抽樣集的大小旦袋。默認(rèn)值 100它改。

Mini Batch K-Means 的用法實(shí)例如下:

from sklearn.cluster import MiniBatchKMeans # 導(dǎo)入 .MiniBatchKMeans 類
import numpy as np
X = np.array([[1,2], [1,4], [1,0], [4,2], [4,0], [4,4],
              [4,5], [0,1], [2,2],[3,2], [5,5], [1,-1]])
# fit on the whole data
mbkmCluster = MiniBatchKMeans(n_clusters=2,batch_size=6,max_iter=10).fit(X)
print(mbkmCluster.cluster_centers_) # 返回每個(gè)聚類中心的坐標(biāo)
# [[3.96,2.41], [1.12,1.39]] # print 顯示內(nèi)容
print(mbkmCluster.labels_)  # 返回樣本集的分類結(jié)果
#[1 1 1 0 0 0 0 1 1 0 0 1]  # print 顯示內(nèi)容
print(mbkmCluster.predict([[0,0], [4,5]]))  # 根據(jù)模型聚類結(jié)果進(jìn)行預(yù)測(cè)判斷
#[1, 0]  # 顯示判斷結(jié)果:樣本屬于哪個(gè)類別

5央拖、K-均值算法例程

5.1 問(wèn)題描述

-  聚類分析案例—我國(guó)各地區(qū)普通高等教育發(fā)展?fàn)顩r分析鲜戒,本問(wèn)題及數(shù)據(jù)來(lái)自:司守奎、孫兆亮伦腐,數(shù)學(xué)建模算法與應(yīng)用(第2版)蔗牡,國(guó)防工業(yè)出版社嗅剖。
  問(wèn)題的原始數(shù)據(jù)來(lái)自《中國(guó)統(tǒng)計(jì)年鑒,1995》和《中國(guó)教育統(tǒng)計(jì)年鑒黔攒,1995》督惰,給出了各地區(qū)10 項(xiàng)教育發(fā)展數(shù)據(jù)。我國(guó)各地區(qū)普通高等教育的發(fā)展?fàn)顩r存在較大的差異访娶,請(qǐng)根據(jù)數(shù)據(jù)對(duì)我國(guó)各地區(qū)普通高等教育的發(fā)展?fàn)顩r進(jìn)行聚類分析觉阅。


Sklearn_11.png

5.2 Python 程序


# Kmeans_sklearn_v1d.py
# K-Means cluster by scikit-learn for problem "education2015"
# v1.0d: K-Means 聚類算法(SKlearn)求解:各地區(qū)高等教育發(fā)展?fàn)顩r-2015 問(wèn)題
# 日期:2021-05-10

#  -*- coding: utf-8 -*-
import numpy as np
import pandas as pd
from sklearn.cluster import KMeans, MiniBatchKMeans

# 主程序
def main():
    # 讀取數(shù)據(jù)文件
    readPath = "../data/education2015.xlsx"  # 數(shù)據(jù)文件的地址和文件名
    dfFile = pd.read_excel(readPath, header=0)  # 首行為標(biāo)題行
    dfFile = dfFile.dropna()  # 刪除含有缺失值的數(shù)據(jù)
    # print(dfFile.dtypes)  # 查看 df 各列的數(shù)據(jù)類型
    # print(dfFile.shape)  # 查看 df 的行數(shù)和列數(shù)
    print(dfFile.head())

    # 數(shù)據(jù)準(zhǔn)備
    z_scaler = lambda x:(x-np.mean(x))/np.std(x)  # 定義數(shù)據(jù)標(biāo)準(zhǔn)化函數(shù)
    dfScaler = dfFile[['x1','x2','x3','x4','x5','x6','x7','x8','x9','x10']].apply(z_scaler)  # 數(shù)據(jù)歸一化
    dfData = pd.concat([dfFile[['地區(qū)']], dfScaler], axis=1)  # 列級(jí)別合并
    df = dfData.loc[:,['x1','x2','x3','x4','x5','x6','x7','x8','x9','x10']]  # 基于全部 10個(gè)特征聚類分析
    # df = dfData.loc[:,['x1','x2','x7','x8','x9','x10']]  # 降維后選取 6個(gè)特征聚類分析
    X = np.array(df)  # 準(zhǔn)備 sklearn.cluster.KMeans 模型數(shù)據(jù)
    print("Shape of cluster data:", X.shape)

    # KMeans 聚類分析(sklearn.cluster.KMeans)
    nCluster = 4
    kmCluster = KMeans(n_clusters=nCluster).fit(X)  # 建立模型并進(jìn)行聚類劫哼,設(shè)定 K=2
    print("Cluster centers:\n", kmCluster.cluster_centers_)  # 返回每個(gè)聚類中心的坐標(biāo)
    print("Cluster results:\n", kmCluster.labels_)  # 返回樣本集的分類結(jié)果

    # 整理聚類結(jié)果
    listName = dfData['地區(qū)'].tolist()  # 將 dfData 的首列 '地區(qū)' 轉(zhuǎn)換為 listName
    dictCluster = dict(zip(listName,kmCluster.labels_))  # 將 listName 與聚類結(jié)果關(guān)聯(lián)权烧,組成字典
    listCluster = [[] for k in range(nCluster)]
    for v in range(0, len(dictCluster)):
        k = list(dictCluster.values())[v]  # 第v個(gè)城市的分類是 k
        listCluster[k].append(list(dictCluster.keys())[v])  # 將第v個(gè)城市添加到 第k類
    print("\n聚類分析結(jié)果(分為{}類):".format(nCluster))  # 返回樣本集的分類結(jié)果
    for k in range(nCluster):
        print("第 {} 類:{}".format(k, listCluster[k]))  # 顯示第 k 類的結(jié)果

    return

if __name__ == '__main__':
    main()

5.3 程序運(yùn)行結(jié)果

   地區(qū)    x1   x2   x3    x4   x5   x6     x7    x8    x9    x10
0  北京  5.96  310  461  1557  931  319  44.36  2615  2.20  13631
1  上海  3.39  234  308  1035  498  161  35.02  3052  0.90  12665
2  天津  2.35  157  229   713  295  109  38.40  3031  0.86   9385
3  陜西  1.35   81  111   364  150   58  30.45  2699  1.22   7881
4  遼寧  1.50   88  128   421  144   58  34.30  2808  0.54   7733
Shape of cluster data: (30, 10)
Cluster centers:
 [[ 1.52987871  2.10479182  1.97836141  1.92037518  1.54974999  1.50344182
   1.13526879  1.13595799  0.83939748  1.38149832]
 [-0.32558635 -0.28230636 -0.28071191 -0.27988803 -0.28228409 -0.28494074
   0.01965142  0.09458383 -0.26439737 -0.31101153]
 [ 4.44318512  3.9725159   4.16079449  4.20994153  4.61768098  4.65296699
   2.45321197  0.4021476   4.22779099  2.44672575]
 [ 0.31835808 -0.56222029 -0.54985976 -0.52674552 -0.33003935 -0.26816609
  -2.60751756 -2.51932966  0.35167418  1.28278289]]
Cluster results:
 [2 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 3]

聚類分析結(jié)果(分為4類):
第 0 類:['上海', '天津']
第 1 類:['陜西', '遼寧', '吉林', '黑龍江', '湖北', '江蘇', '廣東', '四川', '山東', '甘肅', '湖南', '浙江', '新疆', '福建', '山西', '河北', '安徽', '云南', '江西', '海南', '內(nèi)蒙古', '河南', '廣西', '寧夏', '貴州']
第 2 類:['北京']
第 3 類:['西藏', '青海']

版權(quán)說(shuō)明:

本文中案例問(wèn)題來(lái)自:司守奎、孫兆亮乱顾,數(shù)學(xué)建模算法與應(yīng)用(第2版),國(guó)防工業(yè)出版社。
本文內(nèi)容及例程為作者原創(chuàng)温技,并非轉(zhuǎn)載書籍或網(wǎng)絡(luò)內(nèi)容扭粱。

YouCans 原創(chuàng)作品
Copyright 2021 YouCans, XUPT
Crated:2021-05-09

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末琢蛤,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子套才,更是在濱河造成了極大的恐慌背伴,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,576評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件息尺,死亡現(xiàn)場(chǎng)離奇詭異搂誉,居然都是意外死亡静檬,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門凛虽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)广恢,“玉大人,你說(shuō)我怎么就攤上這事至非】反希” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 168,017評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵趣惠,是天一觀的道長(zhǎng)味悄。 經(jīng)常有香客問(wèn)我侍瑟,道長(zhǎng)丙猬,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 59,626評(píng)論 1 296
  • 正文 為了忘掉前任庭瑰,我火速辦了婚禮见擦,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘鲤屡。我一直安慰自己酒来,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布辽社。 她就那樣靜靜地躺著滴铅,像睡著了一般就乓。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上噩翠,一...
    開(kāi)封第一講書人閱讀 52,255評(píng)論 1 308
  • 那天伤锚,我揣著相機(jī)與錄音志衣,去河邊找鬼。 笑死玄呛,一個(gè)胖子當(dāng)著我的面吹牛和二,可吹牛的內(nèi)容都是我干的惯吕。 我是一名探鬼主播怕午,決...
    沈念sama閱讀 40,825評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼郁惜,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼甲锡!你這毒婦竟也來(lái)了缤沦?” 一聲冷哼從身側(cè)響起缸废,我...
    開(kāi)封第一講書人閱讀 39,729評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤驶社,失蹤者是張志新(化名)和其女友劉穎亡电,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體恕汇,經(jīng)...
    沈念sama閱讀 46,271評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡拇勃,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評(píng)論 3 340
  • 正文 我和宋清朗相戀三年方咆,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蟀架。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,498評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡煌集,死狀恐怖苫纤,靈堂內(nèi)的尸體忽然破棺而出纲缓,到底是詐尸還是另有隱情,我是刑警寧澤栗弟,帶...
    沈念sama閱讀 36,183評(píng)論 5 350
  • 正文 年R本政府宣布乍赫,位于F島的核電站,受9級(jí)特大地震影響雷厂,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜器腋,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評(píng)論 3 333
  • 文/蒙蒙 一钩杰、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧措左,春花似錦避除、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,338評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至诬辈,卻和暖如春荐吉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背穿撮。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,458評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工悦穿, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留勤揩,地道東北人秘蛔。 一個(gè)月前我還...
    沈念sama閱讀 48,906評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像负蠕,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子绣的,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評(píng)論 2 359

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