#coding:utf-8
#导入warnings包,利用过滤器来实现忽略警告语句。
import warnings
warnings.filterwarnings('ignore')
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from pyod.utils.data import generate_data
# 读取数据
Train_data = pd.read_csv('breast-cancer-unsupervised-ad.csv')
# 分割数据
contamination = 0.1
n_train = 1000
n_test = 300
X_train,y_train,X_test,y_test = generate_data(n_train=n_train,
n_test=n_test,
contamination = contamination)
# 使用PCA
from pyod.models.pca import PCA
# train PCA detector
clf_name ='PCA'
clf = PCA()
# fit the model
clf.fit(X_train)
# get the prediction labels and outlier scores of the training data
y_train_pred = clf.labels_ # binary labels (0: inliers, 1: outliers)
y_train_scores = clf.decision_scores_ # raw outlier scores
# get the prediction labels and outlier scores of the test data
y_test_pred = clf.predict(X_test) # outlier labels (0 or 1)
y_test_scores = clf.decision_function(X_test) # outlier scores
y_test_pred_proba = clf.predict_proba(X_test) # the probability of being an outlier
#可视化结果
from pyod.utils.example import visualize
print(visualize(clf_name, X_train, y_train, X_test, y_test, y_train_pred, y_test_pred, show_figure=True))
#coding:utf-8#导入warnings包,利用过滤器来实现忽略警告语句。import warningswarnings.filterwarnings('ignore')import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport seaborn as snsfrom pyod.utils.data import generate_data# 读取数据Train_data = pd.rea