درخت تصمیم با پایتون
درخت تصمیم مدلی است که برای حل وظایف دستهبندی (Classification) و رگرسیون (Regression) مورد استفاده قرار میگیرد. مدل، امکان تولید خروجیهای گوناگون را فراهم کرده و امکان انجام تصمیمگیری با دادهها را فراهم میکند.
درخت تصمیم با پایتون
اضافه کردن کتابخانهها
کتابخانه نامپای (Numpy) و train_test_split از کتابخانه سایکیتلِرن (Scikit-Learn) وارد (Import) میکنیم. با استفاده از کلاس فراخوانی شده از کتابخانه sklearn، مجموعه داده به دادههای آموزش (Training) و آزمون (Test) شکسته میشود، و به موجب آن، مدل روی دادههای آموزش ساخته و صحت این مدل در مقابل دادههای آزمون (Test) آزموده میشود.
import numpy as np from sklearn.model_selection import train_test_split import os; path="C:/Users/michaeljgrogan/Documents/a_documents/computing/data science/datasets" os.chdir(path) os.getcwd()
بارگذاری مجموعه داده و متغیرها
Python #Variables dataset=np.loadtxt("internetlogit.csv", delimiter=",") x=dataset[:,0:5] y=dataset[:,5] اکنون از np.loadtxt برای بارگذاری دادهها در فرمت csv استفاده میکنیم. Python #Variables dataset=np.loadtxt("internetlogit.csv", delimiter=",") x=dataset[:,0:5] y=dataset[:,5]
اضافه کردن DecisionTreeRegressor از sklearn
Python from sklearn.tree import DecisionTreeRegressor X_train, X_test, y_train, y_test = train_test_split(x, y) tree = DecisionTreeRegressor().fit(X_train,y_train)
تعیین صحت مجموعه آموزش و آزمون
print("Training set accuracy: {:.3f}".format(tree.score(X_train, y_train))) print("Test set accuracy: {:.3f}".format(tree.score(X_test, y_test)))
انجام پیشبینیها از درخت تصمیم
dtree = tree.predict(x) dtree خروجی: Python array([ 875., 1792., 27754., 28256., 4438., 2102., 8520., 500., 22997., 26517., 15109., 20956., 3310., 3197., 1211., 18005., 22854., 10278., 739., 3724., 4733., 971., 6263., 24677., ... 8113., 3166., 5332., 2232., 21989., 5360., 5837., 2509., 5580., 5947., 11564., 5888., 9130., 16105., 1593., 4448., 12771., 28511., 6883.])
محاسبه درصد خطای بین پیشبینیها و دادههای واقعی
percentageerror_tree=((y-dtree)/dtree)*100 percentageerror_tree np.mean(percentageerror_tree)
رسم درخت تصمیم
pip3 install graphviz Python from sklearn.tree import export_graphviz export_graphviz(tree,out_file="tree.dot") import graphviz with open("tree.dot") as f: dot_graph = f.read() graphviz.Source(dot_graph) dot -Tpdf tree.dot -o tree.pdf
با توجه به اینکه پس از محاسبات مشخص شده که مدل درخت تصمیم مورد استفاده در اینجا دارای نرخ صحت بالایی است، در حال حاضر هدف ترسیم نمودار آن به صورت بصری است تا امکان تفسیر روابط میان متغیرها پیدا شود. کتابخانهای که برای انجام این کار مورد استفاده قرار گرفته گرافویز (graphviz) نام دارند و با pip به شیوهای که در ادامه بیان میشود قابل نصب است. شایان توجه است که با توجه به استفاده نویسنده این مطلب از پایتون ۳.۶، pip3 برای نصب مورد استفاده قرار گرفته است. بعد از آن که گرافویز نصب شد، ابتدا درخت به صورت یک فایل .dot خروجی گرفته (export) و سپس مجددا وارد میشود. با پایان یافتن این کار، میتوان شِل (shell) را باز کرد و درخت تصمیم با پایتون را در فرمت pdf خروجی گرفت.
منتظر نظرات، پیشنهادات و انتقادات شما کاربران عزیز برای بهتر شدن بخشهای آموزشی سایت هستیم. در ارتباط با شاخههای مختلف هوش مصنوعی در این لینک بیشتر بخوانید.
خیلی مطالبتون بدرد بخور و عالی بود. ممنون
موفق باشید
سلام. میخواستم بدونم ضمیر خودآگاه و ناخودآگاه داره هوش مصنوعی مربوط به کدوم یک از شاخه های هوش مصنوعیه؟
ممنون میشم اگه پاسخ بدید!
در مورد الگوریتم های یادگیری ماشین بیشتر بخوانید تا اطلاعات کافی را بدست آورید.