机器学习之逻辑回归

机器学习中线性回归可以用来做预测,经典的例子就是房价预测。逻辑回归主要解决的问题是二分类问题,通过 Sigmoid 函数,输出的结果是一个概率(0,1),逻辑回归的损失函数通过交叉熵来实现。本文将通过 Sklearn 实现逻辑回归。

  • Sigmoid 函数
  • 交叉熵损失函数

准备数据集

复制代码
# 导入matplotlib绘图库
import matplotlib.pyplot as plt
# 导入生成分类数据函数
# from sklearn.datasets.samples_generator import make_classification
from sklearn.datasets import make_classification
# 生成100*2的模拟二分类数据集
X, labels = make_classification(
    n_samples=100,
    n_features=2,
    n_redundant=0,
    n_informative=2,
    random_state=1,
    n_clusters_per_class=2)

print (X[:5])
print (labels[:5])

# 设置随机数种子
rng = np.random.RandomState(2)
# 对生成的特征数据添加一组均匀分布噪声
X += 2 * rng.uniform(size=X.shape)
# 标签类别数
unique_lables = set(labels)
# 根据标签类别数设置颜色
colors = plt.cm.Spectral(np.linspace(0,1,len(unique_lables)))
# 绘制模拟数据的散点图
for k,col in zip(unique_lables, colors):
    x_k=X[labels==k]
    plt.plot(x_k[:,0],x_k[:,1],'o',markerfacecolor=col,markeredgecolor="k",
             markersize=14)
plt.title('Simulated binary data set')
plt.show();

切分训练集、测试集,1:9 进行切分。

复制代码
# 训练集与测试集的简单划分
offset = int(X.shape[0] * 0.9)
X_train, y_train = X[:offset], labels[:offset]
X_test, y_test = X[offset:], labels[offset:]
y_train = y_train.reshape((-1,1))
y_test = y_test.reshape((-1,1))

print('X_train=', X_train.shape)
print('X_test=', X_test.shape)
print('y_train=', y_train.shape)
print('y_test=', y_test.shape)

训练并测试

复制代码
from sklearn.linear_model import LogisticRegression
clf = LogisticRegression(random_state=0).fit(X_train, y_train)
y_pred = clf.predict(X_test)
y_pred

总结

线性回归和逻辑回归是机器学习中两种回归算法,从字面上看会被搞混。线性回归输出为一个实数,均方差作为损失函数,逻辑回归是分类算法,输出为概率,交叉熵作为损失函数。

相关推荐
向成科技39 分钟前
XC3588N工控主板助力电力巡检机器人
人工智能·rk3588·安卓·硬件·工控主板·主板
taxunjishu41 分钟前
DeviceNet 转 EtherCAT:发那科焊接机器人与倍福 CX5140 在汽车焊装线的高速数据同步通讯配置案例
人工智能·区块链·工业物联网·工业自动化·总线协议
sali-tec1 小时前
C# 基于halcon的视觉工作流-章33-矩状测量
开发语言·人工智能·算法·计算机视觉·c#
格林威1 小时前
短波红外相机在机器视觉检测方向的应用
运维·人工智能·深度学习·数码相机·计算机视觉·视觉检测
这儿有一堆花1 小时前
DeepSeek-VL 解析:混合视觉-语言模型如何超越传统计算机视觉方法
人工智能·计算机视觉·语言模型
model20052 小时前
ubuntu24.04+5070ti训练yolo模型(2)
人工智能·yolo
CV-杨帆2 小时前
论文阅读:openai 2025 Why Language Models Hallucinate
论文阅读·人工智能·语言模型
javastart2 小时前
OpenRLHF:面向超大语言模型的高性能RLHF训练框架
人工智能·自然语言处理·aigc
IT_陈寒2 小时前
《Java 21新特性实战:5个必学的性能优化技巧让你的应用快30%》
前端·人工智能·后端
说私域2 小时前
定制开发开源AI智能名片S2B2C商城小程序在互联网族群化中的作用与影响
人工智能·小程序·开源