[]
K-Means Dataset
SPSS Modeler'da k means çalışmak için basit dataset arıyorum. Kaggle'a falan biraz baktım ama içinden çıkamadım. Var mıdır bir yardım eli?
Teşekkürler..
Teşekkürler..
Ben 2012 yılında tezimi bu yöntem üzerine yazmıştım. Kdcup diye bir yarışma vardı. Onlar dataset sağlıyordu. Bir bak istersen.
- prole (13.05.21 17:13:00)
Python'da şu kodu çalıştır:
import pandas as pd
from sklearn.datasets import make_blobs
X, y = make_blobs(n_samples=100, centers=3, n_features=2, random_state=0)
X,y = pd.DataFrame(X), pd.DataFrame(y)
X.to_csv('kmeans_data.csv', index=False)
y.to_csv('kmans_labels.csv', index=False)
Burada centers dediğimiz şey kaç tane cluster olduğu. Yani kmeans'te bulmak istediğin k sayısı. n_features dediğimiz datanın kaç boyutlu uzayda yer aldığı. n_samples dediğimiz kaç tane data noktası var. İstersen n_samples=100 yerine n_samples=[20,30,50] yazarsın, böylece birinci ikinci ve üçüncü cluster'da 20,30,50 eleman olacak şekilde ayarlamış olursun.
Sen spss'te kmeans_data.csv üzerinden çalışacaksın, doğru yapıp yapmadığını kmeans_labels.csv üzerinden test edeceksin. Bunu python üzerinden test etmek istersen kendi spss'te bulduğun label'ları mylabels.csv dosyasına yaz. Sonra:
from sklearn.metrics.cluster import homogeneity_score
mylabels = pd.read_csv('mylabels.csv', index=False)
print(homogeneity_score(y.tolist(), mylabels.tolist()))
bu sana ne kadar doğru yaptığını söyleyecek.
import pandas as pd
from sklearn.datasets import make_blobs
X, y = make_blobs(n_samples=100, centers=3, n_features=2, random_state=0)
X,y = pd.DataFrame(X), pd.DataFrame(y)
X.to_csv('kmeans_data.csv', index=False)
y.to_csv('kmans_labels.csv', index=False)
Burada centers dediğimiz şey kaç tane cluster olduğu. Yani kmeans'te bulmak istediğin k sayısı. n_features dediğimiz datanın kaç boyutlu uzayda yer aldığı. n_samples dediğimiz kaç tane data noktası var. İstersen n_samples=100 yerine n_samples=[20,30,50] yazarsın, böylece birinci ikinci ve üçüncü cluster'da 20,30,50 eleman olacak şekilde ayarlamış olursun.
Sen spss'te kmeans_data.csv üzerinden çalışacaksın, doğru yapıp yapmadığını kmeans_labels.csv üzerinden test edeceksin. Bunu python üzerinden test etmek istersen kendi spss'te bulduğun label'ları mylabels.csv dosyasına yaz. Sonra:
from sklearn.metrics.cluster import homogeneity_score
mylabels = pd.read_csv('mylabels.csv', index=False)
print(homogeneity_score(y.tolist(), mylabels.tolist()))
bu sana ne kadar doğru yaptığını söyleyecek.
- benaaymi (13.05.21 18:23:39)
1