English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
هذا المقال يشارككم أمثلة على كتابة شجرة القرار في 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 (عند إرسال البريد الإلكتروني، يرجى استبدال # بـ @) لإبلاغنا، وقدم الدليل على ذلك، إذا تم التحقق من ذلك، سيتم حذف المحتوى المزعوم فورًا.