机器学习算法基础--逻辑回归

目录

1.数据收集及处理

2.数据提取及可视化

3.逻辑回归训练样本并且测试

4.绘制散点决策边界

逻辑回归的方法已经在数学建模里面讲过了,这里就不多讲了。

本篇我们主要是利用逻辑回归的方法来求解分类问题。

1.数据获取及处理

python 复制代码
import pandas as pd
from sklearn.linear_model import LogisticRegression
import numpy as np
# 从Excel读取数据
data = pd.read_excel('classification_data_2.xlsx')
data.head()

2.数据提取及可视化

python 复制代码
# 提取特征和标签
X = data[['Feature1', 'Feature2']].values
y = data['Label'].values
#绘制X的可视化图片
import matplotlib.pyplot as plt
#解决中文显示问题
plt.rcParams['font.sans-serif'] = ['KaiTi'] # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题
X1=X[0:,0]
X2=X[0:,1]
#绘制可视化图片
plt.scatter(X1,X2,s=25)
plt.xlabel("Feature 1")
plt.ylabel("Feature 2")
plt.title("数据特征散点分布图")
plt.savefig(".\数据特征散点分布图.png",dpi=500)
plt.show()

3.逻辑回归训练样本及测试

python 复制代码
#导入新样本
test_data=[[0.8,-3.5],[2,-2.1],[3.1,-1.4]]
test_data=np.array(test_data)
test_data
#预测样本
predicted_data=model.predict(test_data)
predicted_data

测试样本所返回的结果还算不错,大致能看出正确与否。

4.绘制散点决策边界

python 复制代码
# 绘制散点图
#这个时候散点图的和原先的散点图有些区别
#根据类别标签绘制不一样的图

#先绘制label==1的图
X1=X[y==1,0]
X2=X[y==1,1]
plt.scatter(X1, X2, color='b', marker='*', label='Positive Class')
#再绘制label==2的图
X3=X[y==0,0]
X4=X[y==0,1]
plt.scatter(X3, X4, color='r', marker='x', label='Negative Class')
#
plt.xlabel('Feature 1')
plt.ylabel('Feature 2')
plt.title('Binary Classification')
plt.legend()

# 绘制对应的决策边界
x_min, x_max = X[:, 0].min() - 0.5, X[:, 0].max() + 0.5
y_min, y_max = X[:, 1].min() - 0.5, X[:, 1].max() + 0.5
xx, yy = np.meshgrid(np.arange(x_min, x_max, 0.02), np.arange(y_min, y_max, 0.02))

Z = model.predict(np.c_[xx.ravel(), yy.ravel()])
Z = Z.reshape(xx.shape)

plt.contourf(xx, yy, Z, alpha=0.3,cmap='summer')

plt.show()
相关推荐
叠层归一研究院1 小时前
基于极限自指的叠层归一宇宙结构理论——无元外部封闭系统的内生区分模型
人工智能·经验分享·算法·agi
Selvaggia2 小时前
Diffusion Model 的基本原理与模型架构
算法
龙腾AI白云3 小时前
大语言模型:从语言理解到通用智能的跃迁
数据库·人工智能·机器学习·知识图谱
wabs6663 小时前
关于二叉树【力扣572.另一棵树的子树的思考】
数据结构·c++·算法·leetcode·二叉树
hanlin033 小时前
刷题笔记:力扣第41题-缺失的第一个正数
笔记·算法·leetcode
shehuiyuelaiyuehao4 小时前
算法50,分治归并,数组中的逆序对
java·算法
阳明山水4 小时前
校准分位数驱动智能库存决策
人工智能·深度学习·算法·机器学习·架构
xx_xxxxx_5 小时前
论文阅读-Search-R1
人工智能·深度学习·机器学习·强化学习
别动我齐刘海6 小时前
ROS2 Jazzy + C++ 实战路线——进阶学习3
c++·人工智能·vscode·python·算法·机器学习·机器人
zhangfeng11336 小时前
《从“人工适配“到“智能生成“:KernelSwift 跨国产芯片算子迁移全栈方案解读》 —— 强调范式跃迁和跨硬件属性,适合偏架构分析的写法
人工智能·算法·华为·ai编程·npu