পাইথন, বেজেস অ্যাপ্লিকেশন

লেখক:ছোট্ট স্বপ্ন, তৈরিঃ 2017-03-28 12:42:14, আপডেটঃ 2017-03-28 12:43:01

পাইথন, বেজেস অ্যাপ্লিকেশন

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

  • সরল বেয়েজ মডেলগুলি নির্মাণ করা সহজ এবং বড় ডেটাসেটের জন্য খুব দরকারী। যদিও এটি সহজ, তবে সরল বেয়েজগুলির পারফরম্যান্স খুব জটিল শ্রেণিবদ্ধকরণের পদ্ধতিগুলি ছাড়িয়ে যায়।

    বেয়েজ থিওরি একটি পদ্ধতি প্রদান করে যা P©, P ((x) এবং P ((x) c) থেকে P ((c)) x এর সম্ভাব্যতা গণনা করে। নিচের সমীকরণটি দেখুনঃ

    img

    এখানে,

    P (c) x হল ক্লাস (c) এর লক্ষ্যবস্তুর সম্ভাব্যতা, যা একটি পরিচিত পূর্বাভাস ভেরিয়েবল (attribute) এর (attribute) পূর্বাভাস দেয়। P© হল শ্রেণীর পূর্ববর্তী সম্ভাবনা P (x) c হল সম্ভাব্যতা, অর্থাৎ, পরিচিত শ্রেণীর উপর ভিত্তি করে একটি ভেরিয়েবলের সম্ভাব্যতা। P ((x) হল পূর্বাভাস ভেরিয়েবলের পূর্ববর্তী সম্ভাব্যতা উদাহরণঃ আসুন আমরা একটি উদাহরণ দিয়ে এই ধারণাটি বুঝতে পারি। নীচে, আমার একটি আবহাওয়া প্রশিক্ষণ সেট এবং এর সাথে সম্পর্কিত লক্ষ্য ভেরিয়েবলগুলি রয়েছে। এখন, আমরা আবহাওয়ার উপর ভিত্তি করে খেলোয়াড়দের এবং খেলোয়াড়দের অংশগ্রহণকারীদের শ্রেণিবদ্ধ করতে চাই। আসুন নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করি।

    ধাপ ১ঃ ডাটাসেটকে ফ্রিকোয়েন্সি টেবিলে রূপান্তর করুন।

    ধাপ ২ঃ ওভারকাস্টের সম্ভাবনা ০.২৯ হলে খেলার সম্ভাবনা ০.৬৪ টন হলে একটি সম্ভাব্যতা টেবিল তৈরি করুন।

    img

    ধাপ ৩ঃ এখন, প্রতিটি শ্রেণীর জন্য পরবর্তীকালীন সম্ভাব্যতা গণনা করুন, সরল বেয়েজ সমীকরণ ব্যবহার করে; যে শ্রেণীর পরবর্তীকালীন সম্ভাব্যতা সবচেয়ে বেশি, সেটাই ভবিষ্যদ্বাণী করা ফলাফল।

    প্রশ্নঃ যদি আবহাওয়া ভালো হয়, তাহলে কি অংশগ্রহণকারীরা খেলতে পারবে?

    আমরা এই সমস্যার সমাধান করতে পারি, যেমনটা আমরা আগে আলোচনা করেছি। সুতরাং P (খেলা করবে) = P (খেলা করবে) * P (খেলা করবে) / P (খেলা করবে)

    আমাদের কাছে P আছে, P = 3/9 = 0.33, P = 5/14 = 0.36, P = 9/14 = 0.64.

    এখন, পি (প্লেয়ার) = ০.৩৩ গুণ ০.৬৪ / ০.৩৬ = ০.৬০, এর সম্ভাবনা অনেক বেশি।

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

  • পাইথন কোডঃ

#ইম্পোর্ট লাইব্রেরি sklearn.naive_bayes থেকে GaussianNB আমদানি করুন # অনুমান আপনি আছে, এক্স (প্রাক্কলনকারী) এবং Y (লক্ষ্য) প্রশিক্ষণ ডেটা সেট এবং x_test ((প্রাক্কলনকারী) এর জন্য test_dataset

SVM শ্রেণীবিভাগ অবজেক্ট মডেল তৈরি করুন = GaussianNB()

বার্নুলি, বেয়েজ, রেফার লিংকের মতো বহুপদীয় শ্রেণীর জন্য অন্য বিতরণ রয়েছে

প্রশিক্ষণ সেট ব্যবহার করে মডেল প্রশিক্ষণ এবং স্কোর চেক

model.fit(X, y) # পূর্বাভাস আউটপুট predicted= model.predict ((x_test)


আরো