今日推荐
在文章开始之前,推荐一篇值得阅读的好文章!感兴趣的也可以去看一下,并关注作者!
今日推荐:小改动到系统崩溃:一场“蝴蝶效应”般的Debug惊魂记!
文章链接:https://cloud.tencent.com/developer/article/2471876
通过这篇文章,你将能够亲历的一次小改动导致大崩溃的故事。这个故事包含了从慌乱到冷静、从无头绪到找到问题的全过程,以及其中的教训和启发。大家可以去看看
\机器学习模型从理论到实战|【003-逻辑回归】分类模型的起点
逻辑回归是机器学习中最经典的分类算法之一,尽管名字中有“回归”,但它主要用于分类问题。本文将详细介绍逻辑回归的理论基础、数学推导、扩展到多分类任务的思路,并通过一个案例学习如何使用逻辑回归模型进行实际预测。
逻辑回归是一种在统计学和机器学习中广泛使用的预测分析方法,主要用于解决二分类问题。尽管名为“回归”,它实际上是一种分类算法,目的是预测事件发生的概率。逻辑回归模型基于线性回归,通过引入Sigmoid函数将线性模型的连续输出转换为概率值,其值域在0到1之间,表示样本属于正类的概率。模型的输出可以解释为样本属于特定类别的概率,通常以0.5作为决策边界,将概率值大于0.5的样本划分为正类,小于0.5的划分为负类。模型参数通过最大似然估计确定,以找到使观测数据出现概率最大的参数组合。
其中,w是权重,B是偏置。
为了将线性模型输出的值 z 映射到 0, 1 的范围,逻辑回归引入了 Sigmoid 函数。
Sigmoid 函数是一个 S 型曲线,可以将任意实数映射到 0, 1:
其输出 σ(z) 可解释为属于正类的概率:
逻辑回归通过最大化对数似然估计(MLE)找到最优参数。最终得到的损失函数(Cost Function)为交叉熵损失:
当目标变量 y 有多个类别(如 y∈{0,1,2}),逻辑回归需要扩展到多分类任务。
Softmax 函数是逻辑回归的扩展,用于将多个输出值映射为概率分布:
其中:
4.1 案例背景
目标:根据用户的年龄和收入水平,预测用户是否会购买某商品。
4.2 数据集
示例数据集包含以下特征:
2) 创建数据集
# 示例数据
data = {
'Age': [22, 25, 47, 52, 46, 56, 48, 55, 60, 62],
'Income': [30000, 40000, 50000, 60000, 70000, 80000, 85000, 90000, 100000, 110000],
'Purchased': [0, 0, 1, 1, 1, 1, 1, 1, 1, 1]
}
df = pd.DataFrame(data)
# 特征与目标变量
X = df[['Age', 'Income']]
y = df['Purchased']
3) 数据集划分
# 将数据集分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
4) 训练逻辑回归模型
# 创建逻辑回归模型
model = LogisticRegression()
model.fit(X_train, y_train)
# 预测测试集
y_pred = model.predict(X_test)
5) 模型评估
# 模型准确率
print("Accuracy:", accuracy_score(y_test, y_pred))
# 混淆矩阵
print("Confusion Matrix:\n", confusion_matrix(y_test, y_pred))
# 分类报告
print("Classification Report:\n", classification_report(y_test, y_pred))
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。