Büyük veri kümesini hesaplamaya çalıştığımda bellek hatam verecek çünkü apriori using python'dan yüklediğim apriori algoritmasından bazı satır kodlarını bozmayı denemek istiyorum. Burada yeni bulduğum bir problem var.Python işlemini parçalama
def joinSet(itemSet, length):
"""Join a set with itself and returns the n-element itemsets"""
return set([i.union(j) for i in itemSet for j in itemSet if len(i.union(j)) == length])
hata tetikleyen dönüş var gerçek boyutunu bilmek istiyorum, bu yüzden bu olmaya arıza olanlar kodu deneyin.
def joinSet(itemSet, length):
"""Join a set with itself and returns the n-element itemsets"""
ret = []
for i in itemSet:
for j in itemSet:
if len(i.union(j)) == length:
ret.append(i.union(j))
return ret
yüzden her adımı izleyebilir, ama benim arıza kodu orijinal biriyle aynı sonucu verir vermez.
Neyi özlüyorum? Ve eğer benim yaklaşımlarım yanlış giderse bana gerçek bir çözüm sunabiliyorsanız çok sevineceğim. Teşekkür ederim.
sadece kaldırmayı deneyin gerektirir '[] 'set içinde. Bu gereksiz yere bir liste oluşturur, çünkü hemen bir set haline getirilerek atılır. Kullanılabilirse, bir hata raporu veya orijinal kaynağa çekme isteği de oluşturabilirim çünkü bu, görebildiğim bir dezavantajı olmayan bir optimizasyon. –
Yeh, ilk kod segmentinde, liste döndürmeden önce bir kümeye dönüştürülür. İkinci kod bölümünde sadece listeyi döndürürsünüz. – Pedro