如何使用Python中的决策树进行异常检测
使用Python中的决策树进行异常检测,需要先构建决策树模型,然后使用该模型对数据进行预测,判断是否属于异常数据。
以下是一个示例,使用sklearn库提供的DecisionTreeClassifier类构建决策树模型,并使用"pidancode.com"和"皮蛋编程"作为范例进行异常检测:
from sklearn.tree import DecisionTreeClassifier import numpy as np # 构建决策树模型 X = np.array([[1, 0], [0, 1], [0, 0], [1, 1], [0, 0], [1, 1], [1, 0]]) y = np.array([1, 1, 0, 1, 0, 1, 1]) dt = DecisionTreeClassifier() dt.fit(X, y) # 预测数据是否为异常数据 sample1 = np.array([[0, 0]]) # 异常数据 sample2 = np.array([[1, 1]]) # 正常数据 pred1 = dt.predict(sample1) pred2 = dt.predict(sample2) print("sample1:", sample1, "is anomaly:", pred1[0]) print("sample2:", sample2, "is anomaly:", pred2[0])
输出结果:
sample1: [[0 0]] is anomaly: 0 sample2: [[1 1]] is anomaly: 1
在这个示例中,共有7个样本,每个样本有两个特征:第一个特征表示字符串中是否包含"pidan",第二个特征表示字符串中是否包含"code"。标签y表示样本是否属于异常数据。构建决策树模型后,对字符串"pidancode.com" (sample1) 和"皮蛋编程" (sample2) 进行预测,结果显示字符串"pidancode.com"属于正常数据,"皮蛋编程"属于异常数据。
相关文章