[机器学习-笔记06]逻辑回归

1.原理

  • 假设函数
    在这里插入图片描述
    Sigmoid函数图像:
    [机器学习-笔记06]逻辑回归_第1张图片
    [机器学习-笔记06]逻辑回归_第2张图片
  • 决策界限
    [机器学习-笔记06]逻辑回归_第3张图片
    [机器学习-笔记06]逻辑回归_第4张图片
    [机器学习-笔记06]逻辑回归_第5张图片
  • 代价函数
    [机器学习-笔记06]逻辑回归_第6张图片
    整合后的代价函数:
    [机器学习-笔记06]逻辑回归_第7张图片

2. Python案例实现

2.1 数据

数据格式如下(只展示了部分样本):
[机器学习-笔记06]逻辑回归_第8张图片

2.2 实现

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.preprocessing import LabelEncoder
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import confusion_matrix

# 导入数据
dataset = pd.read_csv("Social_Network_Ads.csv")
X = dataset.iloc[:, 1:4].values
y = dataset.iloc[:, -1].values

# 数据编码
encoder = LabelEncoder()
X[:, 0] = encoder.fit_transform(X[:, 0])

# 拆分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)

# 特征缩放
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)

# 拟合模型
classifier = LogisticRegression(random_state = 0)
classifier.fit(X_train, y_train)

# 预测与评估
y_pred = classifier.predict(X_test)
accuracy = 1-(np.sum(np.abs(y_pred-y_test))/len(y_pred))
print("accuracy: ", accuracy)
# 计算混淆矩阵
cm = confusion_matrix(y_test, y_pred)
print("confusion_matrix: ", cm)

你可能感兴趣的:(机器学习,数据科学,机器学习,python,数据科学)