loading...

بازدید : 2
چهارشنبه 9 بهمن 1403 زمان : 14:52

#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

درخت تصمیم گیری در پایتون
بازدید : 0
چهارشنبه 9 بهمن 1403 زمان : 14:52

#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

نزدیک ترین همسایه در پایتون
بازدید : 1
چهارشنبه 9 بهمن 1403 زمان : 14:52

#Importing needed packages

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from sklearn import preprocessing

برای نصب بسته‌ها، قبل از ورود به پایتون و در ترمینال از دستور 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/teleCust1000t.csv")
# take a look at the dataset
print(df.head())
# summarize the data
print(df.describe())
#how many of each class is in our data set
df['custcat'].value_counts()

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

اگر دستور head و امثال آن در ترمینال نوشته شود نیازی به print() نیست. اما اگر در IDE نوشته شود بدون print() چیزی نمایش داده نمی‌شود.

#Feature set

df.columns
X = df[['region', 'tenure','age', 'marital', 'address', 'income', 'ed', 'employ','retire', 'gender', 'reside']] .values
y = df['custcat'].values

برای استفاده از کتابخانه scikit-learn لازم است از طریق کد بالا قالب داده pandas به آرایه Numphy تبدیل شود.

#Histogram plot

df.hist(column='income', bins=50)
plt.show()

#Creating train and test dataset

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split( X, y, test_size=0.2, random_state=4)
print ('Train set:', X_train.shape,  y_train.shape)
print ('Test set:', X_test.shape,  y_test.shape)

#Normalize data

X_train_norm = preprocessing.StandardScaler().fit(X_train).transform(X_train.astype(float))

استاندارد کردن داده‌ها سبب ایجاد میانگین صفر و واریانس یک می‌شود. این کار برای الگوریتم‌های مبتنی بر فاصله مانند KNN ضروری است.

#Classifiaction

from sklearn.neighbors import KNeighborsClassifier
k = 4
#Train Model and Predict
neigh = KNeighborsClassifier(n_neighbors = k).fit(X_train_norm,y_train)
print(neigh)
X_test_norm = preprocessing.StandardScaler().fit(X_test).transform(X_test.astype(float))
yhat = neigh.predict(X_test_norm)

#Evaluation

from sklearn import metrics
print("Train set Accuracy: ", metrics.accuracy_score(y_train, neigh.predict(X_train_norm)))
print("Test set Accuracy: ", metrics.accuracy_score(y_test, yhat))

ارزیابی براساس روش جاکارد ( jaccard_score ) انجام گرفت.

#The best K

Ks = 10
mean_acc = np.zeros((Ks-1))
std_acc = np.zeros((Ks-1))

for n in range(1,Ks):

    #Train Model and Predict
    neigh = KNeighborsClassifier(n_neighbors = n).fit(X_train_norm,y_train)
    yhat=neigh.predict(X_test_norm)
    mean_acc[n-1] = metrics.accuracy_score(y_test, yhat)


    std_acc[n-1]=np.std(yhat==y_test)/np.sqrt(yhat.shape[0])

print(mean_acc)

#Plot the accuracy vs K

plt.plot(range(1,Ks),mean_acc,'g')
plt.fill_between(range(1,Ks),mean_acc - 1 * std_acc,mean_acc + 1 * std_acc, alpha=0.10)
plt.fill_between(range(1,Ks),mean_acc - 3 * std_acc,mean_acc + 3 * std_acc, alpha=0.10,color="green")
plt.legend(('Accuracy ', '+/- 1xstd','+/- 3xstd'))
plt.ylabel('Accuracy ')
plt.xlabel('Number of Neighbors (K)')
plt.tight_layout()
plt.show()

print( "The best accuracy was with", mean_acc.max(), "with k=", mean_acc.argmax()+1)

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

هکرها از XWorm RAT برای بهره برداری از اسکریپت Kiddies، Pwning 18000 دستگاه استفاده می کنند.

تعداد صفحات : -1

آمار سایت
  • کل مطالب : 0
  • کل نظرات : 0
  • افراد آنلاین : 2
  • تعداد اعضا : 0
  • بازدید امروز : 1
  • بازدید کننده امروز : 2
  • باردید دیروز : 1
  • بازدید کننده دیروز : 1
  • گوگل امروز : 0
  • گوگل دیروز : 0
  • بازدید هفته : 4
  • بازدید ماه : 2
  • بازدید سال : 5
  • بازدید کلی : 38
  • کدهای اختصاصی