主成分分析的实例
from pyod.models.pca import PCA
from pyod.utils.data import generate_data
from pyod.utils.data import evaluate_print
from pyod.utils.example import visualize
#生成样本数据
contamination = 0.1 #异常数据的比例
n_train =200 #训练数据
n_test = 100 #测试数据
X_train, y_train,X_test, y_test = generate_data(n_train = n_train,n_test = n_test, contamination = contamination)
#初始化PCA检测器,拟合模型,然后进行预测
clf_name = 'PCA'
clf = PCA()
clf.fit(X_train)
#得到预测的标签和训练集的得分
y_train_pred = clf.labels_
y_train_scores = clf.decision_scores_
#得到测试集上的预测
y_test_pred = clf.predict(X_test)
y_test_scores = clf.decision_function(X_test)
#使用ROC和Precision
#评估并打印结果
print("\nPCA on Training Data:")
evaluate_print(clf_name,y_train,y_train_scores)
print("\nPCA on Test Data:")
evaluate_print(clf_name,y_test,y_test_scores)
#可视化来看
visualize(clf_name,X_train,y_train,X_test,y_test,y_train_pred,y_test_pred,show_figure = True, save_figure = True)