Reja: k-means algoritmi nima? k-means algoritmining asosiy xususiyatlari nima? k-means algoritmi ishlayotgan bosqichlar nima?
Algoritmning ishlash jarayoni quyidagicha
Download 17.72 Kb.
|
Bahrom
Algoritmning ishlash jarayoni quyidagicha:
1. Birinchi navbatda, K guruhlar tasavvur etiladi. K odatda random tanlanadi, lekin foydali natijalar uchun, ularni ma'lumotlar to'plamlarining alohida joylashgan qismini yaxshi bilgan holda tanlash mumkin. 2. Keyingi navbatda, har bir ma'lumot to'plamidagi har bir nuktadan eng yaqin guruh tanlanadi. Bu markaziy nuqtalar, guruhlar markaziy nuqtalari deb ataladi. 3. Keyingi navbatda, har bir guruhning o'rtacha markaziy nuqtasi aniqlanadi. Bu markaziy nuqta, guruhning quyidagi guruhlash jarayonida markaziy nuqta sifatida ishlatiladi. 4. Keyingi navbatda, har bir ma'lumot to'plamidagi har bir nuktadan eng yaqin guruhning markaziy nuqtasi aniqlanadi. Bu jarayon, guruhlash jarayonida katta hissa ko'pincha bajariladi. 5. 2-4 qadam odatda davom ettiriladi, to'ki K guruhning markaziy nuqtalari o'zgaradigan holda, har bir ma'lumot to'plamidagi har bir nuktadan eng yaqin guruh tanlanadi. 6. Algoritm to'xtatiladi, katta hissa ko'pincha bajarilgan jarayon bilan K guruh tuziladi. Guruhlar o'rtacha markaziy nuqtalari yordamida aniqlanadi. K-Means algoritmi, ma'lumotlar to'plamlarini bir nechta guruhga bo'lishda yaxshi natijalar beradi. Ushbu algoritm, ma'lumotlar to'plamlarini guruhlash uchun eng kuchli algoritmlardan biri hisoblanadi va turli sohalarda ishlatiladi. 7. K-Means algoritmi, guruhlarga qarab ma'lumotlarning tahlilini va aniqlashini osonlashtiradi. Bu guruhlar, turli turdagi xususiyatlarga ega bo'lgan ma'lumotlarni bir-biridan ajratishni osonlashtiradi. 8. Algoritmning katta yoki kichik K qiymatlari uchun optimal qiymatni aniqlash uchun bir nechta usullar mavjud. Bu usullar orasida, siluet koeffitsienti, elbow usuli va gap statistikasi kabi qo'llanilgan. 9. K-Means algoritmi, ko'plab ko'rsatkichlarga ega bo'lgan muammolar uchun yechim topishda yordam beradi. Masalan, algoritm, qanchalik eng yaxshi natijalar berish uchun K qiymatini aniqlashda yordam beradi. 10. K-Means algoritmi, odatda qulay va oson foydalanish uchun murakkablik darajasi past bo'lgan malumotlar uchun ishlatiladi. Bu malumotlar misol uchun, onlayn mijozlar to'plamlari, tadbirkorlik statistikasi va boshqalar kabi bo'lishi mumkin. K-Means algoritmi, ma'lumotlarni guruhlash uchun eng kuchli algoritmlardan biri hisoblanadi. Ushbu algoritm, turli sohalarda ishlatiladi va bir nechta guruhlar yaratishda osonlik va samaradorlik ko'rsatadi. 11. K-Means algoritmi, ma'lumotlar to'plamlaridagi ayrim yo'nalishlarni aniqlashda yordam beradi. Bu yo'nalishlar, ma'lumotlarning turli turdagi xususiyatlarini aniqlash uchun qo'llaniladi. 12. Algoritm, turli sektorlarda qo'llaniladi, masalan, marketingda mijozlar to'plamlarini guruhlashda, tadbirkorlikda xaridorlarni bo'lgan guruhlarga ayrishtirishda va boshqa sohalarda. 13. K-Means algoritmi, katta miqdordagi malumotlar bilan ishlashda qulaylik ko'rsatadi. Ushbu algoritm, odatda kompyuter tizimlari orqali, malumotlarni ishlab chiqish va to'play oluvchilar uchun qulay. 14. Ma'lumotlar to'plamlarini tahlil qilish uchun boshqa algoritmlar ham mavjud, masalan, hierarchical clustering va DBSCAN kabi. K-Means algoritmi esa, oson ishga tushirilishi va yuqori natijalar ko'rsatishi sababli, qo'llanilishda ko'p ishlatiladi. 15. K-Means algoritmi, ayrim yo'nalishlar tahlilini amalga oshirishda, turli dasturiy tillar orqali amalga oshiriladi, masalan, Python, R va Matlab kabi. K-Means algoritmi, ma'lumotlar to'plamlarini bir nechta guruhga bo'lishda o'z-o'zidan aniqlanadigan markaziy nuqtalarga qarab quriladi. Ushbu algoritm, ko'plab sohalarda, masalan, marketing, tadbirkorlik, tibbiyot va boshqa sohalarda yuqori natijalar ko'rsatadi. import pandas as pd from sklearn.datasets import fetch_covtype from sklearn.neighbors import KNeighborsRegressor from sklearn.model_selection import train_test_split from sklearn.metrics import mean_squared_error # Load the Forest Covertype dataset covtype = fetch_covtype(as_frame=True) # Split the dataset into training and testing sets X_train, X_test, y_train, y_test = train_test_split(covtype.data, covtype.target, test_size=0.3, random_state=42) # Create a KNN regressor object and fit it to the training data knn = KNeighborsRegressor(n_neighbors=5) knn.fit(X_train, y_train) # Use the trained KNN model to make predictions on the test set y_pred = knn.predict(X_test) # Calculate the mean squared error of the KNN model mse = mean_squared_error(y_test, y_pred) print(f"Mean Squared Error: {mse}") import matplotlib matplotlib.use('TkAgg') import pandas as pd from sklearn.datasets import load_diabetes from sklearn.model_selection import train_test_split from sklearn.neighbors import KNeighborsClassifier from sklearn.metrics import confusion_matrix from sklearn.metrics import classification_report from matplotlib import pyplot as plt diabetes = load_diabetes() df = pd.DataFrame(diabetes.data, columns=diabetes.feature_names) df['target'] = diabetes.target #print(df.shape) #print(df.head()) plt.xlabel('Age') plt.ylabel('BMI') plt.scatter(df['age'], df['bmi'], color = 'green', marker = '*') plt.show() plt.xlabel('Age') plt.ylabel('Target') plt.scatter(df['age'], df['target'], color = 'red', marker = '^') plt.show() x = df.drop(['target'], axis = 'columns') y = df.target x_train, x_test, y_train, y_test = train_test_split(x,y, test_size=0.3, random_state=1) print(len(x_train))
knn = KNeighborsClassifier(n_neighbors=5) knn.fit(x_train, y_train) baxo = knn.score(x_test,y_test) print(baxo) y_pred = knn.predict(x_test) cm = confusion_matrix(y_test, y_pred) print(classification_report(y_test,y_pred)) import matplotlib matplotlib.use('TkAgg') import pandas as pd from sklearn.datasets import load_boston from sklearn.model_selection import train_test_split from sklearn.neighbors import KNeighborsRegressor from sklearn.metrics import mean_squared_error from matplotlib import pyplot as plt boston = load_boston() #print(boston) #print(boston.feature_names) df = pd.DataFrame(boston.data, columns=boston.feature_names) #print(df.head()) df['target'] = boston.target #print(df.head()) #print(df.shape) #print(df[df.target==1].head()) df0 = df[:100] df1 = df[100:] plt.xlabel('RM') plt.ylabel('target') plt.scatter(df0['RM'], df0['target'], color = 'green', marker = '*') plt.scatter(df1['RM'], df1['target'], color = 'red', marker = '^') plt.legend() plt.show() x = df.drop(['target'], axis = 'columns') y = df.target x_train, x_test, y_train, y_test = train_test_split(x,y, test_size=0.3, random_state=1) print(len(x_train)) print(len(x_test)) knn = KNeighborsRegressor(n_neighbors=5) knn.fit(x_train, y_train) baxo = knn.score(x_test,y_test) print(baxo) y_pred = knn.predict(x_test) mse = mean_squared_error(y_test, y_pred) print('Mean Squared Error:',mse) Download 17.72 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling