Skip to content

new #4

@radw1551-cell

Description

@radw1551-cell

مشروع تجميع بيانات باستخدام scikit-learn

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
from sklearn.datasets import make_blobs

1. إنشاء بيانات وهمية للتدريب

print("🔹 جاري إنشاء بيانات تجريبية...")
X, y_true = make_blobs(
n_samples=500, # 500 نقطة بيانات
centers=4, # 4 مجموعات
cluster_std=0.6, # درجة تشتت البيانات
random_state=42
)

2. تطبيق خوارزمية K-Means

print("🔹 جاري تطبيق خوارزمية التجميع...")
kmeans = KMeans(n_clusters=4, random_state=42)
kmeans.fit(X)
y_pred = kmeans.labels_

3. عرض النتائج

print("🔹 جاري رسم النتائج...")
plt.figure(figsize=(10, 6))

رسم البيانات الحقيقية

plt.subplot(1, 2, 1)
plt.scatter(X[:, 0], X[:, 1], c=y_true, cmap='viridis', s=50, alpha=0.7)
plt.title('التجميع الحقيقي')
plt.xlabel('الميزة 1')
plt.ylabel('الميزة 2')

رسم نتائج K-Means

plt.subplot(1, 2, 2)
plt.scatter(X[:, 0], X[:, 1], c=y_pred, cmap='viridis', s=50, alpha=0.7)
plt.scatter(kmeans.cluster_centers_[:, 0],
kmeans.cluster_centers_[:, 1],
s=300, c='red', marker='X', label='مراكز المجموعات')
plt.title('نتائج K-Means')
plt.xlabel('الميزة 1')
plt.ylabel('الميزة 2')
plt.legend()

plt.tight_layout()
plt.savefig('النتائج.png', dpi=300)
plt.show()

4. عرض إحصائيات

print("\n" + "="*50)
print("✅ تم تنفيذ المشروع بنجاح!")
print("="*50)
print(f"📊 عدد نقاط البيانات: {len(X)}")
print(f"🎯 عدد المجموعات المحددة: {len(np.unique(y_pred))}")
print(f"📍 مراكز المجموعات:\n{kmeans.cluster_centers_}")
print(f"📉 قيمة التباين الداخلي: {kmeans.inertia_:.2f}")
print("="*50)

5. حفظ النتائج كملف CSV

df = pd.DataFrame({
'الميزة_1': X[:, 0],
'الميزة_2': X[:, 1],
'المجموعة_الحقيقية': y_true,
'المجموعة_المتوقعة': y_pred
})
df.to_csv('البيانات_المجمعة.csv', index=False, encoding='utf-8-sig')
print("💾 تم حفظ البيانات في: 'البيانات_المجمعة.csv'")

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions