scikit-learn API: fit, transform, predict
एस्टिमेटर इंटरफ़ेस और ट्रेन/टेस्ट विभाजन की कार्यप्रणाली समझें।
scikit-learn API: fit, transform, predict, CoddyKit पर Python Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Python Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Python Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
scikit-learn क्या है
scikit-learn शास्त्रीय मशीन लर्निंग के लिए सबसे अधिक उपयोग की जाने वाली Python लाइब्रेरी है। यह एकसमान API प्रदान करती है: हर अनुमानक में fit() होता है और अधिकांश में predict() या transform() होता है।
from sklearn.linear_model import LinearRegression
import numpy as np
X = np.array([[1],[2],[3],[4],[5]])
y = np.array([2, 4, 6, 8, 10])
model = LinearRegression().fit(X, y)
print(model.predict([[6]])) # [12.]ट्रेन/टेस्ट विभाजन
प्रशिक्षण से पहले डेटा को हमेशा विभाजित करें, ताकि यह आकलन किया जा सके कि मॉडल अनदेखे डेटा पर कितनी अच्छी तरह सामान्यीकृत होता है।
from sklearn.model_selection import train_test_split
import numpy as np
X = np.random.rand(100, 5)
y = (X[:,0] > 0.5).astype(int)
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42
)
print(X_train.shape, X_test.shape) # (80,5) (20,5)fit() — प्रशिक्षण
estimator.fit(X, y) मॉडल को X (विशेषताएँ) और y (लेबल) पर प्रशिक्षित करता है। बिना पर्यवेक्षण वाली विधियों के लिए केवल X दिया जाता है।
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import make_classification
X, y = make_classification(n_samples=200, random_state=0)
model = LogisticRegression()
model.fit(X, y)
print("Trained:", model.classes_)predict() और predict_proba()
predict(X) वर्ग लेबल लौटाता है; predict_proba(X) वर्गीकरणकर्ताओं के लिए वर्ग-प्रायिकताएँ लौटाता है।
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import make_classification
X, y = make_classification(random_state=0)
model = LogisticRegression().fit(X, y)
print(model.predict(X[:5])) # [0 1 0 ...]
print(model.predict_proba(X[:2])) # [[0.7 0.3] ...]रूपांतरणकर्ता: fit और transform
रूपांतरणकर्ताओं (स्केलर, एनकोडर) में fit(X) + transform(X) होते हैं। हमेशा केवल प्रशिक्षण डेटा पर fit करें, फिर प्रशिक्षण और परीक्षण दोनों को transform करें।
from sklearn.preprocessing import StandardScaler
import numpy as np
X_train = np.array([[1,2],[3,4],[5,6]])
X_test = np.array([[2,3],[4,5]])
scaler = StandardScaler()
X_train_s = scaler.fit_transform(X_train) # fit + transform
X_test_s = scaler.transform(X_test) # transform only (using train stats)Pipeline
एक Pipeline रूपांतरणकर्ताओं और अनुमानक को एक ही ऑब्जेक्ट में जोड़ती है। यह क्रॉस-वैलिडेशन के दौरान रूपांतरण सही तरीके से लागू करके डेटा रिसाव को रोकती है।
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVC
pipe = Pipeline([
("scaler", StandardScaler()),
("clf", SVC())
])
pipe.fit(X_train, y_train)
print(pipe.score(X_test, y_test))सटीकता और अन्य मापदंड
वर्गीकरणकर्ताओं का मूल्यांकन करने के लिए accuracy_score, f1_score, classification_report का उपयोग करें।
from sklearn.metrics import accuracy_score, classification_report
y_pred = model.predict(X_test)
print(accuracy_score(y_test, y_pred))
print(classification_report(y_test, y_pred))क्रॉस-वैलिडेशन
cross_val_score डेटा को मैन्युअल रूप से विभाजित किए बिना k-fold क्रॉस-वैलिडेशन का उपयोग करके मॉडल का मूल्यांकन करता है।
from sklearn.model_selection import cross_val_score
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import make_classification
X, y = make_classification(random_state=0)
scores = cross_val_score(LogisticRegression(), X, y, cv=5)
print(f"CV scores: {scores.mean():.3f} ± {scores.std():.3f}")GridSearchCV से हाइपरपैरामीटर ट्यूनिंग
GridSearchCV सर्वोत्तम हाइपरपैरामीटर खोजने के लिए क्रॉस-वैलिडेशन का उपयोग करके पैरामीटर ग्रिड में हर संभावित विकल्प को जाँचता है।
from sklearn.model_selection import GridSearchCV
from sklearn.svm import SVC
from sklearn.datasets import make_classification
X, y = make_classification(random_state=0)
param_grid = {"C": [0.1, 1, 10], "kernel": ["rbf", "linear"]}
gs = GridSearchCV(SVC(), param_grid, cv=5)
gs.fit(X, y)
print(gs.best_params_, gs.best_score_)पूर्व-प्रसंस्करण: LabelEncoder और OneHotEncoder
श्रेणीबद्ध लेबल को LabelEncoder से और श्रेणीबद्ध विशेषताओं को OneHotEncoder या ColumnTransformer से एनकोड करें।
from sklearn.preprocessing import LabelEncoder, OneHotEncoder
import numpy as np
le = LabelEncoder()
print(le.fit_transform(["cat","dog","cat","fish"])) # [0 1 0 2]
ohe = OneHotEncoder(sparse_output=False)
print(ohe.fit_transform([["red"],["green"],["blue"]]))मॉडल सहेजना और लोड करना
प्रशिक्षित मॉडल को joblib से सुरक्षित रखें (NumPy ऐरे के लिए pickle से तेज़)।
import joblib
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import make_classification
X, y = make_classification(random_state=0)
model = LogisticRegression().fit(X, y)
joblib.dump(model, "model.joblib")
loaded = joblib.load("model.joblib")
print(loaded.predict(X[:3]))त्वरित जाँच
आपको scaler.fit() केवल प्रशिक्षण डेटा पर ही क्यों कॉल करना चाहिए, परीक्षण डेटा पर क्यों नहीं?
पुनरावलोकन
scikit-learn का API एकसमान है: fit() प्रशिक्षित करता है, predict() अनुमान लगाता है और transform() पूर्व-प्रसंस्करण करता है। चरणों को जोड़ने के लिए Pipeline का उपयोग करें। डेटा को train_test_split से विभाजित करें, cross_val_score से मूल्यांकन करें और GridSearchCV से ट्यून करें।
एआई शिक्षक के साथ Python सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 76
- पाठ
- 320
अक्सर पूछे जाने वाले प्रश्न
क्या “scikit-learn API: fit, transform, predict” पाठ निःशुल्क है?
हाँ—“scikit-learn API: fit, transform, predict” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Python Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Python Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“scikit-learn API: fit, transform, predict” में मैं क्या सीखूँगा?
एस्टिमेटर इंटरफ़ेस और ट्रेन/टेस्ट विभाजन की कार्यप्रणाली समझें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Python Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Python Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Python Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“scikit-learn API: fit, transform, predict” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Python Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Python Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- scikit-learn API: fit, transform, predict
- रैखिक मॉडल: प्रतिगमन और वर्गीकरण
- ट्री-आधारित मॉडल: निर्णय वृक्ष और रैंडम फ़ॉरेस्ट
- मॉडल मूल्यांकन और क्रॉस-वैलिडेशन