机器学习_分类算法详解

机器学习中的分类算法是用于将输入数据分配到预定义类别中的算法。分类任务是监督学习的一种,模型根据训练数据中的输入-输出对进行学习,然后预测新的输入数据的类别。常见的分类算法包括:

  1. 逻辑回归(Logistic Regression)
  2. k-近邻(k-Nearest Neighbors, k-NN)
  3. 支持向量机(Support Vector Machine, SVM)
  4. 决策树(Decision Tree)
  5. 随机森林(Random Forest)
  6. 朴素贝叶斯(Naive Bayes)
  7. 神经网络(Neural Network)

我们将详细讲解其中的几种,并提供相应的代码实例。

1.逻辑回归(Logistic Regression)

逻辑回归是一种用于二分类问题的线性模型。它使用sigmoid函数将线性回归的输出转换为概率值。

原理

逻辑回归是一种线性模型,用于二分类问题。它通过学习线性关系来预测输入数据属于某个类别的概率。其核心是使用sigmoid函数将线性组合的结果映射到[0,1]区间。

公式:
σ ( z ) = 1 1 + e − z \sigma(z) = \frac{1}{1 + e^{-z}} σ(z)=1+ez1
其中, z = w T x + b z = \mathbf{w}^T \mathbf{x} + b z=wTx+b,w是权重,b是偏置,x是输入特征。

损失函数(对数似然损失):
L ( y , y ^ ) = − 1 N ∑ i = 1 N [ y i log ⁡ ( y ^ i ) + ( 1 − y i ) log ⁡ ( 1 − y ^ i ) ] L(y, \hat{y}) = -\frac{1}{N} \sum_{i=1}^N [y_i \log(\hat{y}_i) + (1 - y_i) \log(1 - \hat{y}_i)] L(y,y^)=N1i=1N[yilog(y^i)+(1yi)log(1y^i)]
其中,hat(y_i)是预测的概率。

使用场景

适用于线性可分的二分类问题,如垃圾邮件分类、信用卡欺诈检测。

优缺点

优点:

  • 简单易理解
  • 计算效率高
  • 输出概率值,易于解释

缺点:

  • 处理非线性问题能力差
  • 对异常值敏感
代码实例
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score

# 示例数据集(假设数据已准备好)
X = np.array([[0.5, 1.5], [1.5, 1.9], [2.1, 1.8], [3.2, 3.1], [3.5, 4.1], [4.2, 4.5]])
y = np.array([0, 0, 0, 1, 1, 1])

# 数据集拆分
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 模型训练
model = LogisticRegression()
model.fit(X_train, y_train)

# 模型预测
y_pred = model.predict(X_test
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值