English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

pythonでsklearnパッケージを使用して決定木のソースコードを書く

Pythonで決定木のソースコードを書いた例を共有しました。ご参照ください。具体的な内容は以下の通りです

因为最近实习的需要,所以用python里的sklearn包重新写了一次决策树。

工具:sklearn,将dot文件转换为pdf格式(是为了将形成的决策树可视化)graphviz-2.38,下载解压后将其中的bin文件的目录添加到环境变量中

源代码如下:

from sklearn.feature_extraction import DictVectorizer
import csv
from sklearn import tree
from sklearn import preprocessing
from sklearn.externals.six import StringIO
from xml.sax.handler import feature_external_ges
from numpy.distutils.fcompiler import dummy_fortran_file
# 读取csv文件并将特征放入字典列表和类标签列表中
allElectronicsData = open(r'E:/DeepLearning/resources/AllElectronics.csv', 'rt')
reader = csv.reader(allElectronicsData)
headers = next(reader)
featureList = []
lableList = []
for row in reader:
lableList.append(row[len(row)-1])
rowDict = {}
# 不包括len(row)-1
for i in range(1,len(row)-1)
rowDict[headers[i]] = row[i]
featureList.append(rowDict)
print(featureList)
vec = DictVectorizer()
dummX = vec.fit_transform(featureList).toarray()
print(str(dummX))
lb = preprocessing.LabelBinarizer()
dummY = lb.fit_transform(lableList)
print(str(dummY))
#entropy=>ID3
clf = tree.DecisionTreeClassifier(criterion='entropy')
clf = clf.fit(dummX, dummY)
print("clf:")+str(clf))
#treeの可視化
with open("resultTree.dot",'w')as f:
f = tree.export_graphviz(clf, feature_names=vec.get_feature_names(),out_file = f)
#新しいデータの分類をどのように確認するか
oneRowX = dummX[0,:]
print("oneRowX: ")+str(oneRowX))
newRowX = oneRowX
newRowX[0] = 1
newRowX[2] = 0
predictedY = clf.predict(newRowX)
print("predictedY: ")+ str(predictedY))

ここに示すように、AllElectronics.csvの形式は以下の通りです:

今朝、jdk、eclipse、pydevをlinuxにインストールするのに苦労しましたが、numpyをインストールしようとすると、常にエラーが発生しました。gccがないことに気づき、gccをインストールしに行きましたが、gccがまだインストールされていません。もう少し考えてみましょう。

声明:このコンテンツはインターネットから取得しており、著作権者はすべて権利を保有しています。コンテンツはインターネットユーザーによって自発的に提供され、アップロードされました。このサイトは所有権を持ちませんし、人工的な編集を施していないため、関連する法的責任を負いません。著作権侵害の疑いがある場合は、以下のメールアドレスにご連絡ください:notice#oldtoolbag.com(メール送信時、#を@に置き換えてください)で報告し、関連する証拠を提供してください。一旦確認がつき、このサイトは侵害疑いのコンテンツをすぐに削除します。

おすすめ