news 2026/6/10 17:00:57

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

作者头像

张小明

前端开发工程师

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/6/10 14:25:18

纯科研理论,不落地,纸上飞;纯行业分析,做不到,没资源 纯战略市场,空口号,走形式 纯产品定义,假需求,不赚钱 纯研发生产,无人买,闭门嗨 纯渠道销售,吹大牛,倒卖货 纯工程服务,无惊喜,死内卷 ……

环环相扣,环环互补: 纯科研理论,不落地,纸上飞 纯行业分析,做不到,没资源 纯战略市场,空口号,走形式 纯产品定义,假需求,不赚钱 纯研发生产,无人买…

作者头像 李华
网站建设 2026/6/10 5:33:13

Docker资源总是不够用?,深度解析云原生Agent调度瓶颈与突破方案

第一章:Docker资源总是不够用?重新审视云原生Agent调度困局在高密度容器化部署场景中,频繁出现的“Docker资源不足”问题往往并非源于物理资源枯竭,而是调度策略与运行时感知能力脱节所致。传统静态资源分配模型无法适应动态负载变…

作者头像 李华
网站建设 2026/6/10 14:26:05

冥想第一千七百三十天(1730)

1.周四了,天气变冷了,预报说明天还有雪,好期待,右侧胳膊还是疼,拉单杠变少了。拉了2组就不拉了。项目上全力以赴的一天,感觉每天都好充实,好忙。 2.感谢父母,感谢朋友,感…

作者头像 李华
网站建设 2026/6/10 13:30:45

文档表格带图像、跨页列解析处理及知识图谱缓解RAG内外部知识

本文介绍两大大模型优化技术:一是基于知识图谱解决RAG系统内外部知识冲突问题,通过构建知识图谱、检索核心路径和基于熵值过滤冲突路径,提高大模型回答可靠性;二是多模态文档大模型的表格专项优化,包括表格内嵌图像还原…

作者头像 李华
网站建设 2026/6/10 13:31:27

CorrCLIP

CorrCLIP动机 作者提出了类间相关性的概念,并发现类间相关性就是CLIP分割性能下降的关键原因。 类间相关性:狗的patch和猫的patch不应该交互,或者不应该相关。 验证实验 只保留 类内 / 物体内部 的 patch 相关性,分割性能显著提升…

作者头像 李华