Python ile Veri Bilimi (Data Science)

Posew7

Üye
29 Eki 2018
51
3
Veri Bilimi Nedir
Yapılanmış ve yapılandırılmamış verileri analiz etmek ve bilgi sahibi olmak için bilimsel yöntemleri, süreçleri, algoritmayı ve sistemleri kullanmaktır.

Python ile Veri Bilimi
Numpy, Pandas, Matplotlib, Scikit-learn kütüphanelerini kullanarak çok daha basit kodlarla veriler analiz edilebilir.



Numpy (Numerical Python) : Bilimsel hesaplamaları daha hızlı şekilde yapılmasını sağlayan matematik kütüphanesidir.


--> numpy kütüphanesini import etmek için
Kod:
import numpy as np
--> np.array() = dizi oluşturmak için kullanılır
Kod:
dizi = np.array([1,2,3,4,5,6,7])
--> shape = dizinin kaç boyutlu olduğunu gösterir
Kod:
print(dizi.shape)

#output

(1, 7)
--> reshape() = dizinin boyutunu değiştirmek için kullanılır
Kod:
dizi.reshape(7,1)
--> T = dizinin transpozunu almak için kullanılır
Kod:
dizi.T
--> arange() = belirlenen değerlerde dizi üretir
Kod:
np.arange(0,50,5)   # 0'dan 50'ye 5'er 5'er
--> sum() = dizi içindeki değerleri toplar
Kod:
dizi.sum()
--> max() = dizi içindeki maksimum değeri verir
Kod:
dizi.max()
--> min() = dizi içindeki minimum değeri verir
Kod:
dizi.min()
--> zeros() = 0'lardan oluşan dizi üretir
Kod:
np.zeros(3,4)   # 3'e 4'lük matris

#output

array([[0., 0., 0., 0.],
       [0., 0., 0., 0.],
       [0., 0., 0., 0.]])
--> ones() = 1'lerden oluşan dizi üretir
Kod:
np.ones(3,4)

# output

array([[1., 1., 1., 1.],
       [1., 1., 1., 1.],
       [1., 1., 1., 1.]])



Pandas : Kolay kullanımlı, yüksek performanslı, veri yapıları ve analizleri sağlayan kütüphanedir.


--> pandas kütüphanesini import etmek için
Kod:
import pandas as pd
--> DataFrame() = dictionary bir yapıyı dataframe yapmak için kullanılır
Kod:
data = pd.DataFrame(dict)


--> head() = datanın ilk 5 satırını verir
Kod:
data.head()
--> columns() = datanın kolonlarını verir
Kod:
data.columns()
--> info() = data hakkında bilgiler verir (kolon veri tipleri, adetleri, boyutu)
Kod:
data.info()


--> describe() = data hakkında istatiksel bilgiler verir (max,min,ort değer, mod, medyan)
Kod:
data.describe()


--> corr() = veriler arasındaki korelasyonu gösterir
Kod:
data.corr()




Matplotlib : Data ile 2 boyutlu grafikler hazırlamak için kullanılan kütüphanedir.



--> matplotlib kütüphanesini import etmek için
Kod:
import matplotlib.pyplot as plt
Line Plot



Scatter Plot



Hist Plot



Bar Plot





Scikit-Learn : Yapay öğrenme alanında en yaygın kullanılan, doğrusal regresyon, lojistik regresyon, karar ağaçları, rastgele orman gibi birçok temel yöntemi içeren bu kütüphane.


Lineer Regression



Polynomial Regression



Decision Tree



Random Forest



Makine öğrenmesi kendi içinde ikiye ayrılmaktadır. Supervised Learning ve Unsupervised Learning

Peki nedir bunlar ?

Supervised Learning
Sahip olduğumuz verilerin belli bir kategori, düzen ya da sınıf olarak ayrılmış halidir.

Unsupervised Learning
Sahip olduğumuz verilerin belli bir kategori, düzen ya da sınıf olarak ayrılmamış halidir. (Gerçek hayatta da çoğunlukla bu tip veri ile karşılarız)

Örnek olarak da bu verilere bakabiliriz


KNeighbors Classifier
Makinenin veriyi en iyi öğreneceği konumu bulmak için KNN algoritması kullanılabilir.​


Kod:
score_list = []
from sklearn.neighbors import KNeighborsClassifier

for i in range(1,21):
    knn2 = KNeighborsClassifier(n_neighbors=i)
    knn2.fit(x_train, y_train)
    score_list.append(knn2.score(x_test, y_test))

plt.plot(range(1,21),score_list)
plt.xlabel("k values")
plt.ylabel("accuracy")
plt.show()


Grafiğe bakarak maksimum olduğu yerler bizim konumumuz olmaktadır. n_neighbors = 6,7,8,11 olabilir

KMeans​
unsupervised durumu, supervised yapmak için kullanılan yöntemlerden biridir.


Kod:
from sklearn.cluster import KMeans

wcss = []
for k in range(1,15):
    kmeans = KMeans(n_clusters=k)
    kmeans.fit(data)
    wcss.append(kmeans.inertia_)

plt.plot(range(1,15), wcss)
plt.show()



Grafiğin keskin olarak kırıldığı nokta, bizim unsupervised verimizin en uygun şekilde kaç parçaya ya da bölüme ayrılacağını söylediği noktadır. n_cluster = 3 olur

 
Son düzenleme:
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.