机器学习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,都满足预期

相关推荐
小oo呆几秒前
【自然语言处理与大模型】主题建模 Topic Modeling
人工智能·自然语言处理
ycydynq6 分钟前
python html 解析的一些写法
linux·python·html
KKKlucifer14 分钟前
从被动合规到主动免疫:AI 破解数据智能安全的四大核心场景
人工智能·安全
权泽谦17 分钟前
脑肿瘤分割与分类的人工智能研究报告
人工智能·分类·数据挖掘
余俊晖17 分钟前
文档图像旋转对VLM OCR的影响及基于Phi-3.5-Vision+分类头的文档方向分类器、及数据构建思路
人工智能·分类·ocr
Cleaner18 分钟前
我是如何高效学习大模型的
人工智能·程序员·llm
西猫雷婶26 分钟前
CNN的四维Pytorch张量格式
人工智能·pytorch·python·深度学习·神经网络·机器学习·cnn
未来之窗软件服务33 分钟前
幽冥大陆(二十三)python语言智慧农业电子秤读取——东方仙盟炼气期
开发语言·python·仙盟创梦ide·东方仙盟·东方仙盟sdk·东方仙盟浏览器
程序员三藏35 分钟前
Web自动化测试详细流程和步骤
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
化作星辰40 分钟前
解决 OpenCV imread 在 Windows 中读取包含中文路径图片失败的问题
人工智能·opencv·计算机视觉