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

كتابة شفرة مصدر شجرة القرار باستخدام مكتبة sklearn في Python

هذا المقال يشارككم أمثلة على كتابة شجرة القرار في python، للاستفادة منها، وتفاصيلها كالتالي

لأن الحاجة إلى التدريب العملي مؤخراً، لذلك كتبت شجرة القرار مرة أخرى باستخدام مكتبة sklearn في python.

أدوات: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))
#تحليل الشجرة
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 (عند إرسال البريد الإلكتروني، يرجى استبدال # بـ @) لإبلاغنا، وقدم الدليل على ذلك، إذا تم التحقق من ذلك، سيتم حذف المحتوى المزعوم فورًا.

التي قد تهمك