Dosya transferinde upload zamanından kurtulmak


Bir arkadaşına dosya yolladığınızda dropbox, drive veya benzer bir araç kullanırsın. Bu araçlar önce dosyayı buraya yüklersiniz sonra karşı taraf onu indirir. Ancak dosyanın büyük olduğu zamanlarda upload süresinden yırtmak için bir yol var. Bu yolla senin bilgisayarınızdaki dosya direkt olarak arkadaşınızla paylaşılmış oluyor. Yani arkadaşınız dosyayı direkt sizin bilgisayarınızdan çekmiş oluyor. Bu işlemi şu site yardımıyla yapabilirsiniz:
https://takeafile.com/

Tek yapmanız gereken dosyayı bu siteye sürükleyip bırakmak. Sistem anında bir bağlantı oluşturuyor ve bu bağlantıyı arkadaşınıza yolluyorsunuz. Bağlantı tıklandığı anda arkadaşınız direkt olarak sizin bilgisayarınızdan dosyayı indiriyor.

Küçük bir not: Bilgisayarınızı kapatırsanız işlem duracaktır. Bu nedenle bu bağlantı kalıcı değildir. Bu uygulamayı devamlı açık olan bilgisayarların arasında kullanmak faydalıdır.

Reklamlar

Market Sepeti Analizi Nedir?


Bir markette herkes sepetine farklı ürünler doldurur. Ancak her sepette genellikle bir arada bulunan ürünler vardır. Bu ürünlerden örneğin kola ile cipsin bir arada alınması beklenebilir ancak beklenmediği halde bir arada olan ürünler olabilir mi? Örneğin bira ile çocuk bezi bir arada sıkça görülür mü? Bir şehir efsanesine göre evet. İşte buna benzer kalıpları görebilmek için “market sepeti analizi” adı verilen bir analiz yapılır. Bu bir veri madenciliği yöntemidir.Bunu R ile yapmak için şurayıPython ile yapmak için şurayı okuyabilirsiniz.

R ve Regex Yardımıyla düzensiz bir metin içinden yılı yakalamak


Bir projemde aşağıdaki gibi iki tür metin vardı:

> a="Volume 29, Issue 3, July 2007, Pages 357-374"
> b="Published: 1999, Start page: 117"

a ve b değerleri içinden 2007 ve 1999 gibi sayıları çıkarmak istiyordum. Regex’te buna uygun bir patternin var olduğunu düşündüm. Şuradan test ettim: https://www.regextester.com/93651

Daha sonra R’da bulunan stringr paketindeki str_extract fonksiyonunu kullandım:

> str_extract(a,"(19|20)\\d{2}")
[1] "2007"
> str_extract(b,"(19|20)\\d{2}")
[1] "1999"

Özetle (19|20)\d{2} şeklinde yazdığım regex kodu şöyle söyler: Git o metnin içinden 19 veya 20 ile başlayan ve devamında iki sayısal karakter(d) olan veriyi yani yılı getir.

Getirdi de! Büyük veri zorlu veridir. Ama aşmak için her zaman yollar vardır.

Üç Boyutlu Öykü


Bugüne kadar okuduğum en güzel öykülerden biri Ömür İklim Demir muhtelif evhamlar kitabındaki adı uzun uzun çalann zillerr ve bir mutfak kapısı hakkında olan öyküsü bu öykü Aslında çok basit bir fikre dayanıyor ancak müthiş bir perspektifle anlatılmış.

Hikaye kendisine çarpan bir araba
yüzünden feci şekilde yaralanan bir köpek ile başlıyor daha sonra durduk yere bu köpeği kurtarmaya çalışan bir adam ve bir kadından bahsediliyor bu adam ve kadın yola çıktıktan sonra aslında o yolda bulunan başka bir belediyeci hikaye konu ediliyor Ancak bu kez anlatıcı belediyeci oluyor.

Belediyesi’nin kriz geçirerek düşmesi ve düşüklüğü ve ölümü çok epik bir dille anlatılıyor daha sonra bu anlatım içersinde belediyecinin ölümü sonrasında önceden ölmüş olan karısını görüşü anlatılıyor.

Final kısmı ise gerçekten ilginç belediyeci, karısı ve en son ölen köpek bir araya geliyorlar ve öykünün finalini köpeğin dilinden dinliyoruz.

CountVectorizer’in Çalışma Şekli


Python’da Metin Madenciliğine dayalı makine öğrenme modelleri kullanırken doküman külliyatınızı (corpus) kelime kelime sayılara (numpy.array formatında) çevirmek için CountVectorizer nesnesini kullanabiliyorsunuz. Çalışma şekli aşağıda:In [43]:

from sklearn.feature_extraction.text import CountVectorizer

a=["gel ali","gel suat","ali atan","suat atan"]

In [44]:

vec = CountVectorizer(max_features=10, min_df=2, max_df=10)  
X = vec.fit_transform(a)
print(X.toarray())
print(vec.vocabulary_)
[[1 0 1 0]
 [0 0 1 1]
 [1 1 0 0]
 [0 1 0 1]]
{'gel': 2, 'ali': 0, 'suat': 3, 'atan': 1}

In [54]:

new_sentence = "gel ali"
mapped_a = vec.transform([new_sentence])
print(mapped_a.toarray()) # sparse feature vector
print(vec.vocabulary_)
[[1 0 1 0]]
{'gel': 2, 'ali': 0, 'suat': 3, 'atan': 1}

In [55]:

new_sentence = "sen ali"
mapped_a = vec.transform([new_sentence])
print(mapped_a.toarray()) # sparse feature vector
print(vec.vocabulary_)
[[1 0 0 0]]
{'gel': 2, 'ali': 0, 'suat': 3, 'atan': 1}

Tahmin Yaparken Yeni Gelen Söz Dizisini Vektörize Etmek

“hakan gel” ifadesi külliyatınızda birebir yok sadece ‘gel’ ifadesi eşleşmekte. Bu diziyi vektörize edince corpus’ta ‘gülnur’ olmadığından matriste değer sıfır çıkacaktır.In [59]:

new_sentence = "hakan gel"
mapped_a = vec.transform([new_sentence])
print(mapped_a.toarray()) # sparse feature vector
print(vec.vocabulary_)
[[0 0 1 0]]
{'gel': 2, 'ali': 0, 'suat': 3, 'atan': 1}

In [60]:

tokenizer = vec.build_tokenizer()
# array of words ids
for token in tokenizer(new_sentence):
    print(vec.vocabulary_.get(token))
None
2