البرمجة

تحويل بيانات PySpark إلى مصفوفة متغيرات وهمية

في مجال تحليل البيانات والبرمجة باستخدام لغة Python، يعتبر PySpark أحد أهم الأدوات المستخدمة لمعالجة وتحليل البيانات الكبيرة على منصة Apache Spark. إذا كنت ترغب في إنشاء مصفوفة مع متغيرات وهمية باستخدام PySpark، فيجب عليك اتباع بعض الخطوات.

أولاً وقبل كل شيء، يجب عليك استيراد المكتبات الضرورية وإعداد البيئة. يمكنك القيام بذلك باستخدام الكود التالي:

python
from pyspark.sql import SparkSession from pyspark.ml.feature import OneHotEncoder, StringIndexer from pyspark.ml import Pipeline

بعد ذلك، يمكنك إنشاء جلسة Spark باستخدام الكود التالي:

python
spark = SparkSession.builder.appName("dummy_variables").getOrCreate()

الخطوة التالية هي قراءة البيانات من مصدرك. يفترض في هذا السياق أن لديك إطار بيانات يحتوي على الأعمدة “ID” و “Text”. يمكنك استخدام الكود التالي لقراءة البيانات:

python
data = [(1, "a"), (2, "b"), (3, "c")] columns = ["ID", "Text"] df = spark.createDataFrame(data, columns)

بعد ذلك، يجب تحويل الأعمدة النصية إلى أرقام باستخدام StringIndexer. يمكنك القيام بذلك بهذا الشكل:

python
indexer = StringIndexer(inputCol="Text", outputCol="TextIndex") indexed = indexer.fit(df).transform(df)

ثم، يجب استخدام OneHotEncoder لتحويل الأعمدة المؤشرة إلى مصفوفة متغيرات وهمية. يمكن تحقيق ذلك كما يلي:

python
encoder = OneHotEncoder(inputCol="TextIndex", outputCol="TextVector") encoded = encoder.transform(indexed)

أخيرًا، يمكنك اختيار الأعمدة الناتجة وإنشاء الجدول النهائي المطلوب. في هذه الحالة، يمكنك استخدام الكود التالي:

python
result = encoded.select("ID", "TextVector") result.show()

هذا يعرض لك النتيجة المرجوة، حيث تظهر القيم الوهمية لكل قيمة في عمود “Text”. باستخدام هذه الخطوات، يمكنك إنشاء مصفوفة مع متغيرات وهمية باستخدام مكتبة PySpark بطريقة فعالة ومنظمة.

المزيد من المعلومات

بالطبع، دعنا نقوم بتوسيع المعلومات حول العملية والخطوات المستخدمة في إنشاء مصفوفة مع متغيرات وهمية باستخدام PySpark.

بعد تحويل الأعمدة النصية إلى أرقام باستخدام StringIndexer، يتم استخدام OneHotEncoder لتحويل الأعمدة المؤشرة إلى مصفوفة متغيرات وهمية. يجب أن تكون هذه الخطوة مدرجة ضمن سلسلة التحويلات باستخدام Pipeline، الذي يسمح بتنظيم وتنفيذ سلسلة من المراحل بشكل متتالي. الكود يمكن أن يكون كما يلي:

python
from pyspark.ml import Pipeline indexer = StringIndexer(inputCol="Text", outputCol="TextIndex") encoder = OneHotEncoder(inputCol="TextIndex", outputCol="TextVector") pipeline = Pipeline(stages=[indexer, encoder]) model = pipeline.fit(df) result = model.transform(df) result.select("ID", "TextVector").show()

في هذا المثال، تم دمج StringIndexer و OneHotEncoder في pipeline وتم تنفيذهما معًا. هذا يحسن التنظيم ويجعل العملية أكثر كفاءة.

هناك أيضًا إمكانية إضافة المزيد من المعالجة والتحسينات حسب الحاجة، مثل التعامل مع القيم المفقودة أو تحسين تنسيق الإخراج. يمكنك استكشاف ميزات أخرى في PySpark وتكاملها مع العديد من المكتبات الأخرى المفيدة لتحسين وتوسيع عملية تحليل البيانات الخاصة بك.

هذه الخطوات توفر أساسًا قويًا لتحويل البيانات إلى صيغة مناسبة لتحليل البيانات باستخدام مصفوفة متغيرات وهمية، مما يسهل استخدامها في العديد من النماذج التحليلية والتعلم الآلي.

زر الذهاب إلى الأعلى