পাইথনে বহুবিবাহ রৈখিক রিগ্রেশন


9

আমি পাইথন প্যাকেজটির সন্ধান করছি যা মাল্টিভারিয়েট লিনিয়ার রিগ্রেশন প্রয়োগ করে।

(টার্মিনোলজিকাল নোট: একাধিক রিগ্রেনশন ভেরিয়েবল রয়েছে এমন ক্ষেত্রে মাল্টিভারিয়েট রিগ্রেশন সেই ক্ষেত্রে ডিল করে যখন একাধিক রিগ্রেশন এমন একটি ক্ষেত্রে নির্ভর করে যেখানে একটি নির্ভরশীল ভেরিয়েবল রয়েছে তবে একাধিক স্বতন্ত্র ভেরিয়েবল রয়েছে।)


আমি এটিতে আগ্রহী কিন্তু অ-রৈখিক রূপান্তর পরে কেবল বৈশিষ্ট্য ভেক্টর চাই। সুতরাং সারিটিতে 2 ভেরিয়েবল সহ 2 ডিগ্রি মডেলের জন্য বলুন। [1,এক্স1,এক্স2,এক্স1এক্স2,এক্স12,এক্স22]
পিনোচিও

উত্তর:


8

আপনি এখনও sklearn.linear_model.LinearRegression ব্যবহার করতে পারেন । yআপনার নির্ভরশীল ভেরিয়েবলগুলি যতগুলি কলাম সহ কেবল আউটপুটকে ম্যাট্রিক্স করুন। আপনি যদি অ-রৈখিক কিছু চান তবে আপনি বিভিন্ন ভিত্তি ফাংশনগুলি চেষ্টা করতে পারেন, বহুভিত্তিক বৈশিষ্ট্যগুলি ব্যবহার করতে পারেন, বা প্রতিরোধের জন্য একটি আলাদা পদ্ধতি ব্যবহার করতে পারেন (যেমন কোনও এনএন)।


1
আপনি বিশেষভাবে মাল্টিভারিয়েট লজিস্টিক রিগ্রেশন সম্পর্কে জিজ্ঞাসা করছেন? যেমন আপনি একবারে অনেকগুলি শ্রেণিবদ্ধকরণ করতে চান? মাল্টিভারিয়েট লিনিয়ার রিগ্রেশন অবশ্যই প্রয়োগ করা হয়েছে। স্কলনার লাইব্রেরিটি ব্যবহার করার জন্য লজিস্টিক রিগ্রেশনকে আলাদাভাবে ফ্রেম করতে হবে।
jamesmf

ওফস, দুঃখিত আমি ভুলভাবে পড়েছি, আমি sklearn.linear_model.LogisticRegression ডকুমেন্টেশন লিনিয়ার রিগ্রেশন সম্পর্কে ভাবছিলাম। ভবিষ্যতের পাঠকদের বিভ্রান্ত না করার জন্য আমি আমার মন্তব্য সরিয়ে ফেলব। ধন্যবাদ!
ফ্রাঙ্ক ডারননকোর্ট

আশা করি আপনি কীভাবে বহুপদী বৈশিষ্ট্য ভেক্টর পাবেন তা জোর দিয়েছিলেন ...
পিনোকিও


2

কেবল মজাদার জন্য আপনি টিপলস তৈরি করে হাতে ফিচারটি গণনা করতে পারেন গুলিকুই=(1,,এন) যেমন যে এসতোমার দর্শন লগ করামি(গুলিকুই)=Σআমি=1এনডি। একবার আপনি এই টিউপসগুলি ফর্ম করার পরে প্রতিটি এন্ট্রি বর্তমান কাঁচা বৈশিষ্ট্যটি উত্থাপিত হওয়া শক্তিটি নির্দেশ করে। তাই বলে(1,2,3) একচেটিয়া মানচিত্র হবে এক্স1এক্স22এক্স33

টিপলস পেতে কোডটি হল:

def generate_all_tuples_for_monomials(N,D):
    if D == 0:
        seq0 = N*[0]
        sequences_degree_0 = [seq0]
        S_0 = {0:sequences_degree_0}
        return S_0
    else:
        # S_all = [ k->S_D ] ~ [ k->[seq0,...,seqK]]
        S_all = generate_all_tuples_for_monomials(N,D-1)# S^* = (S^*_D-1) U S_D
        print(S_all)
        #
        S_D_current = []
        # for every prev set of degree tuples
        #for d in range(len(S_all.items())): # d \in [0,...,D_current]
        d = D-1
        d_new = D - d # get new valid degree number
        # for each sequences, create the new valid degree tuple
        S_all_seq_for_deg_d = S_all[d]
        for seq in S_all[d]:
            for pos in range(N):
                seq_new = seq[:]
                seq_new[pos] = seq_new[pos] + d_new # seq elements dd to D
                if seq_new not in S_D_current:
                    S_D_current.append(seq_new)
        S_all[D] = S_D_current
        return S_all

যদি আপনি লিনিয়ার বীজগণিত জানেন তবে রিগ্রেশন করা সহজ হওয়া উচিত।

c = pseudo_inverse(X_poly)*y

উদাহরণ। সাধারণীকরণে আপনার আগ্রহ থাকলেও নিয়মিত রৈখিক প্রতিরোধকে নিয়মিত করা ভাল।


যুবালের কাছে স্বীকৃতি হ'ল সাহায্যের জন্য সিএস এক্সচেঞ্জ

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.