"এফ রিগ্রেশন" এবং মানের উপর ভিত্তি করে বৈশিষ্ট্য নির্বাচন করার মধ্যে পার্থক্য ?


15

F-regressionপৃথকভাবে লেবেলের সাথে বৈশিষ্ট্যগুলি সম্পর্কিত করতে এবং মান পর্যবেক্ষণের মতো একই বৈশিষ্ট্য ব্যবহার করে বৈশিষ্ট্যগুলির তুলনা করা কি ?R2

আমি প্রায়শই আমার সহকর্মীদের F regressionকাছ থেকে তাদের মেশিন লার্নিং পাইপলাইনে বৈশিষ্ট্য নির্বাচনের জন্য ব্যবহার করতে দেখেছি sklearn:

sklearn.feature_selection.SelectKBest(score_func=sklearn.feature_selection.f_regression...)`  

কিছু দয়া করে আমাকে বলুন - কেন এটি লেবেল / অবনতিশীল ভেরিয়েবলের সাথে কেবল সংযুক্তি হিসাবে একই ফলাফল দেয়?

F_regressionবৈশিষ্ট্য নির্বাচন ব্যবহার করে কী সুবিধা হবে তা আমার কাছে পরিষ্কার নয় ।

আমার কোডটি এখানে: আমি mtcarsথেকে ডেটাসেট ব্যবহার করছি R:

import pandas as pd
import numpy as np
from sklearn import feature_selection
from sklearn.linear_model import LinearRegression

#....load mtcars dataset into a pandas dataframe called "df", not shown here for conciseness

# only using these numerical columns as features ['mpg', 'disp', 'drat', 'wt']
# using this column as the label:  ['qsec']

model = feature_selection.SelectKBest(score_func=feature_selection.f_regression,\
                                      k=4)

results = model.fit(df[columns], df['qsec'])

print results.scores_
print results.pvalues_

# Using just correlation coefficient:

columns = ['mpg', 'disp', 'drat', 'wt']
for col in columns:
    lm = LinearRegression(fit_intercept=True)
    lm.fit(df[[col]], df['qsec'])
    print lm.score(df[[col]], df['qsec'])

সন্দেহজনক হিসাবে, বৈশিষ্ট্যগুলির র‌্যাঙ্কিং হুবহু এক:

scores using f_regression:

[ 6.376702    6.95008354  0.25164249  0.94460378]


 scores using coefficient of determination:

0.175296320261  
0.18809385182
0.00831830818303
0.0305256382746

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

এমন কোনও ঘটনা আছে যেখানে F_regressionপ্রভু বিভিন্ন ফলাফল দেবেন, বা কোনও উপায়ে বৈশিষ্ট্যগুলিকে আলাদাভাবে স্থান দেবেন?

সম্পাদনা: সংক্ষেপে বলতে চাই, আমি জানতে চাই যে এই দুটি র‌্যাঙ্কিংয়ের বৈশিষ্ট্যগুলি কখনই আলাদা ফলাফল দেয়:

1) পৃথকভাবে ফলাফলের সাথে তাদের প্রতিরোধ করার সময় তাদের এফ-পরিসংখ্যান অনুসারে র‌্যাঙ্কিং বৈশিষ্ট্যগুলি (এটি স্ক্লার্নই এটি করে) এবং,

2) তাদের আর-স্কোয়ার্ড মান অনুসারে র‌্যাঙ্কিং বৈশিষ্ট্যগুলি যখন ফলাফলের সাথে আবার ব্যক্তিগতভাবে পৃথক করে।


আমি এই পোস্ট করার পরে অবিলম্বে নীচে নেমে গেল, যা আমি নিশ্চিত যে এটির কোনও মনোযোগ পাওয়ার সম্ভাবনাটি আঘাত পেয়েছে।
হুনলে

1
আপনার প্রশ্নে "এফ-রিগ্রেশন" শব্দটি রয়েছে। এটি কী এবং এটি পেনশন থেকে কীভাবে আলাদা? ... (সম্পাদনা :) এই মুহূর্তে আমার কাছে কিছু ঘটেছিল: আপনি কি কোনও শূন্য-নাল (অর্থাৎ কেবলমাত্র বিরতি) এর বিরুদ্ধে সামগ্রিক প্রতিরোধের জন্য কোনও এফ-টেস্ট (বা সম্ভবত কেবলমাত্র একটি এফ-স্ট্যাটিস্টিক) উল্লেখ করছেন?
গ্লেন_বি -রিনস্টেট মনিকা

আমি এফ-পরীক্ষা উল্লেখ করছি। রিগ্রেশন এফ-টেস্ট এবং তাই এফ-স্ট্যাটিস্টিক, নাল হাইপোথিসিস পরীক্ষা করতে ব্যবহৃত হয় যে রেজিস্ট্রার এবং ফলাফল / লেবেলের মধ্যে কোনও সম্পর্ক নেই। sklearnএটি এফ-রিগ্রেশন হিসাবে উল্লেখ করে, এটি সম্ভবত কিছুটা বিভ্রান্তিকর কারণ এটি আসলে একটি পরীক্ষা। scikit-learn.org/stable/modules/generated/…
Hunle

সেখানে আপনার মন্তব্যে আপনার কাছে কেবলমাত্র একটি রেজিস্টার ভেরিয়েবল রয়েছে (কোন ক্ষেত্রে আপনি বৈশিষ্ট্য নির্বাচনের বিষয়ে কেন কথা বলছেন?)
Glen_b -Rininstate মনিকা

2
আপনি দয়া করে আপনার প্রশ্নে সেই ব্যাখ্যাটি সম্পাদনা করতে পারেন?
গ্লেন_বি -রিনস্টেট মনিকা

উত্তর:


15

টি এল: ডিআর

যদি F-regressionকেবল F পরিসংখ্যানগুলি গণনা করে সেরা বৈশিষ্ট্যগুলি বেছে নেয় তবে কোনও পার্থক্য হবে না । র‍্যাঙ্কিংয়ে একটি পার্থক্য থাকতে পারে, ধরে F-regressionনিলে নিম্নলিখিতগুলি করা হয়েছে:

  • একটি ধ্রুবক মডেল দিয়ে শুরু করুন,M0
  • মাত্র একটি বৈশিষ্ট্য সমন্বিত সমস্ত মডেল চেষ্টা করে দেখুন এবং এফ পরিসংখ্যান অনুযায়ী সেরা চয়ন করুনM1
  • সাথে আরও একটি বৈশিষ্ট্যযুক্ত সমস্ত মডেল এবং চয়ন করুন ...এম 1M2M1

যেহেতু পারস্পরিক সম্পর্ক প্রতিটি পুনরাবৃত্তির ক্ষেত্রে একই হবে না। তবে আপনি এখনও প্রতিটি পদক্ষেপে পারস্পরিক সম্পর্ককে গণনা করে এই র‌্যাঙ্কিংটি পেতে পারেন, তবে কেন F-regressionএকটি অতিরিক্ত পদক্ষেপ নেয়? এটি দুটি কাজ করে:

  • বৈশিষ্ট্য নির্বাচন: আপনি যদি কোনও মেশিন লার্নিং পাইপলাইনে সেরা বৈশিষ্ট্যগুলি নির্বাচন করতে চান , যেখানে আপনি কেবল নির্ভুলতার বিষয়ে যত্নশীল এবং অধিক পরিমাণে সামঞ্জস্য করার ব্যবস্থা রেখে থাকেন তবে আপনি কেবল র‌্যাঙ্কিংয়ের বিষয়ে যত্ন নিতে পারেন এবং অতিরিক্ত গণনা কার্যকর নয়।k
  • তাত্পর্যপূর্ণতার জন্য পরীক্ষা: আপনি যদি কোনও গবেষণায় আউটপুটটিতে কিছু ভেরিয়েবলের প্রভাব বোঝার চেষ্টা করছেন, আপনি একটি রৈখিক মডেল তৈরি করতে চাইতে পারেন এবং কেবলমাত্র কিছু ভ্যালুতে সম্মতভাবে আপনার মডেলটিকে উল্লেখযোগ্যভাবে উন্নত করছে এমন ভেরিয়েবলগুলি অন্তর্ভুক্ত করতে পারেন । এখানে, কাজে আসে।pF-regression

এফ-টেস্ট কী

একটি এফ-পরীক্ষা (উইকিপিডিয়া) কোনও নতুন ভেরিয়েবল সংযোজনের ক্ষেত্রে মডেলটির উন্নতির তাত্পর্য তুলনা করার একটি উপায়। আপনি যখন এটির মৌলিক মডেল এবং আরও জটিল মডেল তখন আপনি এটি ব্যবহার করতে পারেন , এতে এবং আরও কিছু থেকে সমস্ত ভেরিয়েবল রয়েছে । এফ পরীক্ষা আপনি বলে যদি উল্লেখযোগ্যভাবে বেশী ভালো , একটি সম্মান সঙ্গে -value।এম 1 এম 0 এম 1 এম 0 পিM0M1M0M1M0p

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


কী f_regressionনা

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

  • একটি ধ্রুবক মডেল দিয়ে শুরু করুন,M0
  • মাত্র একটি বৈশিষ্ট্য সমন্বিত সমস্ত মডেল চেষ্টা করে দেখুন এবং এফ পরিসংখ্যান অনুযায়ী সেরা চয়ন করুনM1
  • সাথে আরও একটি বৈশিষ্ট্যযুক্ত সমস্ত মডেল এবং চয়ন করুন ...এম 1M2M1

আপাতত, আমি মনে করি এটি আপনার প্রশ্নের উত্তর দেওয়ার জন্য যথেষ্ট কাছাকাছি; f_regressionপারস্পরিক সম্পর্ক অনুসারে র‌্যাঙ্কিং এবং র‌্যাঙ্কিংয়ের মধ্যে কি তফাত আছে ?

আপনি যদি মডেল দিয়ে শুরু করতে এবং কেবলমাত্র একটি বৈশিষ্ট্য, দিয়ে সেরা মডেলটি সন্ধান করার চেষ্টা করছেন তবে আপনি একই বৈশিষ্ট্যটি নির্বাচন করবেন যা আপনি ব্যবহার করেন বা আপনার সম্পর্ক ভিত্তিক পদ্ধতির, কারণ এগুলি উভয়ই লিনিয়ার নির্ভরতার একটি পরিমাপ। কিন্তু আপনি যদি থেকে যান ছিল করার এবং তারপর , আপনার স্কোরিং মধ্যে একটি পার্থক্য হবে।এম 1 এম 0 এম 1 এম 2M0M1f_regressionM0M1M2

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

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


এফ-পরীক্ষার লক্ষ্যটি তাৎপর্য স্তর সরবরাহ করা। আপনি যদি নিশ্চিত করতে চান যেগুলিতে যে বৈশিষ্ট্যগুলি অন্তর্ভুক্ত রয়েছে সেগুলি আপনার মূল্য সম্পর্কে শ্রদ্ধার সাথে উল্লেখযোগ্য , তবে আপনি একটি এফ-পরীক্ষা ব্যবহার করেন। আপনি যদি কেবলমাত্র সেরা বৈশিষ্ট্যগুলি অন্তর্ভুক্ত করতে চান তবে আপনি কেবল পারস্পরিক সম্পর্কটি ব্যবহার করতে পারেন।pk


অতিরিক্ত উপাদান: আপনি এফ-টেস্টের একটি ভূমিকা যা আপনাকে সহায়ক মনে করতে পারে তা এখানে


ঠিক আছে, এখন আমি দেখছি কীভাবে বৈশিষ্ট্য নির্বাচনের এই পদ্ধতিটি বহুবিধরনের বিরুদ্ধে রক্ষা করতে পারে। আমি মনে করি যদি আমি কোনও র‌্যান্ডম ফরেস্টের মতো এমন কিছু চালাচ্ছি যা মাল্টিকোলাইনারিটির পক্ষে সংবেদনশীল নয়, তবে এই বৈশিষ্ট্য নির্বাচন পদ্ধতিটি প্রযোজ্য নাও হতে পারে। আপনাকে ধন্যবাদ @ উইঙ্কস
হুনলে

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

" পি-মানগুলির সাথে সামান্য সমস্যা " কী আপনি উল্লেখ করেছেন? এবং, যেহেতু আমরা প্রতিবার একই ডেটাতে পরীক্ষা করছি তাই একাধিক তুলনার সমস্যা রয়েছে?
হুনলে

একটি শেষ জিনিস (বিরক্তির জন্য দুঃখিত) আপনি যেমনটি "... এবং তারপরে তে আপনার স্কোরিংয়ের মধ্যে একটি পার্থক্য থাকবে"। এই মধ্যবর্তী পদক্ষেপের জন্য, মানটি সর্বদা এক এফ বিতরণে পি-মানের সাথে একঘেয়েভাবে সম্পর্কিত হবে, যেহেতু এন এবং কে এফ-স্ট্যাটিস্টিক ( স্ট্যাটাস.স্ট্যাকেক্সেক্সঞ্জ / প্রশ্নগুলি / 50425/… ) গণনার ক্ষেত্রে স্থির থাকে । সুতরাং, আমি অনুমান করি যে আমি এফ-পরীক্ষা বা এফ বিতরণের প্রয়োজনীয়তা বুঝতে পারি না। আপনি কি? M2R2
হুনলে

1
@ হুনলে আমি আমার উত্তরের শেষে এফ-পরীক্ষা ব্যবহার করার কারণ যুক্ত করেছি। মূলত, যদি আপনি তাৎপর্য সম্পর্কে চিন্তা করেন। বিষয়ে সঙ্গে সামান্য সমস্যা -valuesp , আমার মনে হয় আপনি পয়েন্ট হয়। আমরা একই জিনিসটি একাধিকবার পরীক্ষা করে নিচ্ছি বলে মনে হচ্ছে ( বাধ্যতামূলক এক্সকেসিডি )। তবে, যেহেতু এফ-টেস্টটি অনুশীলনে ব্যবহৃত হয়, এটি 1) আমার মনে হয় যা এটি করে না 2) সমস্যা হবেনা কারণ আমরা প্রতিটি পদক্ষেপে ঠিক একই জিনিসটি পরীক্ষা করছি না ।
উইঙ্কস

16

আমি কী করে তা বোঝার জন্য সাইকিট উত্স কোডটি দেখে কিছু সময় ব্যয় করেছি f_regressionএবং আমি আমার পর্যবেক্ষণগুলি এখানে পোস্ট করতে চাই।

মূল প্রশ্নটি ছিল:

প্রশ্ন : সর্বোচ্চ স্কোর সহ প্রথম 4 টি বৈশিষ্ট্য SelectKBest(f_regression, k = 4)ব্যবহার LinearRegression(fit_intercept=True)এবং চয়ন করার মতো ফলাফল কি তৈরি করে ?

উত্তর হ্যাঁ । তদুপরি, স্কোর দ্বারা প্রদত্ত আপেক্ষিক ক্রম একই।

f_regressionইনপুট ম্যাট্রিক্স এবং অ্যারের এ যা হয় তা এখানে । প্রতিটি বৈশিষ্ট্যের জন্য এটি সাথে পারস্পরিক সম্পর্ককে গণনা করে : তারপরে এটি F- পরিসংখ্যান যেখানে , নমুনার সংখ্যা (সামান্য পার্থক্য রয়েছে যদি প্যারামিটার হয় ; তবে এটি দিয়ে গুণিত হয় )। এই এফ-মানগুলি তখন যুক্ত পি-মানগুলির সাথে একত্রে ফিরে আসে। সুতরাং ফলাফলটি একটি টিপল (এফ-মান, পি-মান)। তারপরXyX[:,i]y

ρi=(X[:,i]mean(X[:,i]))(ymean(y))std(X[:,i])std(y).
Fi=ρi21ρi2(n2),
n=len(y)centerFalsen1SelectKBestএই টিউপলের প্রথম উপাদানটি নেয় (এগুলি স্কোর হবে), এটি সাজায় এবং সর্বোচ্চ স্কোর সহ প্রথম বৈশিষ্ট্যগুলি গ্রহণ করে। কোনও অনুক্রমিক অ্যাপ্লিকেশন বা কিছুই নেই, এবং পি-মানগুলিও ব্যবহৃত হয় না।kX

এখন কে এবং জন্য গুণিত স্কোর হতে দিন । এটি একটি একক ভেরিয়েবলের উপর একটি রিগ্রেশন, সুতরাং । তারপরে সুতরাং এবং এর মধ্যে কোনও পার্থক্য নেই । যদিও কেউ ধারাবাহিকভাবে একটি মডেল তৈরি করতে পারে, এটি এটি করে না । এক্স [ : , i ] y আর 2 আই = ρ 2 আই আর 2 আই < আর 2 ρ 2 আইRi2LinearRegressionX[:,i]yRi2=ρi2

Ri2<Rj2ρi21ρi2<ρj21ρj2Fi<Fj.
f_regressionLinearRegressionSelectKBest

2
বাহ, সুতরাং- সিলেক্ট বেস্ট` ক্রমাগত কোনও মডেল তৈরি করে না।
Hunle

এটি মূল্যবান কিসের জন্য, আমি ব্যবহারকারীর 43451 এর ব্যাখ্যার সাথে একমত। এবং, আমি আশা করি স্ক্লের্ন এটিকে কেবল একক বৈশিষ্ট্যের সাথে সম্পর্কিত সম্পর্কযুক্ত র‌্যাঙ্ক বলে call এফ-টেস্ট, আমার জন্য, ক্রমযুক্ত মডেলগুলির ধারণাটি আনুন যেমন উইঙ্কস তার গ্রহণযোগ্য উত্তরে ইঙ্গিত করেছিলেন।
মিঃডিআরফেনার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.