news 2026/4/28 7:54:20

机器学习基础(线性,逻辑回归)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
机器学习基础(线性,逻辑回归)

一、线性回归

线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。

相关关系:包含因果关系和平行关系
因果关系:回归分析【原因引起结果,需要明确自变量和因变量】
平行关系:相关分析【无因果关系,不区分自变量和因变量】

一元线性回归模型:

βo和β1是模型参数。E:是误差项。
误差项:除线性因素外的随机因素所产生的误差。

多元线性回归模型:

1.线性回归API文档参数

sklearn.linear_model.LinearRegression(fit_intercept=True,normalize=False,copy_X=True,n_jobs=None)

1)参数

fit_intercept:是否有截据,如果没有则直线过原点。

normalize:是否将数据归一化。

copy_X :是否对X复制,如果选择false,则直接对原数据进行覆盖。(即经过中心化,标准化后,是否把新数据覆盖到原数据上)

n_jobs:计算时设置的任务个数(number of jobs)。如果选择-1则代表使用所有的CPU。这一参数的对于目标个数>1(n_targets>1)且足够大规模的问题有加速作用。

2)Attributes:返回值

Coef_:对于线性回归问题计算得到的feature的系数。如果输入的是多目标问题,则返回一个二维数组(n_targets, n_features);如果是单目标问题,返回一个一维数组 (n_features,)。

intercept_ :线性模型中的独立项。

3)方法

fit(X, y[, n_jobs]) :对训练集X, y进行训练。

predict(X):使用训练得到的估计器对输入为X的集合进行预测(X可以是测试集,也可以是需要预测的数据)。

score(X, y[,]sample_weight):预测效果评分。

import pandas as pd#pandas基于numpy封装的 from matplotlib import pyplot as plt from sklearn.linear_model import LinearRegression data = pd.read_csv("data.csv") a = data.广告投入 #绘制散点图 plt.scatter(data.广告投入, data.销售额) plt.show() # corr = data.corr()#求x和y的相关系数 #估计模型参数,建立回归模型 lr = LinearRegression() x = data[['广告投入']] y = data[['销售额']] lr.fit(x, y)#训练模型, #第四步、对回归模型进行检验 """此处的score指R方""" result = lr.predict(x) score = lr.score(x, y) a = round(lr.intercept_[0],2)#查看截距 b = round(lr.coef_[0][0], 2)#查看斜率 print("线性回归模型为:y = {}x + {}.".format(b, a)) #第五步、利用回归模型进行预测 predict = lr.predict([[40], [45], [50]]) print(predict)

二、逻辑回归

在线性回归的基础上进行分类衍生出了逻辑回归

逻辑回归(LogisticRegression)是一种广泛用于二分类和多分类任务的线性模型,支持L1/L2/Elastic-Net正则化。

lr=LogisticRegression(C=0.01)

C:正则化强度的倒数,值越小正则化越强

fit() 用于训练模型;predict() 输出类别标签;score() 计算准确率。labels_count=pd.value_counts(data['Class'])可以统计data(‘class’)中每个类的个数

import pandas as pd data=pd.read_csv("creditcard.csv") from sklearn.preprocessing import StandardScaler #z-标准化 scaler=StandardScaler() data['Amount']=scaler.fit_transform(data[['Amount']]) data=data.drop(['Time'],axis=1)#axis=1,表示删除列 #绘制图形 import matplotlib.pyplot as plt from pylab import mpl #matplotlib不能显示中文,借助于pylab实现中文显示 mpl.rcParams['font.sans-serif']=['Microsoft YaHei']#显示中文 mpl.rcParams['axes.unicode_minus']= False labels_count=pd.value_counts(data['Class'])#同济data(‘class’)中每个类的个数 print(labels_count) plt.title("正负例样本数")#设置标题 plt.xlabel("类别") plt.ylabel("数量") labels_count.plot(kind='bar') plt.show() '''建立模型''' from sklearn.model_selection import train_test_split x_whole=data.drop("Class",axis=1) y_whole=data.Class x_train_w,x_test_w,y_train_w,y_test_w=train_test_split\ (x_whole,y_whole,test_size=0.3,random_state=1000) from sklearn.linear_model import LogisticRegression #逻辑回归API lr=LogisticRegression(C=0.01) lr.fit(x_train_w,y_train_w) test_predicted=lr.predict(x_test_w) result=lr.score(x_test_w,y_test_w) from sklearn import metrics print(metrics.classification_report(y_test_w,test_predicted))#获得混淆矩阵的准确值,召回值。

1. 通过train_test_split(x_whole,y_whole,test_size=0.3,random_state=1000)来切分数据,通过test_size参数为整数时取对应数量的特征,小数时取百分比的;通过random_state参数来获得对应的随机种子。

2. 通过metrics.classification_report(y_test_w,test_predicted))#获得混淆矩阵的准确值,召回值和F1值。来判断模型训练的好不好

三、评价方法

混淆矩阵:

精确率:TP/(TP+FP)

召回率:TP/(TP+FN) 多用于医疗领域系统

f1值:2*(精确率*召回率)/精确率+召回率

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/27 19:23:53

【MCP PL-600核心技术突破】:3步搞定复杂场景下的多模态感知与响应

第一章:MCP PL-600多模态Agent架构概览MCP PL-600是一种面向复杂任务协同的多模态智能体架构,专为融合文本、图像、语音与结构化数据处理而设计。其核心在于统一感知层与动态决策引擎之间的高效协作,支持跨模态语义对齐与实时响应。架构核心组…

作者头像 李华
网站建设 2026/4/18 20:37:16

山西临汾卤制品制作技艺的技术路径分析

产业技术背景概述山西临汾地区卤制品作为传统食品产业的重要组成部分,近年来在传统技艺保护与现代生产技术融合方面进行了多方面探索。本文将以地方代表性企业老关家为主要分析对象,探讨其技术发展路径及行业技术现状。传统工艺的数字化保护方案1. 工艺参…

作者头像 李华
网站建设 2026/4/23 5:23:14

自然语言数据分析革命:PandasAI让数据对话变得如此简单

自然语言数据分析革命:PandasAI让数据对话变得如此简单 【免费下载链接】pandas-ai 该项目扩展了Pandas库的功能,添加了一些面向机器学习和人工智能的数据处理方法,方便AI工程师利用Pandas进行更高效的数据准备和分析。 项目地址: https://…

作者头像 李华
网站建设 2026/4/18 12:46:59

传智杯零基础备战全攻略:从 “小白” 到 “参赛合格者” 的进阶指南

传智杯作为面向学生群体的编程赛事,主打 “零基础友好”,核心考察基础编程能力、逻辑思维和问题解决能力,并非高难度算法竞赛。对于零基础选手,只要规划清晰、方法得当,完全能在短期内完成备赛并实现有效输出。以下攻略…

作者头像 李华
网站建设 2026/4/25 14:32:54

n8n实战营Day3课时3:库存物流联动·全流程测试与异常调试

我将承接上节课订单同步内容,聚焦库存扣减与物流联动的核心实现,重点拆解并发控制与物流API调用技巧,搭配全流程测试方案,结构图采用CSDN适配的mermaid语法确保清晰呈现。 n8n实战营Day3课时3:库存物流联动全流程测试与…

作者头像 李华