ডিসিশন ট্রি একটি সুপারভাইজড লার্নিং অ্যালগরিদম যা ক্লাসিফিকেশনে ব্যবহৃত হয়। প্রতিটি নোড ফিচার রিপ্রেজেন্ট করে, এজ ডিসিশন। scikit-learn লাইব্রেরি ব্যবহার করে ড্রাগ টেস্ট ডেটাসেটে ইমপ্লিমেন্টেশন।
স্টেপস
- পান্ডাস দিয়ে CSV ডেটা লোড করুন।
- লেবেল এনকোডিং দিয়ে ক্যাটাগরিক্যাল ডেটা নümerিক্যাল করুন।
train_test_splitদিয়ে ট্রেন/টেস্ট স্প্লিট করুন (৩০% টেস্ট)।DecisionTreeClassifier(criterion="entropy", max_depth=4)ট্রেন করুন।- প্রেডিকশন করে একুরেসি বের করুন।
উদাহরণ কোড (সংক্ষিপ্ত)
import pandas as pd
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn import preprocessing, metrics
datainput = pd.read_csv("drug.csv", delimiter=",")
X = datainput[['Age','Sex','BP','Cholesterol','Na_to_K']].values
# লেবেল এনকোডিং
label_gender = preprocessing.LabelEncoder()
label_gender.fit(['F','M'])
X[:,1] = label_gender.transform(X[:,1])
# BP, Cholesterol এর জন্যও একইভাবে...
y = datainput["Drug"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=3)
drugTree = DecisionTreeClassifier(criterion="entropy", max_depth=4)
drugTree.fit(X_train, y_train)
predicted = drugTree.predict(X_test)
print("Accuracy:", metrics.accuracy_score(y_test, predicted))
আউটপুট
DecisionTrees's Accuracy: 0.9833333333333333