veri madenciliği - burakkiymaz.github.io · veri madenciliği Çok fazla bilgiden gizli kalmış...

Post on 16-Sep-2019

15 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

VeriMadenciliğiÇokfazlabilgidengizlikalmışörüntüleriortayaçıkarmasürecineVeriMadenciliğidenir.

istatistik+makineöğrenmesi+yapayzeka=verimadenciliği

Verimadenciliğisüreçleri

CRISP-DMSüreci

DataUnderstanding

Classification(Sınıflandırma):veribelirlikategorileregöresınıflaraayrılır.Clustring(kümeleme):BelirlietiketleregörekümelemeyapıppromosyonmaillerininsadeceilgilikişileregitmesinisağlarAssocationRules(Birliktelikkuralları):Bunabakanbunlaradabaktıyapısıgibiverilerarasındailişki.

Datapreparation

Bufazdadeğerlendirilecekverilerhazırlanır.Elimizdeboşgirilmişveriolmamasıgerekir.Boşolanverilerediğerverilermedyanıveyaaritmetikortalamasıiledoldurulur.

Modelleme

İstatikselmakineöğrenmesiveyapayzekayöntemlerikullanılır.Buşekildeistatistikselolarakkarşılaştırmayapılır.

Evaluation

Modellemedengelenverilerdeğerlendirilir.

Deployment

Verilerinekrandagösterilmesiaşamasınadenir.

OLTP:BirveritabanındasadeceInsert-Update-Deleteyapılıyorisebuveritabanınadenir.

DatawareHouseOLTPveritabanındakiverilerinsadeceanalizedilecekkısmınıtutar.

Kullanılacakbazıkütüphaneler

Pandas:csvverileriüzerindehızlıişlemyapabiliyor.NumPy:matrislerüzerindehızlıçalışıabiliyorScikit_Learn:Makineöğrenmesikütüphanesi

Pandas

VerilerinsatırvesütunlarıüzerindeişlemyapmayaizinverenDataFrameveSeriesözelliklerivardır.

NumPy

GüçlübirN-boyutludizisağlar.Karmaşıkfonksiyonlarbulunmaktadır.C/C++Fortranentegrasyonubulunmaktadır.KullanışlıForuierdönüşümüverastgelesayıyeterneklerivardır.

Scikit_Learn

Makineöğrenmesikütüphanesi

NumPyverileriniparametreolarakalır.Pandaskullanarakverileriyüklenebilir.temizlenebilirveişlenebilir.

ilkuygulama

importpandasaspd

importnumpyasnp

#F9ilebulunulansatırveyataranmışolansatırlarıçalıştırabiliriz.

dataframe=pd.read_csv('Eskicalisanlar.csv')

#Dataframekısmındaiçeriğigörebiliriz.

dataframe.head()

#enüsttenitibarenbelirlisayıdakaydıgösterir.

#headparantezlerininiçerisinebirparametreverilirseoparametrekadar

#veriyigösterir.

dataframe.tail()

#sondanitibarenkayıtlarıgörmekiçinkullanılır.

dataframe.shape

#dataframeinkaçsatırvekaçsütundanoluştuğunubirtupleolarakverir.

dataframe.size

#dataframeiniçerisindekaçtanekayıtolduğunugösterir.

len(dataframe)

#satırsayısınıöğrenmemizisağlar.

dataframe.columns

#kolonisimlerinigörmemizisağlar.

dataframe['Hired']

#sadece'Hired'kolonubilgilerinigörmemizisağlar.

dataframe['Hired'][5]

#Hiredın5.indisindakiverigösterir.

dataframe[['Hired','Employed?']]

#birdenfazlasütunuaynıandaçekmemizisağlar.

dataframe.sort_values(['YearsExperience'])

#verileri'YearsExperience'önceliklisıralamamızısağlar.Varsayılanolarak

#küçüktenbüyüğesıralar.

egitimDuzeyi=dataframe['LevelofEducation'].value_counts()

#'LevelofEducation'kolonunasahipkişilerinverilerinibirleştirir.

egitimDuzeyi.plot(kind='bar')

#egitimDuzeyiverilerindengrafikoluşturmamızısağlar.

Soru

Yalnızca"PreviousEmployers"ve"Hired"sütunlarını,dataframeimizin5-10satırlarınısaçin.BunuyenibirDataframe'eatayınveverilerinbualtkümesindekiPreviousEmployerslarındağılımınıgösterenbirhistogramoluşturun.

VeriTipleri

NumericalNümerikverilerDiscreteveContinuousolmaküzereikiyeayrılır.DicreteData(Ayrıkveri)

Tamsayıtabanlıdır.Genelliklebirolayıngerçekleşmesayısıgibidurumlarifadeedilir.(Birmüşteriyıldakaçdefaalışverisyaptı.)

ContinuousData(SürekliVeri)Butipverilerölçümlebelirlenmişdeğerlerdir.Gerektamsayıgereksevirgüllüsayılarolabilir.Yanisayıdoğrusuüzerindekitümdeğerlerialabilirler.(Birokuldakiöğrencilerinkilolarınedir?)

CategoricalData(KategorikVeri)CinsiyetiIrk,Ürünkategorisivb.

OrdianData(OrdinalVeri)Ordinalverilerdeyinekategorikveritüründendir.Fakatdeğerleriarasındasıralıbirilişkibulunmaktadır.(Filmratingleri,Müşteriüründeğerlendirmelerivb.)

ÖrnekSorularTankınızdanekadargazvar?(Continuous)Hastanehizmetineverdiğinizpuan?1kötü,2orta,3iyi,4çokiyi(Ordinal)Sınıtakiöğrencilerinyaşadıklarıiller(Categorical)Sınıftakiöğrencilerinyaşları.(Discrete)Alışverişmerkezindeharcananpara(Continuous)

Categorical

Mean,Medianvemode

Mean

verilerinaritmetikortalamsıdır.

importpandasaspd

importnumpyasnp

veri=[1,2,3,4,5,6,7,8,9,10]

np.mean(veri)

rastgeleveriüretmekistersekaşağıdakigibiyapabiliriz.

importpandasaspd

importnumpyasnp

importmathplotlib.pyplotasplot

gelirler=np.random.normal(3000,1500,10000)

#Normaldağılımasahiportalamadeğer,Standartsapma,10000değerüret

np.mean(gelirler)

plot.hist(gelirler,50)

#gelirlerverilerini50aralığaayırdemek.

Histogram

Gruplandırılmışbirveridağılımınınsütungrafiğiilegösteriminehistogramadıverilir.

Histogramoluşturma

1. Öncelikleverilerküçüktenbüyüğesıralanır.2. Verigrubununaçıklığı(aralığı)bulunur.Açıklıkenbüyükveridenenküçükverininçıkarılması

ilebulunur.3. Verilerinkaçgrubaayrılacağıbelirlenir.4. Grupgenişliğibulunur.Açıklıkdeğeriningrupsayısınabölünmesiyleeldeedilensayıdan

büyükenküçükdoğalsayıgrupgenişliğiolarakalınır.5. Verilerenküçükveridenbaşlayarakverigenişliğinegöregruplaraayrılır.6. Oluşturulangruplarvegruplardakiverisayılarıtablohalindedüzenlenir.7. Tabloyabakılılarakhistogramçizilir.

Örnekhistogramçizimi:

Veriler:

162,161,170,167,170,173,163,176,174,180,179,164,169,175,177,185,

169,172,180,175,168,163,172,172,169,173,170,171,168,166,167,170.

1)Öncelikleriverilerküçüktenbüyüğesıraladık.

161,162,163,163,164,166,167,167,168,168,169,169,169,170,170,170,

170,171,172,172,172,173,173,174,175,175,176,177,179,180,180,185

2)Verigrubununaçıklığınıbulduk.

185–161=24

3)Verilerinkaçgrubaayrılacağıbelirledik.Grupsayımız5olsun

4)Grupgenişliğinibulduk.24:5=4,8olupbusayıdanbüyükenküçükdoğalsayı5'tir.

Verilerigrupgenişliğinegöregruplaraayırdık.Verilerdekienküçüksayıdanbaşlayarakgrupgenişliğikadarsayıilerleyerekbirgrupyapıyoruz.Buradakisayılarınverilerarasındaolmazorunluluğuyok.161-162-163-164-165gibi5taneveriyi161-165şeklindeyazıyoruz.Ohaldegruplarımız:161-165,166-170,171-175,176-180,181-185

5)Gruplarımızıveogruplardakiverisayılarınıtablohalindedüzenledik.

Gruplar Kişisayısı

161-165 5

166-170 12

171-175 9

176-180 5

181-185 1

Outlier(Aşırıdeğer)

Birverianaliziyapılırkenverilerinnormaldağılımauygunolduğudüşünülür.

Veriler,ortalama>=-3*Standartsapmaveortalama<=3*Standartsapmaaralığıiçerisindeolmalıdır.BuaralığındışındabulunandeğerlerOutlierdeğerlerdir.Outlierdeğerlersilinmezsedoğrusonucaulaşılamaz.Buverilerinsilinmesigerekmektedir.

Mod

Birsayısaldeğeriçerisindeençoktekraredendeğeredenir.

fromscipyimportstats

yaslar=np.random.randint(18,high=90,size=500)

#Rastgeleyaşdeğerinesahip500tanedeğeroluşturur.

stats.mode(yaslar)

#verilenyaşlarınençoktekraredeninibulur.

Median

Birsayısaldeğersıralandığındaortadakisayıyıverir.Eğerstandartsapmaçokyükseksemedyançokönemlidir.Çünküortalamaistediğimizsonucuvermeyecektir.Buradamedyandeğerlerinegöreişlemyapılır.Buyğzdenveriyidüzgünincelemekgerekmektedir.

np.median(yaslar)

top related