Using scikit-learn to perform Logistic Regression for binary classification

Posted by



Logistic Regression เป็นอัลกอริทึมในการเรียนรู้แบบจำแนกแบบโครงสร้าง ที่ใช้ในงานที่มีการจำแนกโดยใช้ข้อมูลที่มีตัวแปรต้นที่เป็นตัวแปรจำเพาะ เช่น การจำแนกเพศ, การแยกประเภทของสินค้า, หรือการพยากรณ์ว่าลูกค้าจะซื้อสินค้าหรือไม่ โดยอัลกอริทึม Logistic Regression จะคำนวณความน่าจะเป็นที่คำตอบที่ได้จะอยู่ในกลุ่มหรือประเภทบางรายการ ในที่นี้เราจะแสดงการใช้ scikit-learn ในการทำ Logistic Regression สำหรับงานจำแนกแบบอย่างอย่างง่าย ที่มีชองเป็นบริโภคหรือไม่ (binary classification)

ขั้นตอนแรกในการทำ Logistic Regression คือ การนำเข้าข้อมูล โดยในที่นี้เราจะใช้ชุดข้อมูล Iris dataset ซึ่งเป็นชุดข้อมูลที่มีสองกลุ่มข้อมูลที่ต้องการจำแนก กลุ่มเห็ด (0) และกลุ่มไม่เห็ด (1)

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score

url = “https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data”
names = [‘sepal-length’, ‘sepal-width’, ‘petal-length’, ‘petal-width’, ‘class’]
data = pd.read_csv(url, names=names)

ขั้นตอนถัดมาเราจะแบ่งข้อมูลออกเป็นกลุ่ม train set และ test set

X = data.drop(‘class’, axis=1)
y = data[‘class’]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)

ต่อมาเราจะสร้างโมเดล Logistic Regression และฝึกโมเดลด้วย train set

model = LogisticRegression()
model.fit(X_train, y_train)

หลังจากฝึกโมเดลเสร็จเรียบร้อยแล้ว เราจะใช้ test set เพื่อทดสอบประสิทธิภาพของโมเดล

predictions = model.predict(X_test)

เมื่อได้ผลลัพธ์จากการทดสอบ เราสามารถนับความแม่นยำของโมเดลโดยใช้ accuracy score

accuracy = accuracy_score(y_test, predictions)
print(“Accuracy:”, accuracy)

นอกจากนี้ เรายังสามารถใช้ Logistic Regression ในการจำแนกข้อมูลที่มีตัวแปรต้นมากกว่าหนึ่งตัวแปร และสามารถใช้การตรวจสอบความถูกต้องด้วย confusion matrix หรือ ROC curve ตามต้องการ

สรุป เราได้เรียนรู้วิธีการทำ Logistic Regression (binary classification) โดยใช้ scikit-learn ซึ่งเป็น library ที่มีประสิทธิภาพสำหรับงานในการทำ machine learning โดย Logistic Regression เป็นวิธีการทำ machine learning ที่ง่ายและมีประสิทธิภาพสำหรับงานจำแนกแบบ binary classification และช่วยให้เราสามารถทำนายค่าตรงความน่าจะเป็นได้โดยอ้างอิงจากข้อมูลที่มีอยู่

0 0 votes
Article Rating
5 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@mjd4777
1 month ago

สวัสดีครับ อาจารย์ ผมสมัครเรียนมหาวิทยาลัย สาขา logistic แต่ผมกำลังหาข้อมูลในการซื้อ notebook มาใช้เรียนและทำงานในสาขา logistic ผมอยากจะสอบถามว่าในการเรียนและทำงานในสาขาlogistic ใช้ Software ตัวไหนใน notebook ในการทำงานบ้างครับ ผมไม่อยากซื้อแพงจนเกินความจำเป็น อยากประหยัดช่วยครอบครัวให้มากที่สุดเท่าที่จะทำได้ รบกวนหน่อยนะครับ ใครรู้ก็สามารถตอบได้เลยนะครับ ขอบคุณล่วงหน้าครับ

@mosrocker6407
1 month ago

ขอบคุณมากๆครับอาจารย์ เป็นประโยชน์สำหรับผู้ที่สนใจมากๆครับ

@misdept5494
1 month ago

ขอบคุณมากครัับอาจารย์

@NattapongPUN
1 month ago

กราบ

@ccuwn1.2xy59
1 month ago

ทำต่อไปเรื่อยๆนะครับเป็นช่องที่มีประโยชน์มากผมดูแทบทุกวันเลย