算法代碼
阿新 • • 發佈:2019-03-18
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]])) # 預測
算法代碼