【问题标题】:Split a dictionary data into 2 parts and store into variable将字典数据分成两部分并存储到变量中
【发布时间】:2022-07-08 20:10:01
【问题描述】:

所以我有这个余弦相似度度量字典数据,存储在变量“相似度”中。 PIC of the data 。 我可以知道如何将这些数据分成 70 和 30 的部分。我想将这些数据分成两部分并将这两个部分存储在一个变量中,最好分割可以是 7:3 除法

我问这个问题的原因是我有一个准确度算法,可以提供该数据的准确性,但问题是我使用相同的数据进行训练和测试,正如您在代码中看到的那样,所以我收到 100% 准确率显然,因为我的训练和测试数据是相同的。所以想把数据分成 70% 30% 这样的训练是 70,测试是 30。

print(similarity)


train_r =  np.array(similarity)
test_r =  np.array(similarity)

train_c = train_r[:,10]
test_c = test_r[:,10]

a = train_c
b = test_c

cos_sim = (dot(a, b)/(norm(a)*norm(b))) * 100
print(cos_sim)

如果我能得到答案将非常感激。非常感谢

【问题讨论】:

    标签: python artificial-intelligence data-mining training-data


    【解决方案1】:

    应该这样做:

    split_rate = 0.7
    split_idx = int(len(similarity)*split_rate)
    train_r =  np.array(similarity)[:split_idx] 
    test_r =  np.array(similarity)[split_idx:] 
    

    【讨论】:

    • 感谢您的回答,很抱歉迟到了,但是当我输入该代码时,我实际上收到了错误TypeError: slice indices must be integers or None or have an __index__ method..供参考。这是我正在运行的代码..split_rate = 0.7 split_idx = len(similarity)*split_rate train_r = np.array(similarity)[:split_idx] test_r = np.array(similarity)[split_idx:] train_c = train_r[:,10] test_c = test_r[:,10] a = train_c b = test_c cos_sim = (dot(a, b)/(norm(a)*norm(b))) * 100 print(cos_sim)
    • 我添加了一个 int() 调用,我想现在应该没问题了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-06
    • 1970-01-01
    相关资源
    最近更新 更多