ฉันกำลังมองหาแพ็คเกจ Python ที่ใช้การถดถอยเชิงเส้นหลายตัวแปร
(หมายเหตุเกี่ยวกับคำศัพท์: การถดถอยหลายตัวแปรที่เกี่ยวข้องกับกรณีที่มีมากกว่าหนึ่งตัวแปรขึ้นอยู่กับในขณะที่หลาย ๆการถดถอยเกี่ยวข้องกับกรณีที่มีตัวแปรตาม แต่หนึ่งตัวแปรอิสระมากกว่าหนึ่ง)
ฉันกำลังมองหาแพ็คเกจ Python ที่ใช้การถดถอยเชิงเส้นหลายตัวแปร
(หมายเหตุเกี่ยวกับคำศัพท์: การถดถอยหลายตัวแปรที่เกี่ยวข้องกับกรณีที่มีมากกว่าหนึ่งตัวแปรขึ้นอยู่กับในขณะที่หลาย ๆการถดถอยเกี่ยวข้องกับกรณีที่มีตัวแปรตาม แต่หนึ่งตัวแปรอิสระมากกว่าหนึ่ง)
คำตอบ:
คุณยังสามารถใช้sklearn.linear_model.LinearRegression เพียงทำให้y
เมทริกซ์เอาต์พุตมีหลายคอลัมน์ตามที่คุณมีตัวแปรตาม หากคุณต้องการบางอย่างที่ไม่ใช่เชิงเส้นคุณสามารถลองใช้ฟังก์ชันพื้นฐานอื่น ๆ ใช้คุณสมบัติพหุนามหรือใช้วิธีอื่นในการถดถอย (เช่น NN)
เพื่อความสนุกคุณสามารถคำนวณคุณสมบัติด้วยมือโดยสร้างสิ่งอันดับ ดังนั้น . เมื่อคุณสร้างสิ่งอันดับเหล่านั้นแต่ละรายการจะบ่งชี้ถึงอำนาจคุณลักษณะดิบปัจจุบันควรได้รับการยก ดังนั้นพูดว่า จะแมปไปที่ monomial .
รหัสที่จะได้รับสิ่งอันดับคือ:
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
ตัวอย่าง. น่าจะดีกว่าที่จะทำการถดถอยเชิงเส้นปกติแม้ว่าถ้าคุณสนใจในลักษณะทั่วไป
กิตติกรรมประกาศเป็นYuval คือการแลกเปลี่ยน CSเพื่อขอความช่วยเหลือ