Mod Security bir Web Application Firewaludur. Temel anlamıyla, Http isteklerini analiz ederek, Http serverımıza gelmeden işlemleri sonlandırmaktadır. Örnek olarak, Header’da User-Agent kısmında spider yazıyorsa paketi drop et diyebilmekteyiz. SQL İnjection, Xss gibi açıklarda da kullanabilmektedir ancak temelde paketi headerlarına göre filtrelemektedir.

Rulelar yazarak Paketlere neler olacağını söylediğiniz bir Rule diline (SecRules) sahip olan Mod Security’ye bir Rule Engine diyebilmekteyiz.

SecRulelar temel olarak şu yapıdadır: SecRule VARIABLES OPERATOR [ACTIONS]

SecRule Dilini anlatmak başlarken kolay olan Action kısmından başlayalım, eğer Rule’da istenenler sağlanırsa pakete yapılan işlemlerdir. Basitçe Allow,Block, Deny, Drop, Pass’tir. Allow izin veriyor, Block direkt olarak blockluyor, deny hata mesajı ile…


Evet bir yerde bir ödev kapsamında İmbalanced bir veri seti ile yapılan işlemlerde Accuracy metriği işlem yapıldığını gördüm ve beynimden vurulmuşa döndüm! Veri setini anlamak yerine direkt olarak algoritmalara ve onları da en düz halleri ile kullanmaları beni gerçek anlamda üzdü. Sonuç olarak böyle bir yazı yazma gereği duydum.

İmbalanced Veri Seti Nedir?

İmbalanced veri seti bir veri setindeki yakalanmak istenen sonucun (Outcome’ın) genellikle bir sonuç değerinin diğerlerinden çok daha fazla olmasıdır. Örnek olarak:

Gördüğünüz üzere No Yes’ten oldukça daha baskındır ve Makine Öğrenmesi Algoritmalarımız belirtilen şartlarda No’ya yönelim gösterebilmektedir. …


Uzun süreli bir online sertifika almaya karar verdiğimde Google’ın Coursera kurslarının reklamlarını görmekteydim. Biraz araştırdıktan sonra almaya karar verdim. Çok zor bir kurs değildi ancak hiçte boş bir kurs gibi de görünmüyordu. Direkt olarak advance kurslar almak yerine böyle bir başlangıç yaptım ve hiç pişman değilim.

Kurstan bahsedecek olursak 5 adet kurs ve 1 adet uygulama modülünden oluşuyor kurs. İlk olarak temel Python’u öğretiyor ancak yeni başlayanlar için biraz zorlayıcı olabileceği açık. Python kursu ise gerçekten çok iyi hazırlanmış ve quizler bazen gerçekten zorlayıcı olabiliyorlar.

Sonrasında Using Python with Interact with Operating Systems kursu geliyor ve gerçekten güzel bir kurs…


Makale gerçekten basit olarak kullanılan bütün yöntemlerden bahsediyor ve haklarında çeşitli bilgiler de veriyor. http://vishub.org/officedocs/18024.pdf

Öncelikle Possession’ dan başlıyor makale. Possession topun kontrol geçtikten sonra sayı, savunma ribaundu veya top kaybına kadar olan süre olarak anlatılıyor. Nba’de son yılların yükselen trendi olan possession’u box score’dan yaklaşık olarak hesaplayabileceğimiz bir şekle getiriyorlar ki:

possesion=Field_Goal_attemp + 0.44* free_throw_attempt- offensive_reb + turnover.

Field Goald attemp + 0.44* Free Throw attempt — Oreb + Turnover.

Evet görüldüğü üzere offensive reboundlar possesion eklenmiyor aksine çıkartılıyor. Son yıllarda giderek daha az takımın Offensive rebounda kaynak ayırması belki de yukarıdaki formülden dolayıdır.

Sonrasında Possession ile bağlantılı olan…


Öncelikle linuxtaki fcsk ile bir şeyler deneyebilirsiniz. Sonuç alabilirsiniz eğer alamazsanız. Farklı işletim sistemlerine mount ettirmeye çalışın: Windows, Linux, Macos eğer yine bir sonuca ulaşamazsanız bir data recovery tool’u kullanmanız gerekmektedir. Benim kullanımımda doya isimleri ve klasör yapısı hariç her şeyi kurtardı. Evet öncelikle kurulum işlemini gerçekleştirelim:

sudo apt-get install foremost

Sonra usb’nizin isminin nasıl göründüğüne bakmanız gerekmektedir. lsblk ile:

Görüldüğü üzere sda diski ana diskimiz ve 15 gb’lık sdb ise flash diskimiz gibi gözükmektedir. İsterseniz şu şekilde de yukarıdakine benzer bir çıktı alabilirsiniz:

ls -l /dev | grep sd

Sonrasında fsck ile bir şeyler deneyebilirsiniz. …


Medium’da şu yazı önerildi ve gerçekten iyi bir kütüphane ile tanışmış oldum: https://towardsdatascience.com/pycaret-better-machine-learning-with-python-58b202806d1e

Yazı bahsedilenden çok daha fazlası olan PyCaret’ı anlatmaya başlayalım.

PyCaret temelde çeşitli python makine öğrenmesi kütüphanelerini kolayca kullanmamıza olanak sağlamak için geliştirilmiş bir kütüphane. Kütüphanelerle ortak da çalışabiliyor ve kendi başına oldukça başarılı çalışabilmekte.

Örnek olarak veriyi Pycaret’ın kullanabileceği hale getirmek için:

data_1=setup(data=data,target="Type")

Direkt olarak targetımızı belirtebiliyoruz. Ardından train test split işlemini gerçekleştirmek için setup’a train_size eklememiz gerekli.

data_1=setup(data=data,target="Type",train_size = 0.8)

Ardından direkt olarak classification araçlarımızı verimiz üzerinde kullanabiliriz:

best_model=compare_models()

Gördüğünüz gibi RapidMiner gibi programlardan alışık olduğumuz bir çıktı ile karşılaşmaktayız ancak model de Python kernelimizin içinde.


Sadly we don’t have any easy solution. Some naive ggplot base implementation is in PyPI however it’s not ggplot. We use Rpy2 in Python and it’s has problems in certain environments (for example in Kaggle can’t install packages.). Because of this, We use safer conda Environment for install Rpy2. For installation:

conda install rpy2

Interestingly little old version installed in my System (2.9.4). It’s okay not early unstable releases.

Okay we install it. Now we can use R in Python. Now we install ggplot2 in R. So we write this code (in Python) for this:

from rpy2.robjects.packages import importr utils…


Öncelikle Python’un normal interpretırı yerine pythonw.exe ‘yi kullanmanız gerekmektedir. Aksi halde aniden karşınızda bir pencere açılırken bulabilirsiniz. pythonw.exe python.exe ile aynı yolda (yerde) bulunmaktadır.

Path’e eklemiş olsanız dahi python interpretırının yolunu tam olarak vermeniz gerekmektedir. Çalıştıracağınız python scriptini de tam olarak vermelisiniz. Python’un nerede olduğunu öğrenmek için:

import sys print(sys.executable)

Ardından Task Scheduler (Görev Zamanlayıcısı) ile işlemleri gerçekleştirebilirsiniz. Örnek olarak:

Kullanılan koda ulaşmak için:

https://gist.github.com/anilkay/6c063d6d3b4c99ffaf33dc48fc50943a

yalnız Wİndows’ta notification fırlatmamızı sağlayan yukarıdaki modülün ürettiği sonrasında okunamamaktadır. duration’ı mümkün olduğunca çok tutmanızda fayda vardır. Birde kütüphaneyi fork eden biri persistent yaptığını (sonrasında görülebildiğini) söylemektedir ancak pek güven vermedi bana. Yine de ulaşmak için:

https://pypi.org/project/win10toast-persist/

Originally published at http://anilkaynr.wordpress.com on May 17, 2020.


Bildiğiniz gibi Pandas veri boyutu büyüdükçe çok hızlı bir şekilde yavaşlamaktadır. 1 Filter işlemi için bile uzun süreler bekleyebiliyoruz. Özellikle Kaggle gibi ortamlarda çalışırken belli limitler dahilinde çalıştığınız için Pandas’ın yavaşlığı ciddi problemlere yol açmaktadır. Pandas’ı hızlandırmak için altyapı olarak Pandas kullanan ve pandas apisini tümüyle destekleyen Modin ile pandas operasyonlarınızı hızlandırabiliriz.

Modin basitçe Pandas’ın dağıtık bir yapıda kullanımını sağlıyor. Daha çok işi aynı anda çalıştırarak hızlandırıyor. Üstelik birden fazla node ile de kullanmak mümkün. Eski bilgisayarı ağa bağladım. Terabaytlarca veri hazırlıyorum gibi cümleler kurabilmemizi de sağlayabilen bir proje. Desteklenmesi ve kullanımının teşvik edilmesini önerdiğim bir proje kısaca. Kullanımına gelirsek:


Öncelikle linkleri link olarak görüntüleyebilmek için UTF-8 olarak okumanız gerekmektedir. Şöyleki:

turkce=pd.read_csv("turkce.csv",encoding = 'utf8')

Ardından linkleri verimizden silmek için regexler ile şu şekilde sonuca ulaşabilirsiniz:

turkce=turkce.str.replace('http[s]?://\S+','')

Mention ve # ile yapılan ne ise onları silmek için:

turkce=turkce.str.replace('[@#][A-Za-z0-9]+','')

yeter diye düşünüyorsunuz ancak ğ vb karakterler için yukarıdaki kod yetersiz kalmaktadır. Türkçe karakterleri de ekleyip silmek için:

turkce=turkce.str.replace('[@#][A-Za-z0-9ğüşöçİĞÜŞÖÇ]+','')

Sonrasında karşımıza I’m at FourSquare gelmektedir. Silmek yerine stop words olarak kabul etmek daha mantıklı olacaktır. İçinde nerede olunduğu bilgisi olduğu için kullanılabilir bir olgudur ancak model kurma veya benzer işler için gereksiz olabilmektedir.

Birde niyeyse bendeki veride others kelimesi yoğun bir şekilde bulunmakta…

anıl kaynar

Computer Engineer,Sociologist, CSE Master Student

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store