۲ مطلب در مهر ۱۴۰۲ ثبت شده است

درخت رگرسیون در پایتون

#Importing Needed packages

import pandas as pd
from sklearn.tree import DecisionTreeRegressor
from sklearn.model_selection import train_test_split

قبل از فراخوانی بسته ها باید آنها را نصب داشته باشیم. برای نصب بسته ها، قبل از ورود به پایتون و در ترمینال از دستور pip3 install PACKAGE(s) NAME استفاده می کنیم.

#Downloading and Reading Data

data = pd.read_csv("https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBMDeveloperSkillsNetwork-ML0101EN-SkillsNetwork/labs/Module%203/data/real_estate_data.csv")
print(data.shape)
print(data.isna().sum())
#drop missing value
data.dropna(inplace=True)
print(data.isna().sum())

آدرس فوق یک مثال برای انجام کد است و می تواند داده دیگری جایگزین آن گردد.

#Select some features

X = data.drop(columns=["MEDV"])
Y = data["MEDV"]

#Creating train and test dataset

X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=.2, random_state=1)

#Modeling

regression_tree = DecisionTreeRegressor(criterion = "squared_error")
regression_tree.fit(X_train, Y_train)
#R2
print(regression_tree.score(X_test, Y_test))

روش های 'squared_error', 'absolute_error', 'poisson', 'friedman_mse' می توانند بعنوان معیار تعیین خطا انتخاب شوند.

#Predictions

prediction = regression_tree.predict(X_test)

#Evaluation

print("$",(prediction - Y_test).abs().mean()*1000)

#Visualization

tree.plot_tree(drugTree)
plt.show()

برگرفته از Machine learning with Python, IBM Developer 

۰ نظر موافقین ۰ مخالفین ۰
Dr. JAN

درخت تصمیم گیری در پایتون

#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"]

#Converting 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 

۰ نظر موافقین ۰ مخالفین ۰
Dr. JAN