স্পার্ক এমএলিব - অ্যাপাচি স্পার্কের মেশিন লার্নিং লাইব্রেরি



এই স্পার্ক এমএলিব ব্লগটি আপনাকে অ্যাপাচি স্পার্কের মেশিন লার্নিং লাইব্রেরির সাথে পরিচয় করিয়ে দেবে। এতে স্পার্ক এমএলিব ব্যবহার করে একটি মুভি সুপারিশ সিস্টেম প্রকল্প অন্তর্ভুক্ত রয়েছে।

স্পার্ক এমএলিব অ্যাপাচি স্পার্কের মেশিন লার্নিং উপাদান।স্পার্কের অন্যতম প্রধান আকর্ষণ হ'ল ব্যাপকভাবে গণনা স্কেল করার ক্ষমতা এবং মেশিন লার্নিং অ্যালগরিদমগুলির জন্য আপনার ঠিক এটি প্রয়োজন। তবে সীমাবদ্ধতাটি হ'ল সমস্ত মেশিন লার্নিং অ্যালগরিদম কার্যকরভাবে সমান্তরাল করা যায় না। সমান্তরালকরণের জন্য প্রতিটি অ্যালগরিদমের নিজস্ব চ্যালেঞ্জ রয়েছে, এটি কার্য সমান্তরালতা বা ডেটা সমান্তরালতা হোক।

কেবলমাত্র তাদের ফেরতের প্রকারের মধ্যে পৃথক ফাংশনগুলি ওভারলোড করা যাবে না

এই কথাটি বলে, স্পার্ক মেশিন লার্নিং অ্যালগরিদম এবং অ্যাপ্লিকেশন তৈরির ডি-ফ্যাক্টো প্ল্যাটফর্ম হয়ে উঠছে।ঠিক আছে, আপনি পরীক্ষা করে দেখতে পারেন ব্লগটি নিয়ে এগিয়ে যাওয়ার আগে শিল্প বিশেষজ্ঞদের দ্বারা সজ্জিত।স্পার্ক এমএলিবের সাথে কাজ করা বিকাশকারীরা স্পার্ক ফ্রেমওয়ার্কে একটি পরিমাপযোগ্য এবং সংক্ষিপ্ত পদ্ধতিতে আরও বেশি বেশি মেশিন অ্যালগোরিদম প্রয়োগ করছে। এই ব্লগের মাধ্যমে আমরা মেশিন লার্নিং, স্পার্ক এমএল্লিব, এর ইউটিলিটিস, অ্যালগরিদম এবং মুভি সুপারিশ সিস্টেমের একটি সম্পূর্ণ ব্যবহারের ক্ষেত্রে ধারণাগুলি শিখব।





নিম্নলিখিত বিষয়গুলি এই ব্লগে কভার করা হবে:

  1. মেশিন লার্নিং কী?
  2. এমআললিব ওভারভিউ স্পার্ক করুন
  3. MLlib সরঞ্জাম স্পার্ক করুন
  4. এমএলিব আলগোরিদিম
  5. কেস ব্যবহার করুন - মুভি সুপারিশ সিস্টেম

মেশিন লার্নিং কী?

কৃত্রিম বুদ্ধিমত্তায় প্যাটার্ন স্বীকৃতি এবং কম্পিউটেশনাল লার্নিং থিয়োরির অধ্যয়ন থেকে উদ্ভূত, মেশিন লার্নিং অ্যালগরিদমগুলির গবেষণা এবং নির্মাণের সন্ধান করে যা ডেটা থেকে শিখতে এবং ভবিষ্যদ্বাণী করতে পারে - এই জাতীয় অ্যালগরিদমগুলি ডেটা-চালিত ভবিষ্যদ্বাণী বা সিদ্ধান্ত গ্রহণের মাধ্যমে কঠোরভাবে স্থির প্রোগ্রামের নির্দেশাবলী অনুসরণ করে , নমুনা ইনপুট থেকে একটি মডেল নির্মাণের মাধ্যমে।



মেশিন লার্নিং - স্পার্ক এমএলিব - এডুরেকা চিত্র: যন্ত্র শেখার সরঞ্জাম

মেশিন লার্নিং কম্পিউটারের পরিসংখ্যানের সাথে ঘনিষ্ঠভাবে সম্পর্কিত, যা কম্পিউটার ব্যবহারের মাধ্যমে ভবিষ্যদ্বাণী তৈরিতেও মনোনিবেশ করে। এর গাণিতিক অপ্টিমাইজেশনের সাথে দৃ strong় সম্পর্ক রয়েছে, যা ক্ষেত্রটিতে পদ্ধতি, তত্ত্ব এবং অ্যাপ্লিকেশন ডোমেন সরবরাহ করে। ডেটা অ্যানালিটিক্সের ক্ষেত্রে, মেশিন লার্নিং এমন একটি পদ্ধতি যা জটিল মডেলগুলি এবং অ্যালগরিদমগুলি তৈরি করার জন্য ব্যবহৃত হয় যা নিজেকে ভবিষ্যদ্বাণীমূলক বিশ্লেষণ হিসাবে পরিচিত হিসাবে পরিচিত হিসাবে পূর্বাভাস দেয় to

মেশিন লার্নিংয়ের তিনটি বিভাগ রয়েছে:



  1. তত্ত্বাবধানে পড়াশোনা : তত্ত্বাবধানে শেখা হল যেখানে আপনার ইনপুট ভেরিয়েবল (এক্স) এবং একটি আউটপুট ভেরিয়েবল (ওয়াই) থাকে এবং আপনি ইনপুট থেকে আউটপুটে ম্যাপিং ফাংশন শিখতে একটি অ্যালগরিদম ব্যবহার করেন।
  2. নিরীক্ষণশিক্ষা : আনসুপভাইজড লার্নিং হ'ল এক ধরণের মেশিন লার্নিং অ্যালগরিদম যা লেবেলযুক্ত প্রতিক্রিয়া ছাড়াই ইনপুট ডেটা সমন্বিত ডেটাসেট থেকে সূচনা আঁকতে ব্যবহৃত হয়।
  3. শক্তিবৃদ্ধি শেখা : একটি কম্পিউটার প্রোগ্রাম একটি গতিশীল পরিবেশের সাথে যোগাযোগ করে যাতে এটি অবশ্যই একটি নির্দিষ্ট লক্ষ্য সম্পাদন করে (যেমন কোনও গাড়ি চালানো বা প্রতিপক্ষের বিরুদ্ধে কোনও খেলা খেলতে)। প্রোগ্রামটি এর সমস্যার স্থানটি নেভিগেট করার সাথে সাথে পুরষ্কার এবং শাস্তির ক্ষেত্রে প্রতিক্রিয়া সরবরাহ করা হয়।এই ধারণাটিকে রিইনফোর্সমেন্ট লার্নিং বলা হয়।

এমআললিব ওভারভিউ স্পার্ক করুন

স্পার্ক এমএল্লিব অ্যাপাচি স্পার্কে মেশিন লার্নিং সম্পাদন করতে ব্যবহৃত হয়। এমএলিবিতে জনপ্রিয় অ্যালগরিদম এবং ইউটিলিটি রয়েছে।

এমএলিব সংক্ষিপ্ত বিবরণ:

  • spark.mllib আরডিডি এর উপরে নির্মিত মূল এপিআই থাকে। এটি বর্তমানে রক্ষণাবেক্ষণ মোডে রয়েছে।
  • spark.ML এর জন্য ডেটা ফ্রেমের শীর্ষে নির্মিত উচ্চ স্তরের এপিআই সরবরাহ করেএমএল পাইপলাইন নির্মাণ। spark.ML এই মুহুর্তে স্পার্কের জন্য প্রাথমিক মেশিন লার্নিং এপিআই।

MLlib সরঞ্জাম স্পার্ক করুন

স্পার্ক এমএলিব নিম্নলিখিত সরঞ্জামগুলি সরবরাহ করে:

  • এমএল অ্যালগরিদম: এমএল অ্যালগরিদমগুলি এমএলিবের মূল গঠন করে। এর মধ্যে শ্রেণিবিন্যাস, রিগ্রেশন, ক্লাস্টারিং এবং সহযোগী ফিল্টারিংয়ের মতো সাধারণ লার্নিং অ্যালগরিদম অন্তর্ভুক্ত রয়েছে।
  • বৈশিষ্ট্য: বৈশিষ্ট্যযুক্ত বৈশিষ্ট্য নিষ্কাশন, রূপান্তর, মাত্রা হ্রাস এবং নির্বাচন অন্তর্ভুক্ত।
  • পাইপলাইনগুলি: পাইপলাইনগুলি এমএল পাইপলাইনগুলি নির্মাণ, মূল্যায়ন এবং টিউন করার জন্য সরঞ্জাম সরবরাহ করে।
  • অধ্যবসায়: অধ্যবসায় অ্যালগরিদম, মডেল এবং পাইপলাইন সংরক্ষণ এবং লোড করতে সহায়তা করে।
  • উপযোগিতা: উপযোগিতা সমূহলিনিয়ার বীজগণিত, পরিসংখ্যান এবং ডেটা হ্যান্ডলিংয়ের জন্য।

এমএলিব আলগোরিদিম

স্পার্ক এমএলিবের জনপ্রিয় অ্যালগরিদম এবং ইউটিলিটিগুলি হ'ল:

  1. প্রাথমিক পরিসংখ্যান
  2. রিগ্রেশন
  3. শ্রেণিবিন্যাস
  4. প্রস্তাবনা সিস্টেম
  5. ক্লাস্টারিং
  6. মাত্রা হ্রাস
  7. বৈশিষ্ট্য নিষ্কাশন
  8. অপ্টিমাইজেশন

আসুন আমরা এর কয়েকটি বিস্তারিতভাবে দেখি।

প্রাথমিক পরিসংখ্যান

প্রাথমিক পরিসংখ্যান মেশিন শেখার কৌশলগুলির মধ্যে সবচেয়ে বেসিক অন্তর্ভুক্ত। এর মধ্যে রয়েছে:

  1. সংক্ষিপ্ত পরিসংখ্যান : উদাহরণগুলির মধ্যে গড়, বৈকল্পিক, গণনা, সর্বাধিক, মিনিট এবং numNonZeros অন্তর্ভুক্ত রয়েছে।
  2. সংশোধন : স্পিয়ারম্যান এবং পিয়ারসন পারস্পরিক সম্পর্ক খুঁজে পাওয়ার কয়েকটি উপায়।
  3. স্তরযুক্ত নমুনা : এর মধ্যে রয়েছে স্যাম্পলবাইকি এবং স্যাম্পলবাইকি এক্স্যাক্ট।
  4. প্রস্তাব টেস্টিং : পিয়ারসনের চি-স্কোয়ার্ড পরীক্ষা অনুমানের পরীক্ষার উদাহরণ।
  5. এলোমেলো ডেটা জেনারেশন : র্যান্ডমআরডিডি, সাধারণ এবং পোইসন এলোমেলো ডেটা তৈরি করতে ব্যবহৃত হয়।

রিগ্রেশন

রিগ্রেশন ভেরিয়েবলের মধ্যে সম্পর্কের অনুমানের জন্য বিশ্লেষণ একটি পরিসংখ্যান প্রক্রিয়া। এটি নির্ভরশীল ভেরিয়েবল এবং এক বা একাধিক স্বতন্ত্র ভেরিয়েবলের মধ্যে সম্পর্কের দিকে মনোনিবেশ করার সময় বিভিন্ন ভেরিয়েবলকে মডেলিং এবং বিশ্লেষণ করার জন্য অনেক কৌশল অন্তর্ভুক্ত করে। আরও সুনির্দিষ্টভাবে বলা যায় যে রিগ্রেশন বিশ্লেষণ একজনকে স্বতন্ত্র ভেরিয়েবলের বৈকল্পিক যখন অন্য স্বতন্ত্র ভেরিয়েবলগুলি স্থির করে রাখা হয় তখন নির্ভরশীল ভেরিয়েবলের সাধারণ মান কীভাবে পরিবর্তিত হয় তা বুঝতে সহায়তা করে।

রিগ্রেশন বিশ্লেষণ ব্যাপকভাবে পূর্বাভাস এবং পূর্বাভাসের জন্য ব্যবহৃত হয়, যেখানে এর ব্যবহারটি মেশিন লার্নিংয়ের ক্ষেত্রের সাথে যথেষ্ট পরিমাণে ওভারল্যাপ রয়েছে। স্বচ্ছ ভেরিয়েবলগুলির মধ্যে কোনটি নির্ভরশীল ভেরিয়েবলের সাথে সম্পর্কিত এবং এই সম্পর্কের ফর্মগুলি অন্বেষণ করতে রিগ্রেশন বিশ্লেষণও ব্যবহৃত হয়। সীমাবদ্ধ পরিস্থিতিতে, রিগ্রেশন বিশ্লেষণ স্বাধীন এবং নির্ভরশীল ভেরিয়েবলের মধ্যে কার্যকারক সম্পর্ক অনুমান করতে ব্যবহার করা যেতে পারে।

শ্রেণিবিন্যাস

শ্রেণিবিন্যাস কোন শ্রেণীর একটি সেট (উপ-জনসংখ্যা) কোনটি পর্যবেক্ষণ (বা উদাহরণস্বরূপ) যার বিভাগের সদস্যপরিচিত তা সনাক্ত করে এমন একটি প্রশিক্ষণ সংস্থার ভিত্তিতে একটি নতুন পর্যবেক্ষণের অন্তর্ভুক্ত তা চিহ্নিত করার সমস্যা। এটি প্যাটার্ন স্বীকৃতির উদাহরণ is

এখানে একটি উদাহরণ হ'ল 'স্প্যাম' বা 'স্প্যামহীন' ক্লাসে প্রদত্ত ইমেল নির্ধারণ করা বা রোগীর লক্ষণীয় বৈশিষ্ট্যগুলি (লিঙ্গ, রক্তচাপ, উপস্থিতি বা নির্দিষ্ট উপসর্গের অনুপস্থিতি, ইত্যাদি)।

প্রস্তাবনা সিস্টেম

প্রতি সুপারিশ সিস্টেম তথ্য ফিল্টারিং সিস্টেমের একটি সাবক্লাস যা ব্যবহারকারী কোনও আইটেমকে 'রেটিং' বা 'পছন্দসই' ভবিষ্যদ্বাণী করতে চায়। সুপারিশকারী সিস্টেমগুলি সাম্প্রতিক বছরগুলিতে ক্রমবর্ধমান জনপ্রিয় হয়ে উঠেছে এবং চলচ্চিত্র, সংগীত, সংবাদ, বই, গবেষণা নিবন্ধ, অনুসন্ধান অনুসন্ধান, সামাজিক ট্যাগ এবং সাধারণভাবে পণ্য সহ বিভিন্ন ক্ষেত্রে ব্যবহার করা হয়।

সহযোগী এবং বিষয়বস্তু-ভিত্তিক ফিল্টারিং বা ব্যক্তিত্ব-ভিত্তিক পদ্ধতির মাধ্যমে - সুপারিশকারী সিস্টেমগুলি সাধারণত দুটি পদ্ধতির একটিতে সুপারিশগুলির একটি তালিকা উত্পাদন করে।

  1. সহযোগীতামূলক বিশোধন কোনও ব্যবহারকারীর অতীত আচরণ (যেগুলি আগে কিনে নেওয়া বা নির্বাচিত এবং / বা সেই আইটেমগুলিতে সংখ্যক রেটিং দেওয়া হয়) থেকে একইভাবে অন্যান্য ব্যবহারকারীদের দ্বারা নেওয়া একই সিদ্ধান্ত থেকে একটি মডেল তৈরির দিকে এগিয়ে যায়। এই মডেলটি তখন আইটেমগুলি (বা আইটেমগুলির জন্য রেটিং) পূর্বাভাস দিতে ব্যবহার করা হয় যা ব্যবহারকারীর আগ্রহ থাকতে পারে।
  2. সামগ্রী ভিত্তিক ফিল্টারিং অনুরূপ বৈশিষ্ট্যযুক্ত অতিরিক্ত আইটেমগুলির প্রস্তাব দেওয়ার জন্য পদ্ধতির কোনও আইটেমের বিভিন্ন বৈশিষ্ট্যযুক্ত বৈশিষ্ট্য ব্যবহার করে।

আরও, এই পদ্ধতির প্রায়শই হাইব্রিড সুপারিশকারী সিস্টেম হিসাবে সংযুক্ত করা হয়।

ক্লাস্টারিং

ক্লাস্টারিং কোনও সামগ্রীর সেটকে এমনভাবে গোষ্ঠীভুক্ত করার কাজটি হ'ল একই গোষ্ঠীর (ক্লাস্টার নামে পরিচিত) অবজেক্টগুলি অন্য গ্রুপগুলির (গুচ্ছ) এর চেয়ে একে অপরের সাথে বেশি মিল (একরকম বা অন্য কোনওভাবে) থাকে are সুতরাং, এটি অনুসন্ধানের ডেটা মাইনিংয়ের মূল কাজ, এবং মেশিন লার্নিং, প্যাটার্ন স্বীকৃতি, চিত্র বিশ্লেষণ, তথ্য পুনরুদ্ধার, বায়োইনফরম্যাটিক্স, ডেটা সংক্ষেপণ এবং কম্পিউটার গ্রাফিক্স সহ অনেক ক্ষেত্রে ব্যবহৃত স্ট্যাটিস্টিকাল ডেটা বিশ্লেষণের একটি সাধারণ কৌশল।

মাত্রা হ্রাস

মাত্রা হ্রাস মূল ভেরিয়েবলের একটি সেট প্রাপ্তির মাধ্যমে বিবেচনাধীন র্যান্ডম ভেরিয়েবলের সংখ্যা হ্রাস করার প্রক্রিয়া। এটি বৈশিষ্ট্য নির্বাচন এবং বৈশিষ্ট্য নিষ্কাশন মধ্যে বিভক্ত করা যেতে পারে।

  1. বৈশিষ্ট্য নির্বাচন: বৈশিষ্ট্য নির্বাচনটি মূল ভেরিয়েবলগুলির একটি উপসেট সন্ধান করে (এটি বৈশিষ্ট্য বা বৈশিষ্ট্যগুলিও বলা হয়)।
  2. বৈশিষ্ট্য নিষ্কাশন: এটি উচ্চ মাত্রিক স্থানের ডেটাটিকে কম মাত্রার একটি জায়গায় রূপান্তরিত করে। প্রিন্সিপাল কম্পোনেন্ট অ্যানালাইসিস (পিসিএ) এর মতো ডেটা ট্রান্সফরমেশন লিনিয়ার হতে পারে তবে অনেক ননলাইনারি মাত্রিকতা হ্রাস কৌশলও বিদ্যমান।

বৈশিষ্ট্য নিষ্কাশন

বৈশিষ্ট্য নিষ্কাশন পরিমাপ করা তথ্যের প্রাথমিক সেট থেকে শুরু হয় এবং তথ্যবহুল এবং অপ্রয়োজনীয় হওয়ার উদ্দেশ্যে উদ্ভূত মানগুলি (বৈশিষ্ট্যগুলি) তৈরি করে, পরবর্তী শিক্ষাগ্রহণ এবং জেনারালাইজেশন পদক্ষেপের সুবিধার্থে এবং কিছু ক্ষেত্রে উন্নততর মানব ব্যাখ্যার দিকে পরিচালিত করে। এটি মাত্রিকতা হ্রাস সম্পর্কিত।

অপ্টিমাইজেশন

অপ্টিমাইজেশন সেরা নির্বাচনউপলব্ধ বিকল্পের কিছু সেট থেকে উপাদান (কিছু মানদণ্ডের সাথে বিবেচনা করে)

সর্বাধিক সহজ ক্ষেত্রে, একটি অপ্টিমাইজেশান সমস্যাটি কোনও অনুমোদিত সেটের মধ্য থেকে ইনপুট মানগুলি পদ্ধতিগতভাবে চয়ন করে এবং ফাংশনের মান গণনা করে একটি আসল ফাংশনকে সর্বাধিকতর বা হ্রাস করে। অপ্টিমাইজেশন তত্ত্ব এবং অন্যান্য সূত্রগুলির কৌশলগুলির সাধারণীকরণ প্রয়োগিত গণিতের একটি বৃহত অঞ্চল নিয়ে গঠিত। আরও সাধারণভাবে, অপ্টিমাইজেশনে কোনও সংজ্ঞায়িত ডোমেন (বা ইনপুট) প্রদত্ত কিছু উদ্দেশ্যমূলক কার্যের 'সর্বোত্তম উপলব্ধ' মানগুলি অন্তর্ভুক্ত করা হয়,বিভিন্ন ধরণের উদ্দেশ্যমূলক ফাংশন এবং বিভিন্ন ধরণের ডোমেন সহ

কেস ব্যবহার করুন - মুভি সুপারিশ সিস্টেম

সমস্যা বিবৃতি: মুভি সুপারিশ সিস্টেম তৈরি করতে যা অ্যাপাচি স্পার্ক ব্যবহার করে ব্যবহারকারীর পছন্দসই ভিত্তিতে চলচ্চিত্রের প্রস্তাব দেয়।

আমাদের প্রয়োজনীয়তা:

সুতরাং, আসুন আমাদের চলচ্চিত্রের সুপারিশ সিস্টেমটি তৈরি করার প্রয়োজনীয়তাগুলি মূল্যায়ন করুন:

  1. বিপুল পরিমাণে ডেটা প্রক্রিয়া করুন
  2. একাধিক উত্স থেকে ইনপুট
  3. ব্যবহার করা সহজ
  4. দ্রুত প্রক্রিয়াজাতকরণ

যেমন আমরা মূল্যায়ন করতে পারিআমাদের প্রয়োজনীয়তা, অল্প সময়ে বড় ডেটা প্রক্রিয়া করার জন্য আমাদের সেরা বিগ ডেটা সরঞ্জামের প্রয়োজন। অতএব, অ্যাপাচি স্পার্ক আমাদের মুভি সুপারিশ সিস্টেমটি কার্যকর করার উপযুক্ত সরঞ্জাম।

আসুন এখন আমাদের সিস্টেমের জন্য ফ্লো ডায়াগ্রামটি দেখুন।

যেমনটি আমরা দেখতে পাচ্ছি, নীচেরগুলি স্ট্রিমিং থেকে স্পার্ক স্ট্রিমিং ব্যবহার করে। আমরা রিয়েল টাইমে স্ট্রিম করতে পারি বা হ্যাডোপ এইচডিএফএস থেকে ডেটা পড়তে পারি।

ডেটাসেট প্রাপ্ত:

আমাদের মুভি সুপারিশ সিস্টেমের জন্য, আমরা আইএমডিবি, রোটেন টমেটোস এবং টাইমস মুভি রেটিংগুলির মতো অনেক জনপ্রিয় ওয়েবসাইট থেকে ব্যবহারকারীর রেটিং পেতে পারি। এই ডেটাসেটটি অনেকগুলি ফর্ম্যাটে যেমন সিএসভি ফাইল, পাঠ্য ফাইল এগুলিতে উপলভ্যএনডি ডাটাবেস। আমরা হয় ওয়েবসাইটগুলি থেকে ডেটা লাইভ স্ট্রিম করতে পারি বা সেগুলি ডাউনলোড করে স্টোর করে রাখতে পারিআমাদের স্থানীয় ফাইল সিস্টেম বা এইচডিএফএস।

ডেটাসেট:

নীচের চিত্রটি দেখায় যে কীভাবে আমরা জনপ্রিয় ওয়েবসাইটগুলি থেকে ডেটাসেট সংগ্রহ করতে পারি।

একবার আমরা স্পার্কে ডেটা স্ট্রিম করার পরে এটি কিছুটা এ জাতীয় দেখাচ্ছে।

মেশিন লার্নিং:

পুরো সুপারিশ সিস্টেমটি মেশিন লার্নিং অ্যালগরিদমের উপর ভিত্তি করে স্বল্প স্কোয়ারের বিকল্প । এখানে, এএলএস হ'ল একধরণের রিগ্রেশন বিশ্লেষণ যেখানে ডেগ্রি পয়েন্টগুলির মধ্যে একটি রেখা আঁকতে এমনভাবে ব্যবহার করা হয় যাতে প্রতিটি ডাটা পয়েন্ট থেকে দূরত্বের স্কোয়ারের যোগফল হ্রাস পায়। সুতরাং, এই লাইনটি তখন ফাংশনের মানগুলি পূর্বাভাস দেওয়ার জন্য ব্যবহৃত হয় যেখানে এটি স্বাধীন ভেরিয়েবলের মান পূরণ করে।

চিত্রের নীল রেখাটি হ'ল সেরা-ফিট রিগ্রেশন লাইন। এই লাইনের জন্য, মাত্রা D এর মান সর্বনিম্ন। অন্যান্য সমস্ত লাল রেখাগুলি সর্বদা ডেটাসেট থেকে আরও দূরে থাকবে।

এমআরলিব বাস্তবায়ন স্পার্ক করুন:

  1. আমরা অন্যান্য চলচ্চিত্রের রেটিংয়ের উপর ভিত্তি করে নির্দিষ্ট চলচ্চিত্রগুলির জন্য ব্যবহারকারীদের জন্য রেটিংগুলি পূর্বাভাস দিতে সহযোগী ফিল্টারিং (সিএফ) ব্যবহার করব।
  2. তারপরে আমরা সেই নির্দিষ্ট সিনেমার জন্য অন্যান্য ব্যবহারকারীর রেটিংয়ের সাথে এটি সহযোগিতা করি।
  3. আমাদের মেশিন লার্নিং থেকে নিম্নলিখিত ফলাফলগুলি পেতে, আমাদের স্পার্ক এসকিউএল এর ডেটাফ্রেম, ডেটাসেট এবং এসকিউএল পরিষেবা ব্যবহার করতে হবে।

আমাদের প্রোগ্রামের সিউডো কোডটি এখানে রয়েছে:

আমদানি করুন org.apache.spark.mllib.rec सुझावation.ALS আমদানি org.apache.spark.mllib.rec सिफारिश.রেটিং আমদানি org.apache.spark.SparkConf // অন্যান্য প্রয়োজনীয় প্যাকেজ অবজেক্ট মুভি {Def মুখ্য (আরোগুলি: অ্যারে [স্ট্রিং]] ) {ভল কনফ = নতুন স্পার্ককনফ ()। সেটঅ্যাপনাম ('মুভি')। সেটমাস্টার ('স্থানীয় [2]') ভাল এসসি = নতুন স্পার্ককন্টেক্সট (কনফারেন্স) ভাল কাটাডাটা = sc.textFile ('* মুভি সিএসভি ফাইল থেকে ডেটা পড়ুন * ') //rawData.first () val RawRatings = RawData.map (* ট্যাব ডিলিমিটারে কাঁচাডাটি বিভক্ত করুন *) ভাল রেটিং = RawRatings.map {* ব্যবহারকারী, চলচ্চিত্র এবং রেটিংয়ের মানচিত্রের অ্যারে *} // ডেটা ভাল মডেলের প্রশিক্ষণ = ALS.train (রেটিং, ৫০, ৫, ০.০১) মডেল.ইউসারফাইচারস মডেল.সুফারফিউচারসস কাউন্ট মডেল.প্রডাক্ট ফিচারস.কাউন্ট ভ্যালু পূর্বাভাস রেটিং = * মুভি 123 * ভাল ইউজারআইডি = * ব্যবহারকারীর 789 * ভাল কে = 10 ভল topKRecs = Model.rec सिफारिश প্রোডাক্টস (* কে * এর নির্দিষ্ট মানের জন্য ব্যবহারকারীর জন্য সুপারিশ) প্রিন্টলন (topKRecs.mkString ('')) ভাল ছায়াছবি = sc.textFile ('* মুভি তালিকার ডেটা পড়ুন *') ভাল শিরোনাম = চলচ্চিত্র.ম্যাপ (লাইন => লাইন.স্প্লিট ('|')) নিন (নিন 2)) মানচিত্র (অ্যারে => (অ্যারে (0)। টু ইন্ট, অ্যারে (1))) সংগ্রহ করুনআসম্যাপ () ভাল শিরোনামআরডিডি = চলচ্চিত্র.ম্যাপ (লাইন => লাইন.স্প্লিট ('|')। নিন (2) ) .ম্যাপ (অ্যারে => (অ্যারে (0)। টু ইন্ট, অ্যারে (1)))। ক্যাশে () শিরোনাম (123) ভাল মুভিজ ফর ইউজার = রেটিং। * ব্যবহারকারীর জন্য অনুসন্ধান করুন 789 * এসএলকিউল কনটেক্সট তৈরি করুন * ভাল চলচ্চিত্র প্রস্তাবিত = sqlContext। * প্রস্তাবিত চলচ্চিত্রগুলির একটি ডেটা ফ্রেম তৈরি করুন * চলচ্চিত্রের প্রস্তাবিত reg রেজিস্টারটেম্পট্যাবল ('চলচ্চিত্রের প্রস্তাবিত টেবিল') sqlContext.sql ('সিনেমাগুলি সুপারিশকৃত টেবিল থেকে' নির্বাচন গণনা (*) ') করুন fore * ব্যবহারকারীর 789 *। ম্যাপের জন্য রেটিংগুলি সাজান (* চলচ্চিত্রের শিরোনামে রেটিংটি মানচিত্র করুন)। * রেটিং মুদ্রণ করুন * ভাল ফলাফল = চলচ্চিত্রের জন্য ব্যবহারকারীর.সোর্টবাই (-_। রেটিং) .ট্যাক করুন (30)। ম্যাপ (রেটিং => (শিরোনাম (রেটিং। প্রোডাক্ট), রেটিং.রেটিং))}}

একবার আমরা পূর্বাভাস তৈরি করি, ফলাফলগুলি একটি আরডিবিএমএস সিস্টেমে সংরক্ষণ করার জন্য আমরা স্পার্ক এসকিউএল ব্যবহার করতে পারি। আরও, এটি একটি ওয়েব অ্যাপ্লিকেশনটিতে প্রদর্শিত হতে পারে।

ফলাফল:

চিত্র: 77 77 ব্যবহারকারীর জন্য প্রস্তাবিত চলচ্চিত্রগুলি

হুররে! আমরা এইভাবে অ্যাপাচি স্পার্কটি ব্যবহার করে মুভি সুপারিশ সিস্টেমটি সফলভাবে তৈরি করেছি। এটির সাহায্যে আমরা স্পার্ক এমএল্লিবের কাছে দেওয়া বেশ কয়েকটি জনপ্রিয় অ্যালগরিদমগুলির মধ্যে একটিতে কভার করেছি। আমরা ডেটা সায়েন্স অ্যালগরিদমে আগত ব্লগে মেশিন লার্নিং সম্পর্কে আরও জানব।

এগিয়ে নিয়ে যাওয়া, আপনি স্পার্ক টিউটোরিয়াল, স্পার্ক স্ট্রিমিং টিউটোরিয়াল দিয়ে অ্যাপাচি স্পার্ক শিখতে পারেন, এবং স্পার্ক সাক্ষাত্কারের প্রশ্নগুলি।এডুরেকা অনলাইনে সম্ভব সেরা শিক্ষার অভিজ্ঞতা দেওয়ার দিকে নিবেদিত।

আমাদের পরীক্ষা করে দেখুন i f আপনি স্পার্ক শিখতে এবং স্পার্কের ডোমেনে একটি ক্যারিয়ার গড়তে চান এবং বাস্তব জীবনের ব্যবহারের ক্ষেত্রে আরডিডি, স্পার্ক স্ট্রিমিং, স্পার্কএসকিউএল, এমএল্লিব, গ্রাফএক্স এবং স্কেলা ব্যবহার করে বৃহত আকারের ডেটা প্রসেসিং করতে দক্ষতা তৈরি করতে চান।