বাইনারি ফলাফলের শ্রেণিবদ্ধ ভবিষ্যদ্বাণীগুলির সেটের ভবিষ্যদ্বাণীপূর্ণ শক্তি কীভাবে মূল্যায়ন করবেন? সম্ভাবনা বা লজিস্টিক রিগ্রেশন গণনা করবেন?


10

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

এই সমস্যার প্রতিক্রিয়া পরিবর্তনশীল একটি বাইনারি প্রতিক্রিয়া (0, 1)। আমার কাছে প্রচুর পূর্বাভাসকারী ভেরিয়েবল রয়েছে যা সমস্ত শ্রেণিবদ্ধ এবং আনর্ডার্ড নয়। আমি ভবিষ্যদ্বাণীক ভেরিয়েবলগুলির মধ্যে কোন সমন্বয়গুলি 1 এর সর্বোচ্চ অনুপাত দেয় তা নির্ধারণ করার চেষ্টা করছি। আমার কি লজিস্টিক রিগ্রেশন দরকার? শ্রেণিবদ্ধ ভবিষ্যদ্বাণীগুলির প্রতিটি সংমিশ্রনের জন্য আমার নমুনা সেটে কেবল অনুপাতগুলি গণনা করে কীভাবে সুবিধা হবে?


আপনার যদি 1 টিরও বেশি পূর্বাভাসী থাকে তবে কোনও ধরণের রিগ্রেশন মডেল ছাড়াই এটি করা জটিল। তোমার মনে কি ছিল? মাত্র একটি বড় k মাত্রিক সংযোগ টেবিল ( k ভবিষ্যদ্বাণীকারীদের সংখ্যা)?
ম্যাক্রো

ভবিষ্যদ্বাণীকারী বিভাগগুলি কি একাধিক ফ্যাক্টারে বিভক্ত হয়েছে, এবং যদি তাই হয় তবে সেগুলি অতিক্রম করা বা বাসা বাঁধে? এছাড়াও, আপনি কি কেবল বর্ণনামূলক বিবৃতি দিতে আগ্রহী? যদি আপনার ডেটা জটিল হয় তবে একটি এলআর মডেল আরও সুবিধাজনক হতে পারে এবং আপনি যদি ইনফারেন্সগুলি তৈরি করতে চান তবে এলআর দৃ strongly়ভাবে পছন্দনীয় I
গুং - মনিকা পুনরায়

@ ম্যাক্রো - হ্যাঁ, আমি ভাবছিলাম এটি মূলত একটি বড় টেবিল হবে, যেখানে একটি কলাম দৃশ্যের সাথে মিল রেখে # নমুনা পয়েন্ট প্রদর্শন করবে এবং অন্য কলামটি 1 এর অনুপাত দেখায়। আমার কাছে পাঁচটি শ্রেণিবদ্ধ ভবিষ্যদ্বাণী রয়েছে, যার প্রত্যেকটিতে 10-30 সম্ভাব্য মান রয়েছে, তাই আমি জানি পরিস্থিতিতেগুলির তালিকাটি উচ্চতর হবে। আমি আর-তে একটি লুপ স্ক্রিপ্ট করতে ভাবছিলাম যা প্রতিটি এবং আউটপুট উল্লেখযোগ্য ফলাফলের মধ্য দিয়ে যায় (দৃশ্যে 1 এর বেশি সংখ্যার নমুনা পয়েন্টের বৃহত অনুপাত)।
রাহেল

@ গং - কারণগুলি কেবল আংশিকভাবে অতিক্রম করা হয়েছে। কারণগুলির মধ্যে কোনওটি নেস্টেড হিসাবে বিবেচিত হবে না। আমি কারণগুলির সংমিশ্রণগুলি (যেমন, রাজ্য, গ্রাহক, কর্মচারী) সন্ধান করতে আগ্রহী যার প্রতিক্রিয়া পরিবর্তনশীল 1 এর সমান হওয়ার সম্ভাবনা বেশি থাকবে
রাচেল

1
@ এমেরিয়া - দুর্ভাগ্যক্রমে শ্রেণিবদ্ধ ভেরিয়েবলগুলি সম্পূর্ণ স্বাধীন নয়। কিছু সংমিশ্রণ অন্যদের চেয়ে বেশি সম্ভাবনাযুক্ত হবে ...
রাচেল

উত্তর:


11

লজিস্টিক রিগ্রেশন সংখ্যাসূচক দ্বিগুণ পর্যন্ত, সারণীযুক্ত শতাংশের সমান ফিট করে। সুতরাং, যদি আপনার স্বতন্ত্র ভেরিয়েবলগুলি ফ্যাক্টর অবজেক্টস factor1ইত্যাদি হয় এবং নির্ভরশীল ফলাফল (0 এবং 1) হয় xতবে আপনি যেমন একটি এক্সপ্রেশন দিয়ে প্রভাবগুলি পেতে পারেন

aggregate(x, list(factor1, <etc>), FUN=mean)

এর সাথে তুলনা করুন

glm(x ~ factor1 * <etc>, family=binomial(link="logit"))

উদাহরণ হিসাবে, আসুন কিছু এলোমেলো ডেটা উত্পন্ন করি:

set.seed(17)
n <- 1000
x <- sample(c(0,1), n, replace=TRUE)
factor1 <- as.factor(floor(2*runif(n)))
factor2 <- as.factor(floor(3*runif(n)))
factor3 <- as.factor(floor(4*runif(n)))

সংক্ষিপ্তসার সঙ্গে প্রাপ্ত হয়

aggregate.results <- aggregate(x, list(factor1, factor2, factor3), FUN=mean)
aggregate.results

এর আউটপুট অন্তর্ভুক্ত

   Group.1 Group.2 Group.3         x
1        0       0       0 0.5128205
2        1       0       0 0.4210526
3        0       1       0 0.5454545
4        1       1       0 0.6071429
5        0       2       0 0.4736842
6        1       2       0 0.5000000
...
24       1       2       3 0.5227273

ভবিষ্যতের রেফারেন্সের জন্য, আউটপুটটির সারি 6 এর স্তরে (1,2,0) গুণমানগুলির জন্য অনুমান 0.5 হয় 0.5

লজিস্টিক রিগ্রেশনটি তার সহগকে এইভাবে ছেড়ে দেয়:

model <- glm(x ~ factor1 * factor2 * factor3, family=binomial(link="logit"))
b <- model$coefficients

এগুলি ব্যবহার করতে, আমাদের লজিস্টিক ফাংশনটি প্রয়োজন:

logistic <- function(x) 1 / (1 + exp(-x))

উদাহরণস্বরূপ, স্তরের (1,2,0) গুণনের গুণমানগুলির জন্য অনুমান সংগ্রহ করতে

logistic (b["(Intercept)"] + b["factor11"] + b["factor22"] + b["factor11:factor22"])

(লক্ষ্য করুন যে সমস্ত ইন্টারঅ্যাকশনগুলি কীভাবে মডেলটিতে অন্তর্ভুক্ত করা উচিত এবং সমস্ত সম্পর্কিত সহগকে সঠিক অনুমানের জন্য প্রয়োগ করতে হবে)) আউটপুটটি হ'ল

(Intercept) 
        0.5

ফলাফল সঙ্গে সম্মত aggregate। (আউটপুটে "(ইন্টারসেপ্ট)" শিরোনাম হ'ল ইনপুটটির একটি স্বীকৃতি এবং এই গণনার জন্য কার্যকরভাবে অর্থহীন))


আর একটি ফর্ম একই তথ্য প্রকাশিত হয়table । উদাহরণস্বরূপ, এর (দীর্ঘ) আউটপুট

table(x, factor1, factor2, factor3)

এই প্যানেল অন্তর্ভুক্ত:

, , factor2 = 2, factor3 = 0

   factor1
x    0  1
  0 20 21
  1 18 21

জন্য কলাম factor1মাত্রা (1,2,0) এবং শো = 1 তিনটি পূরক সাথে সঙ্গতিপূর্ণ যে এর মান সমান , আমরা কি এর বাইরে পড়তে সঙ্গে সম্মত এবং ।121/(21+21)=0.5x1aggregateglm


পরিশেষে, ডেটাসেটে সর্বাধিক অনুপাত প্রদানকারী উপাদানের সংমিশ্রণটি আউটপুট থেকে সহজেই পাওয়া যায় aggregate:

> aggregate.results[which.max(aggregate.results$x),]
  Group.1 Group.2 Group.3         x
4       1       1       0 0.6071429

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

(+1), আমি ভাবছি যে লজিস্টিক রিগ্রেশন থেকে এই প্রসঙ্গে মানীয় ত্রুটিগুলি আমি প্রস্তাবিত গ্রাফিকাল মোজাইক প্লট সংক্ষিপ্তসারগুলিতে অন্তর্ভুক্ত করা যেতে পারে কিনা তা অবাক করি। আমি আরও সন্দেহ করি যে আকর্ষণীয় মিথস্ক্রিয়াগুলির জন্য ফলাফলগুলি দ্রুত "ফিল্টার" করার একটি ভাল উপায় হতে পারে (এগুলি যদিও আমার সংগীত মাত্র!)
অ্যান্ডি ডব্লু

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

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

@ অ্যান্ডি আমি গ্রাফিক্স সম্পর্কে আপনার জবাবটি পছন্দ করি - আমাদের সূত্রটি তৈরি করার একটি উপায় খুঁজে বের করতে হবে যেখানে এটি ঠিক সঠিক উত্তর! মোজাইক প্লটগুলির মধ্যে ত্রুটির প্রাক্কলনগুলি অন্তর্ভুক্ত করার বিষয়ে আপনার চিন্তাভাবনাটি এটির কাছে যাওয়ার উপায় হবে: আপনি কীভাবে যুক্তিযুক্ত প্রাক্কলনগুলি, আসল উপাত্ত এবং / অথবা ত্রুটিগুলি একই সাথে উপস্থাপন করবেন?
whuber

6

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

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

টাইটানিকের মোজাইক প্লট
(উত্স: theusrus.de )

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

তৃতীয় পরিবর্তনশীল মোজাইক শর্তযুক্ত
(উত্স: theusrus.de )

এটি আশ্চর্যজনক যে কত তথ্য প্রদর্শিত হয়, এটি চার মাত্রায় অনুপাত (শ্রেণি, প্রাপ্তবয়স্ক / শিশু, লিঙ্গ এবং বেঁচে থাকার অনুপাত)!

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


+1, লক্ষ্যটি সাধারণ বর্ণনা বা অনুমান কিনা তা নিয়ে আমি উপরে আমার মন্তব্যে চেষ্টা করার চেষ্টা করছিলাম। এনবি, পয়েন্টটি আরও পরিষ্কার এবং আরও ভাল ডাব্লু / ফিগার তৈরি!
গুং - মনিকা পুনরায়

@ গুং ধন্যবাদ, কী Nbদাঁড়াবে? আমি সবসময় পাশাপাশি পরিসংখ্যান আরও ভাল বলতে!
অ্যান্ডি ডাব্লু

2
পরিসংখ্যান সম্পর্কিত কোনও কিছুই নয়, "এনবি" বলতে নোটা বেনকে বোঝায় যা পরিবর্তিতভাবে 'নোট ওয়েল' (আক্ষরিক) জন্য লাতিন হয়, বা 'নোট' / 'নোটিশ' (আরও কথোপকথনে) note
গুং - মনিকা পুনরায়

3

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

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


2

205

আপনার কাছে যদি ডেটা কম থাকে তবে আপনি কম প্যারামিটার শিখতে চান। আপনি ধরে নিয়ে প্যারামিটারের সংখ্যা হ্রাস করতে পারেন, উদাহরণস্বরূপ, পৃথক ভবিষ্যদ্বাণীকারীদের কনফিগারেশনে প্রতিক্রিয়ার ভেরিয়েবলের উপর ধারাবাহিক প্রভাব রয়েছে।

যদি আপনি বিশ্বাস করেন যে আপনার ভবিষ্যদ্বাণীকারীরা একে অপরের থেকে স্বতন্ত্র, তবে লজিস্টিক রিগ্রেশন হ'ল অনন্য অ্যালগরিদম যা সঠিক কাজ করে। (তারা স্বতন্ত্র না হলেও, এটি এখনও মোটামুটি ভাল করতে পারে))

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


1

আপনি বৈশিষ্ট্য নির্বাচন অ্যালগরিদম তাকানো উচিত। আপনার ক্ষেত্রে উপযুক্ত (বাইনারি শ্রেণিবদ্ধকরণ, শ্রেণীবদ্ধ পরিবর্তনশীল) একটি হ'ল "সর্বনিম্ন রিডানডেন্সি সর্বোচ্চ প্রাসঙ্গিকতা" (এমআরএমআর) পদ্ধতি। আপনি অনলাইনে এটি http://penglab.janelia.org/proj/mRMR/ এ দ্রুত চেষ্টা করতে পারেন


একাধিক শ্রেণিবদ্ধ ভবিষ্যদ্বাণী নিয়ে এই প্রোগ্রামটি চালানো কি সম্ভব? আপলোড পৃষ্ঠায় দেখে মনে হচ্ছে কেবল প্রথম কলামটিই ডেটাগুলির "শ্রেণি" হতে পারে ... সম্ভবত কীভাবে ডেটা ফর্ম্যাট হওয়ার কথা তা আমি বুঝতে পারি না।
রাহেল

বা "শ্রেণি" এর আউটপুট পরিবর্তনশীল হওয়ার কথা, এই ক্ষেত্রে একটি 0 বা 1? যদি তা হয় তবে প্রতিটিটির জন্য সূচকগুলি দেখানোর জন্য বিভাগীয় পরিবর্তনশীলগুলিকে ডমি ভেরিয়েবলগুলিতে পরিণত করা কি গুরুত্বপূর্ণ?
রাচেল

আপনি চান হিসাবে অনেক ভবিষ্যদ্বাণী থাকতে পারে। আপনার ডেটা ফাইলের প্রথম সারিটি অবশ্যই বৈশিষ্ট্যের নাম এবং প্রথম কলামে নমুনার জন্য শ্রেণি (প্রতিক্রিয়া পরিবর্তনশীল) হওয়া আবশ্যক। সুতরাং, উদাহরণটি হ'ল: response,predictor1,predictor2,predictor3 <line break here> 1,5,4,3 <line break here> 0,5,3,-1 <line break here> 1,1,2,3
এমেরিয়া

1

আমি ক্রেডিট স্কোরিংয়ের ক্ষেত্রে কাজ করি, যেখানে এখানে একটি অদ্ভুত ঘটনা হিসাবে উপস্থাপন করা হচ্ছে আদর্শ।

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

প্রমাণের ওজন একটি সাধারণ গণনা। এটি শ্রেণীর পক্ষে প্রতিকূলতার লগ, জনসংখ্যার পক্ষে কম
প্রতিক্রিয়াগুলির লগ: WOE = ln (ভাল (শ্রেণি) / খারাপ (শ্রেণি)) - ln (ভাল (সমস্ত) / খারাপ (সমস্ত)) এটি লজিস্টিক রিগ্রেশন ব্যবহার করে নির্মিত প্রায় সমস্ত ক্রেডিট স্কোরিং মডেলের জন্য স্ট্যান্ডার্ড ট্রান্সফর্মেশন পদ্ধতি ology আপনি একই সংখ্যাগুলিকে পিসওয়াস পদ্ধতির ব্যবহার করতে পারেন।

এর সৌন্দর্যটি হ'ল আপনি সর্বদা জানবেন যে প্রতিটি WOE এর জন্য নির্ধারিত সহগগুলি বোধগম্য। নেতিবাচক সহগগুলি তথ্যের মধ্যে নিদর্শনগুলির বিপরীতে থাকে এবং সাধারণত বহুবিশেষের ফলস্বরূপ হয়; এবং ১.০ এর বেশি সহগুণগুলি অতিরিক্ত ক্ষতিপূরণ নির্দেশ করে। বেশিরভাগ সহগগুলি কোথাও শূন্য থেকে একের মধ্যে বেরিয়ে আসবে।


একটি আকর্ষণীয় এবং তথ্যমূলক পোস্টের জন্য আপনাকে ধন্যবাদ। যদিও এই থ্রেডটিতে এটি প্রশ্নের প্রতিক্রিয়া জানায় আমি তা বুঝতে পারি না। আপনি যে "অদ্ভুত মামলা" উল্লেখ করেন? আপনি সম্ভবত অন্য কোথাও অন্য প্রশ্নের জবাব দিতে এটি ব্যবহার করার ইচ্ছা করেছিলেন?
হোবার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.