TensorFlow - रैखिक प्रतिगमन

इस अध्याय में, हम TensorFlow का उपयोग करके रैखिक प्रतिगमन कार्यान्वयन के मूल उदाहरण पर ध्यान केंद्रित करेंगे। लॉजिस्टिक रिग्रेशन या लीनियर रिग्रेशन ऑर्डर डिसक्रीट श्रेणियों के वर्गीकरण के लिए एक पर्यवेक्षित मशीन लर्निंग अप्रोच है। इस अध्याय में हमारा लक्ष्य एक मॉडल का निर्माण करना है जिसके द्वारा एक उपयोगकर्ता भविष्यवक्ता चर और एक या अधिक स्वतंत्र चर के बीच संबंधों की भविष्यवाणी कर सकता है।

इन दो चर के बीच संबंध है considered रैखिक। यदि y आश्रित चर है और x को स्वतंत्र चर माना जाता है, तो दो चरों के रैखिक प्रतिगमन संबंध निम्न प्रकार दिखाई देंगे -

Y = Ax+b

हम रैखिक प्रतिगमन के लिए एक एल्गोरिथ्म डिजाइन करेंगे। यह हमें निम्नलिखित दो महत्वपूर्ण अवधारणाओं को समझने की अनुमति देगा -

  • लागत कार्य
  • धीरे-धीरे वंश एल्गोरिदम

रैखिक प्रतिगमन का योजनाबद्ध प्रतिनिधित्व नीचे दिया गया है -

रेखीय प्रतिगमन के समीकरण का ग्राफिकल दृश्य नीचे उल्लिखित है -

रैखिक प्रतिगमन के लिए एक एल्गोरिथ्म डिजाइन करने के लिए कदम

अब हम उन चरणों के बारे में जानेंगे जो रैखिक प्रतिगमन के लिए एक एल्गोरिथ्म को डिजाइन करने में मदद करते हैं।

चरण 1

रैखिक प्रतिगमन मॉड्यूल की साजिश रचने के लिए आवश्यक मॉड्यूल आयात करना महत्वपूर्ण है। हम पायथन लाइब्रेरी न्यूपे और माट्लोटलिब का आयात शुरू करते हैं।

import numpy as np 
import matplotlib.pyplot as plt

चरण 2

लॉजिस्टिक रिग्रेशन के लिए आवश्यक गुणांक की संख्या निर्धारित करें।

number_of_points = 500 
x_point = [] 
y_point = [] 
a = 0.22 
b = 0.78

चरण 3

प्रतिगमन समीकरण के चारों ओर 300 यादृच्छिक बिंदुओं को उत्पन्न करने के लिए चर को मिटाएँ -

Y = 0.22x + 0.78

for i in range(number_of_points): 
   x = np.random.normal(0.0,0.5) 
   y = a*x + b +np.random.normal(0.0,0.1) x_point.append([x]) 
   y_point.append([y])

चरण 4

Matplotlib का उपयोग करके उत्पन्न अंक देखें।

fplt.plot(x_point,y_point, 'o', label = 'Input Data') plt.legend() plt.show()

लॉजिस्टिक रिग्रेशन का पूरा कोड इस प्रकार है -

import numpy as np 
import matplotlib.pyplot as plt 

number_of_points = 500 
x_point = [] 
y_point = [] 
a = 0.22 
b = 0.78 

for i in range(number_of_points): 
   x = np.random.normal(0.0,0.5) 
   y = a*x + b +np.random.normal(0.0,0.1) x_point.append([x]) 
   y_point.append([y]) 
   
plt.plot(x_point,y_point, 'o', label = 'Input Data') plt.legend() 
plt.show()

इनपुट के रूप में लिए जाने वाले अंकों की संख्या को इनपुट डेटा माना जाता है।