1. 程式人生 > >算法代碼

算法代碼

tar 獲得 str vector 代碼 分類器 for pre 繪制

數據預處理-算法加工-預測-校驗

knn 

     #構建kNN分類器
    neigh = kNN(n_neighbors = 3, algorithm = auto)
    #擬合模型, trainingMat為訓練矩陣,hwLabels為對應的標簽
    neigh.fit(trainingMat, hwLabels)
    #獲得預測結果,vectorUnderTest 向量
        classifierResult = neigh.predict(vectorUnderTest)    

決策樹

lenses_pd = pd.DataFrame(lenses_dict)  # 生成pandas.DataFrame
# print(lenses_pd) #打印pandas.DataFrame
le = LabelEncoder() # 創建LabelEncoder()對象,用於序列化
for col in lenses_pd.columns: # 序列化
lenses_pd[col] = le.fit_transform(lenses_pd[col])

clf = tree.DecisionTreeClassifier(max_depth=4) # 創建DecisionTreeClassifier()類
clf = clf.fit(lenses_pd.values.tolist(), lenses_target) # 使用數據,構建決策樹

dot_data = StringIO()
tree.export_graphviz(clf, out_file=dot_data, # 繪制決策樹
feature_names=lenses_pd.keys(),
class_names=clf.classes_,
filled=True, rounded=True,
special_characters=True)
# graph = pydotplus.graph_from_dot_data(dot_data.getvalue())
# graph.write_pdf("tree.pdf") # 保存繪制好的決策樹,以PDF的形式存儲。

print(clf.predict([[1, 1, 1, 0]])) # 預測

算法代碼