शुरू करेंमुफ़्त में शुरू करें

Aggregation method को ट्यून करना

जब optimal पड़ोसियों (neighbors) की संख्या मिल जाए, तो अब दूरी को aggregate करने वाले method को ट्यून करने का समय है। अगर n_neighbors 10 है, तो हर datapoint के अपने सबसे नज़दीकी पड़ोसियों तक की दस distance measurements होंगी। KNN इन distances को aggregate करने के लिए तीन methods इस्तेमाल करता है: largest, mean, और median.

पता लगाइए कि females_transformed डेटासेट के लिए कौन-सा method बेहतर है। KNN estimator, evaluate_outlier_classifier और evaluate_regressor फंक्शन आपके लिए लोड किए गए हैं।

याद दिलाने के लिए फंक्शन बॉडी नीचे दी गई हैं:

def evaluate_outlier_classifier(model, data, threshold=.75):
    model.fit(data)

    probs = model.predict_proba(data)
    inliers = data[probs[:, 1] <= threshold]

    return inliers

def evaluate_regressor(inliers):
    X, y = inliers.drop("weightkg", axis=1), inliers[['weightkg']]
    X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=10, train_size=0.8)

    lr = LinearRegression()
    lr.fit(X_train, y_train)

    preds = lr.predict(X_test)
    rmse = root_mean_squared_error(y_test, preds)

    return round(rmse, 3)

यह अभ्यास पाठ्यक्रम का हिस्सा है

Python में Anomaly Detection

पाठ्यक्रम देखें

अभ्यास निर्देश

  • n_neighbors और methods के product पर loop चलाइए और k तथा m को अस्थायी वैरिएबल मानकर KNN instantiate कीजिए.
  • मौजूदा KNN और 50% के threshold के साथ inliers निकालिए.
  • RMSE निकालिए और परिणाम को scores में k, m को key और RMSE को value के रूप में स्टोर कीजिए.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

n_neighbors = [5, 20]
methods = ['largest', 'mean', 'median']
scores = dict()

for k, m in ____:
    # Create a KNN instance
    knn = KNN(____, ____, n_jobs=-1)
    
    # Find the inliers with the current KNN
    inliers = ____

    # Calculate and store RMSE into scores
    scores[(k, m)] = ____
    
print(scores)
कोड संपादित करें और चलाएँ