省流版:
本文介绍机器学习中的回归算法:逻辑回归、KNN、SVM、随机森林和XGBoost。作为机器学习的有监督学习方法,分类模型是最重要也是最常见的一类算法,在数据分析等岗位的笔试面试中都是常客,非常值得深入研究!
内容很多,创作不易,如果对你有帮助的话还请三连支持~
有监督学习——分类算法:目的是根据输入的特征将数据分为不同的类别,从而对数据进行分类
逻辑回归
原理:逻辑回归模型基于线性回归模型,通过对线性组合进行非线性映射,将结果映射到0和1之间的概率值,表示某个样本属于某个类别的概率。
公式:
sigmoid激活函数,其中h(x)是样本x属于正类的概率,θ是模型参数
- sigmoid激活函数的输出值始终在0和1之间,而且当输入为0时,输出为0.5。在逻辑回归模型中,sigmoid函数将线性方程的输出转换为属于0到1之间的概率值,为我们提供了一个 评估样本是否属于某个分类的工具。
- siemoi激活函数的优点是它可以对输入信号进行非线性映射和压缩,使输入信号更具表达力。但是,缺点是它产生了“梯度消失”问题,因为在极端值(远离0)处斜率接近0,这意味着梯度也会很小,从而导致训练变慢或停止。

损失函数:
-
- 定义:交叉熵损失函数。
- 推导方法:根据函数图像理解
- 给定y=1时,损失函数为-log(p),估计出来的概率p越小,损失函数越大,当概率p取0(即预估的分类结果y=0)时,loss值是趋近于正无穷的,表明我们分错了(实际分类结果是1);
- 给定y=0时,损失函数为-log(1-p),估计出来的概率p越大,损失函数越大,当概率p取1(即预估的分类结果y=1)时,loss值是趋近于正无穷的,表明我们分错了(实际分类结果是1)

Python代码:
Python
# 导入所需的库
import numpy as np
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
# 创建示例数据
X, y = make_classification(n_samples=1000, n_features=10, n_classes=2, random_state=42)
# 将数据集划分为训练集和测试集
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)
# 计算模型准确率
accuracy = accuracy_score(y_test, y_pred)
print('模型准确率:', accuracy)
K近邻(KNN)
原理
最低0.47元/天 解锁文章
——分类模型&spm=1001.2101.3001.5002&articleId=136243495&d=1&t=3&u=e1b59e96870f4ab4ab2502f120f56748)
27万+

被折叠的 条评论
为什么被折叠?



