
idea worker - fikir işçisi
HİLE DENETİMİ İÇİN MAKİNE ÖĞRENMESİ 1: BASİT DOĞRUSAL REGRESYON
18.03.2020 23:56Şirketimizle ilgili şu veriler elimizde olsun: Hile yaptığı tespit edilen personelin maaşları ve tespit edilen hile tutarları. İlgili veri aşağıda:
maas |
hiletutari |
3250 |
450 |
3500 |
1600 |
2400 |
700 |
4500 |
9260 |
2700 |
4100 |
6800 |
15240 |
5980 |
4000 |
3950 |
650 |
7800 |
1500 |
7500 |
12500 |
6000 |
1250 |
8500 |
45000 |
4750 |
500 |
4600 |
3000 |
6900 |
3500 |
Bu veriye bakarak, hile tutarları ile maaşlar arasında doğrusal bir ilişki var mı, sorusuna yanıt aramak istiyoruz. Eğer böyle bir doğrusal ilişki tespit edersek, "Şirketimiz özelinde, maaşı yüksek olan personelin daha yüksek tutarlarda hile yapması mümkündür." şeklinde bir çıkarım yapmamız ve mevcut kontrol noktalarımızı bu çıkarım doğrultusunda güncellememiz mümkün olabilecektir.
Sahip olduğumuz veriyi Python ve kütüphaneleri ile irdeleyeceğiz. Gerekli kodları aşağıya ekliyorum.
# gerekli kütüphaneleri çalışmamıza eklemeye başlayalım
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
# verimizi çalışmamıza ekleyelim ve ön incelemeye tabi tutalım
df = pd.read_csv(link, sep = ';')
df.head()
df.info()
df.describe()
#Seaborn lmplot ile veriyi görselleştirelim
sns.lmplot(x='maas', y='hiletutari', data=df)
plt.title("Hileli İşlem Tutarları ve Maaşlar")
plt.xlabel("Hilekar Maasları")
plt.ylabel("Hile Tutarları")
plt.xticks(rotation=90)
plt.xlim(0,10000)
plt.ylim(bottom=0)
plt.show()
# x ve y değerlerini numpy ile dönüştürme
# numpy ile daha hızlı analiz yapabiliriz
x= df['maas'].values.reshape(-1,1)
y= df['hiletutari'].values.reshape(-1,1)
hile_reg_model = LinearRegression()
hile_reg_model.fit(x,y)
# bo değerini bulalım
bo = hile_reg_model.intercept_
Yazımızda basit doğrusal regresyonun hile denetiminde nasıl kullanılabileceğine değindim. Kurduğumuz model çok başarılı bir sonuç vermedi. Veri sayımız yeterli olmayabilir ya da farklı bir makine öğrenmesi algoritması kullanmamız gerekebilir. Basit doğrusal regresyon konusu makine öğrenmesinin temelidir. Her ne kadar bu örneğimizde 0.34 skor değeri elde etmiş olsak bile, doğru veri ile çok daha iyi sonuçlar elde edilebilir.
Corona virüsü dünyayı ve ülkemizi yakıp kavururken, yeni iş modellerine ihtiyacımız olduğu kesindir. Bu hengamede iç denetim de dönüşmek zorunda. Python ile iç denetimin dansına aracılık etme amacındayım.
import matplotlib.pyplot as plt
import seaborn as sns
—————