机器学习2-简单的二分类问题

需求:

假设现在需要对数据 进行二分类 ,小于0.5的,打上0的标记 ,大于0.5的,打上1的标记,怎么做

分析:

这是一个简单的二分类 问题,使用逻辑回归模型。

代码:

python 复制代码
# 导入所需的库,如需安装:pip install scikit-learn matplotlib
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score, confusion_matrix

# 创建一个随机的二分类数据集
np.random.seed(42)
X = np.random.rand(100, 1)
print("X:\n", X)
y = (X > 0.5).astype(int)

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
print("X_train:\n", X_train)

# 创建并训练逻辑回归模型
model = LogisticRegression()
model.fit(X_train, y_train)

# 预测测试集
y_pred = model.predict(X_test)

# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print(f'Accuracy: {accuracy}')

# 可视化决策边界
plt.scatter(X, y, color='blue', marker='o', label='Class 0')
plt.scatter(X_test, y_test, color='red', marker='x', label='Test Data')
plt.xlabel('Feature')
plt.ylabel('Class')
plt.legend()
plt.title('Logistic Regression Decision Boundary')
plt.axhline(0.5, color='green', linestyle='--', linewidth=2, label='Decision Boundary')
plt.show()

运行结果:

如图可见Test Data的标记都是正确的

执行下来的准确率

Accuracy: 1.0

结论: 模型预测使用测试集 (X_test) 进行预测,得到预测值 y_pred,都满足预期

相关推荐
常山云栈4 小时前
axios和restful的区别是什么?
人工智能
wshzd5 小时前
LLM之Agent(六十九)|PI(八)发布流程与供应链安全
人工智能
罗西的思考5 小时前
[Agent Memory / 强化学习] MemPO源码学习笔记 — (2)— 训练
人工智能·深度学习
Forerror20265 小时前
大模型网关解决什么问题?MAI Gateway(魔芋企业级AI网关)给出企业级答案
人工智能·ai工具·ai安全·maigateway·企业ai网关·企业级大模型治理网关·大模型财务治理
Gu0Qiang5 小时前
从 0 到 1 打造 AI 提示流编排器:条件分支路由、Kahn 图剪枝与 HTTP 节点实战(开源系列 06)
人工智能·github
驭风少年君5 小时前
Codex 从入门到进阶
人工智能·aigc·codex
JAI科研5 小时前
YOLO 完全指南(七):YOLO识别工程化 (上)
人工智能·深度学习·神经网络·yolo·目标检测·计算机视觉·transformer
529宝宝起名网5 小时前
用 Python 开发历史名字查询与起名灵感工具:从古籍人物数据库到名字文化故事生成
开发语言·前端·python
Forerror20265 小时前
深入理解大模型网关解决什么问题:MAIGateway(魔芋企业级AI网关)架构与核心价值解读
人工智能·ai网关·maigateway·大模型财务管控·企业级大模型治理网关
AI深栈5 小时前
第 10 章 · Embedding、VectorStore 与 RAG
java·人工智能