>>> from sklearn.metrics import roc_curve, auc
    >>> from numpy import interp
    >>> pipe_lr = make_pipeline(
    ...     StandardScaler(),
    ...     PCA(n_components=2),
    ...     LogisticRegression(penalty='l2', random_state=1,
    ...                        solver='lbfgs', C=100.0)
    ... )
    >>> X_train2 = X_train[:, [4, 14]]
    >>> cv = list(StratifiedKFold(n_splits=3).split(X_train, y_train))
    >>> fig = plt.figure(figsize=(7, 5))
    >>> mean_tpr = 0.0
    >>> mean_fpr = np.linspace(0, 1, 100)
    >>> all_tpr = []
    >>> for i, (train, test) in enumerate(cv):
    ...     probas = pipe_lr.fit(
    ...         X_train2[train],
    ...         y_train[train]
    ...     ).predict_proba(X_train2[test])
    ...     fpr, tpr, thresholds = roc_curve(y_train[test],
    ...                                      probas[:, 1],
    ...                                      pos_label=1)
    ...     mean_tpr += interp(mean_fpr, fpr, tpr)
    ...     mean_tpr[0] = 0.0
    ...     roc_auc = auc(fpr, tpr)
    ...     plt.plot(fpr,
    ...              tpr,
    ...              label=f'ROC fold {i+1} (area = {roc_auc:.2f})')
    
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.