3

我在为 2 个将显示累积分布函数 (CDF) 的示例字符串列表创建 Kolmogorov-Smirnov 图表时遇到困难?

两样本 Kolmogorov–Smirnov 检验所示

我已经能够计算出Ks_2sampResult(statistic=0.12939662567915355, pvalue=0.4183080902726968)整个字符串列表,但困难在于如何绘制图表以显示累积频率分布 (CFS)

数据列表示例

列表 1 的子集,例如['team', 'new', 'estate', 'ho', 'ur', 'la', 'pak', 'ebay', 'biz', 'best']

列表 2 的子集,例如['ilsilenzio', 'stilllife', 'mathiasboe', 'achininimeshikaratnasiri', 'andrewdabeka', 'davekhodabux', 'lilytermetz', 'marianhorsley', 'lindacloutier', 'moniquehoogland',]

获取数据列表

    def getWikidataList():
    with open('./file1.csv', 'r') as f:
        read = csv.reader(f) 
        next(read)
        for line in read:
            lineitem = line[0].split()[0]
            item1 = process_text(lineitem)
            wikidatalist.append(item1[0])
        return wikidatalist


def getTwitterList1():
    with open('file2.csv', 'r') as f:
        read = csv.reader(f) 
        next(read)
        for line in read:
            lineitem = line[0].split()[0]
            item1 = process_text(lineitem)
            twitterdatalist.append(item1[0])
        return twitterdatalist



wikidatalist = getWikidataList()
twitterData = getTwitterList1()

绘制 CDF

def ks_plot_comp(data_1, data_2):

    plt.figure(figsize=(12, 7))
    plt.plot(data_1, np.linspace(0, 1, len(data_1), endpoint=False))
    plt.plot(data_2, np.linspace(0, 1, len(data_2), endpoint=False))
    plt.legend('top right')
    plt.legend(['wikidata', 'twitterdata'])
    plt.title('Comparing 2 CDFs for KS-Test')
    plt.show()    
    ks_plot_comp(wikidatalist, twitterData)

在此处输入图像描述

4

0 回答 0