#Importing Needed packages
import numpy as np import pandas as pd from sklearn.tree import DecisionTreeClassifier import sklearn.tree as tree
قبل از فراخوانی بستهها باید آنها را نصب داشته باشیم. برای نصب بستهها، قبل از ورود به پایتون و در ترمینال از دستور pip3 install PACKAGE(s) NAME استفاده میکنیم.
#Downloading and Reading Data
df= pd.read_csv("https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBMDeveloperSkillsNetwork-ML0101EN-SkillsNetwork/labs/Module%203/data/drug200.csv") print(df.head())
آدرس فوق یک مثال برای انجام کد است و میتواند داده دیگری جایگزین آن گردد.
#Select some features
X = df[['Age', 'Sex', 'BP', 'Cholesterol', 'Na_to_K']].values y = df["Drug"]
#C onverting categorical variable into numerical variables
from sklearn import preprocessing le_sex = preprocessing.LabelEncoder() le_sex.fit(['F','M']) X[:,1] = le_sex.transform(X[:,1]) le_BP = preprocessing.LabelEncoder() le_BP.fit([ 'LOW', 'NORMAL', 'HIGH']) X[:,2] = le_BP.transform(X[:,2]) le_Chol = preprocessing.LabelEncoder() le_Chol.fit([ 'NORMAL', 'HIGH']) X[:,3] = le_Chol.transform(X[:,3]) print(X[0:5])
#Creating train and test dataset
from sklearn.model_selection import train_test_split X_trainset, X_testset, y_trainset, y_testset = train_test_split(X, y, test_size=0.3, random_state=3)
#Modeling
drugTree = DecisionTreeClassifier(criterion="entropy", max_depth = 4) drugTree.fit(X_trainset,y_trainset)
#Predictions
predTree = drugTree.predict(X_testset) print (predTree [0:5]) print (y_testset [0:5])
#Evaluation
from sklearn import metrics import matplotlib.pyplot as plt print("DecisionTrees's Accuracy: ", metrics.accuracy_score(y_testset, predTree))
#Visualization
tree.plot_tree(drugTree) plt.show()
آنتروپی نشانه عدم اطمینان یا تصادفی بودن است و هرچه آنتروپی کمتر باشد (نزدیک به صفر باشد) خلوص گره بیشتر است.
برگرفته از Machine learning with Python, IBM Developer
نزدیک ترین همسایه در پایتون