当前位置: 首页 > news >正文

网站怎么优化 优帮云网站建站的基本步骤

网站怎么优化 优帮云,网站建站的基本步骤,网站备案备的是域名还是空间,公司效果图什么是线性回归和逻辑回归#xff1f; 线性回归是一种用于解决回归问题的统计模型。它通过建立自变量#xff08;或特征#xff09;与因变量之间的线性关系来预测连续数值的输出。线性回归的目标是找到一条直线#xff08;或超平面#xff09;#xff0c;使得预测值与观…什么是线性回归和逻辑回归 线性回归是一种用于解决回归问题的统计模型。它通过建立自变量或特征与因变量之间的线性关系来预测连续数值的输出。线性回归的目标是找到一条直线或超平面使得预测值与观察值之间的残差误差最小化。这条直线或超平面可以用来表示输入变量与输出变量之间的关系。线性回归假设输入特征与输出之间存在线性关系并且残差服从正态分布。线性回归适用于预测和推断常见应用包括房价预测、销售预测、股票预测等。 线性回归方程式 被统称为模型的参数其中 被称为截距(intercept)1 ~ n被称为系数(coefficient)这个表达式其实就和我 们小学时就无比熟悉的 是同样的性质。我们可以使用矩阵来表示这个方程其中x被看做是一 个列矩阵被看作是一个行矩阵则有 线性回归的任务就是构造一个预测函数 Z 来映射输入的特征矩阵x和标签值y的线性关系而构造预测函数的核心就是找出模型的参数T和0著名的最小二乘法就是用来求解线性回归中参数的数学方法。 通过函数 线性回归使用输入的特征矩阵 X 来输出一组连续型的标签值 y_pred以完成各种预测连续型变量的任务 比如预测产品销量预测股价等等。 那如果我们的标签是离散型变量尤其是如果是满足0-1分布的离散型变量我们要怎么办呢我们可以通过引入联系函数(link function)将线性回归方程z变换为g(z)并且令g(z)的值分布在(0,1)之间且当g(z)接近0时样本的标签为类别0当g(z)接近1时样本的标签为类别1这样就得到了一个分类模型。而这个联系函数对于逻辑回归来说就是Sigmoid函数 Sigmoid函数是一个S型的函数当自变量z趋近正无穷时因变量g(z)趋近于1而当z趋近负无穷时g(z)趋近 于0它能够将任何实数映射到(0,1)区间使其可用于将任意值函数转换为更适合二分类的函数。 因为这个性质Sigmoid函数也被当作是归一化的一种方法与我们之前学过的MinMaxSclaer同理是属于 数据预处理中的“缩放”功能可以将数据压缩到[0,1]之内。区别在于MinMaxScaler归一化之后是可以取 到0和1的最大值归一化后就是1最小值归一化后就是0但Sigmoid函数只是无限趋近于0和1。 线性回归中 Z T X于是我们将 T带入就得到了二元逻辑回归模型的一般形式  而g(z)就是我们逻辑回归返回的标签值。此时 y(x) 的取值都在[0,1]之间因此y(x) 和 1 - y(x) 相加必然为1。如果我们令y(x) 除以 1 - y(x) 可以得到形似几率(odds)的 y(x) / (1 - y(x))在此基础上取对数可以很容易就得到 不难发现g(z)的形似几率取对数的本质其实就是我们的线性回归z我们实际上是在对线性回归模型的预测结果取对数几率来让其的结果无限逼近0和1。因此其对应的模型被称为”对数几率回归“logistic Regression也就是我们的逻辑回归这个名为“回归”却是用来做分类工作的分类器。 逻辑回归是一种用于解决分类问题的统计模型。它通过将特征与相应的标签之间的关系建模为一个逻辑函数来进行预测。逻辑回归的输出是一个概率值表示样本属于某个类别的可能性。通常情况下当输出概率大于某个阈值时样本被分类为正例否则分类为负例。逻辑回归可以处理二分类问题和多分类问题。 逻辑回归是一个受工业商业热爱使用广泛的模型因为它有着不可替代 的优点 1. 逻辑回归对线性关系的拟合效果好到丧心病狂特征与标签之间的线性关系极强的数据比如金融领域中的信用卡欺诈评分卡制作电商中的营销预测等等相关的数据都是逻辑回归的强项。虽然现在有了梯度提升树GDBT比逻辑回归效果更好也被许多数据咨询公司启用但逻辑回归在金融领域尤其是银行业中的统治地位依然不可动摇相对的逻辑回归在非线性数据的效果很多时候比瞎猜还不如所以如果你已经知道数据之间的联系是非线性的千万不要迷信逻辑回归。 2. 逻辑回归计算快对于线性数据逻辑回归的拟合和计算都非常快计算效率优于SVM和随机森林亲测表示在大型数据上尤其能够看得出区别。 3. 逻辑回归返回的分类结果不是固定的01而是以小数形式呈现的类概率数字我们因此可以把逻辑回归返回的结果当成连续型数据来利用。比如在评分卡制作时我们不仅需要判断客户是否会违约还需要给出确定的”信用分“而这个信用分的计算就需要使用类概率计算出的对数几率而决策树和随机森林这样的分类器可以产出分类结果却无法帮助我们计算分数当然在sklearn中决策树也可以产生概率使用接口 predict_proba调用就好但一般来说正常的决策树没有这个功能。 另外逻辑回归还有抗噪能力强的优点。福布斯杂志在讨论逻辑回归的优点时甚至有着“技术上来说最佳模型的AUC面积低于0.8时逻辑回归非常明显优于树模型”的说法。并且逻辑回归在小数据集上表现更好在大型的数据集上树模型有着更好的表现。 由此我们已经了解了逻辑回归的本质它是一个返回对数几率的在线性数据上表现优异的分类器它主要被应用在金融领域。其数学目的是求解能够让模型最优化的参数的值并基于参数和特征矩阵计算出逻辑回归的结果 y(x)。注意虽然我们熟悉的逻辑回归通常被用于处理二分类问题但逻辑回归也可以做多分类。 sklearn中的逻辑回归 API Reference — scikit-learn 1.4.0 documentation  linear_model.LogisticRegression sklearn.linear_model.LogisticRegression — scikit-learn 1.4.0 documentation 二元逻辑回归的损失函数 我们使用”损失函数“这个评估指标来衡量参数 的优劣即这一组参数能否使模型在训练集上表现优异。 如果用一组参数建模后模型在训练集上表现良好那我们就说模型表现的规律与训练集数据的规律一致拟合过 程中的损失很小损失函数的值很小这一组参数就优秀相反如果模型在训练集上表现糟糕损失函数就会很 大模型就训练不足效果较差这一组参数也就比较差。即是说我们在求解参数时追求损失函数最小让模型在训练数据上的拟合效果最优即预测准确率尽量靠近100%。  逻辑回归的损失函数是由最大似然法来推导出来的具体结果可以写作 由于我们追求损失函数的最小值让模型在训练集上表现最优可能会引发另一个问题如果模型在训练集上表示优秀却在测试集上表现糟糕模型就会过拟合。虽然逻辑回归和线性回归是天生欠拟合的模型但我们还是需要控制过拟合的技术来帮助我们调整模型对逻辑回归中过拟合的控制通过正则化来实现。 重要参数penalty C 正则化 正则化是用来防止模型过拟合的过程常用的有L1正则化和L2正则化两种选项分别通过在损失函数后加上参数向 量 的L1范式和L2范式的倍数来实现。这个增加的范式被称为“正则项”也被称为惩罚项。损失函数改变基 于损失函数的最优化来求解的参数取值必然改变我们以此来调节模型拟合的程度。其中L1范数表现为参数向量中的每个参数的绝对值之和L2范数表现为参数向量中的每个参数的平方和的开方值。 L1正则化和L2正则化虽然都可以控制过拟合但它们的效果并不相同。当正则化强度逐渐增大即C逐渐变小 参数的取值会逐渐变小但L1正则化会将参数压缩为0L2正则化只会让参数尽量小不会取到0。 在L1正则化在逐渐加强的过程中携带信息量小的、对模型贡献不大的特征的参数会比携带大量信息的、对模型 有巨大贡献的特征的参数更快地变成0所以L1正则化本质是一个特征选择的过程掌管了参数的“稀疏性”。L1正 则化越强参数向量中就越多的参数为0参数就越稀疏选出来的特征就越少以此来防止过拟合。因此如果特征量很大数据维度很高我们会倾向于使用L1正则化。由于L1正则化的这个性质逻辑回归的特征选择可以由 Embedded 嵌入法来完成。 相对的L2正则化在加强的过程中会尽量让每个特征对模型都有一些小的贡献但携带信息少对模型贡献不大的特征的参数会非常接近于0。通常来说如果我们的主要目的只是为了防止过拟合选择L2正则化就足够了。但 是如果选择L2正则化后还是过拟合模型在未知数据集上的效果表现很差就可以考虑L1正则化。 from sklearn.linear_model import LogisticRegression as LR from sklearn.datasets import load_breast_cancer import numpy as np import matplotlib.pyplot as plt from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_scoredata load_breast_cancer() X data.data y data.target print(feature names:, data.feature_names) print(target names:, data.target_names) print(X:, X[0:5]) print(y:, y[0:5]) data.data.shapelrl1 LR(penaltyl1,solverliblinear,C0.5,max_iter1000) lrl2 LR(penaltyl2,solverliblinear,C0.5,max_iter1000) #逻辑回归的重要属性coef_查看每个特征所对应的参数 lrl1 lrl1.fit(X,y) lrl1.coef_(lrl1.coef_ ! 0).sum(axis1)lrl2 lrl2.fit(X,y) lrl2.coef_ 可以看见当我们选择L1正则化的时候许多特征的参数都被设置为了0这些特征在真正建模的时候就不会出现在我们的模型当中了而L2正则化则是对所有的特征都给出了参数。 究竟哪个正则化的效果更好呢还是都差不多  l1 [] l2 [] l1test [] l2test [] Xtrain, Xtest, Ytrain, Ytest train_test_split(X,y,test_size0.3,random_state420) for i in np.linspace(0.05,1,19):lrl1 LR(penaltyl1,solverliblinear,Ci,max_iter1000)lrl2 LR(penaltyl2,solverliblinear,Ci,max_iter1000)lrl1 lrl1.fit(Xtrain,Ytrain)l1.append(accuracy_score(lrl1.predict(Xtrain),Ytrain))l1test.append(accuracy_score(lrl1.predict(Xtest),Ytest))lrl2 lrl2.fit(Xtrain,Ytrain)l2.append(accuracy_score(lrl2.predict(Xtrain),Ytrain))l2test.append(accuracy_score(lrl2.predict(Xtest),Ytest)) graph [l1,l2,l1test,l2test] color [green,black,lightgreen,gray] label [L1,L2,L1test,L2test] plt.figure(figsize(6,6)) for i in range(len(graph)):plt.plot(np.linspace(0.05,1,19),graph[i],color[i],labellabel[i]) plt.legend(loc4) #图例的位置在哪里?4表示右下角 plt.show() 可见至少在我们的乳腺癌数据集下两种正则化的结果区别不大。但随着C的逐渐变大正则化的强度越来越小模型在训练集和测试集上的表现都呈上升趋势直到C0.8左右训练集上的表现依然在走高但模型在未知数据集上的表现开始下跌这时候就是出现了过拟合。我们可以认为C设定为0.9会比较好。在实际使用时基本就默认使用l2正则化如果感觉到模型的效果不好那就换L1试试看。  重要参数max_itersolver最大迭代次数 参数max_iter是逻辑回归模型的最大迭代次数。默认情况下它的值是100。 逻辑回归模型通过最大化似然函数来估计模型的参数。在迭代的过程中模型会不断调整参数以最大化似然函数直到收敛为止。max_iter参数用于指定最大迭代次数即模型在达到该次数之前会进行迭代调整参数。 如果模型在达到最大迭代次数之前已经收敛则训练会提前停止。否则会发出一个警告并返回最后一次迭代的结果。 max_iter的值需要根据具体的数据集和模型复杂度来进行调整。如果模型在默认迭代次数内没有收敛可以适当增加max_iter的值。与此同时也要注意控制迭代次数以避免过度拟合或训练时间过长的问题。 逻辑回归的数学目的是求解能够让模型最优化的参数 的值即求解能够让损失函数最小化的的值 而这个求解过程对于二元逻辑回归来说有多种方法可以选择最常见的有梯度下降法(Gradient Descent)坐标轴下降法(Coordinate Descent)牛顿法(Newton-Raphson method)等每种方法都涉及复杂的数学原理但这些计算在执行的任务其实是类似的。 重要参数solver使用的优化算法) sklearn.linear_model.LogisticRegression中的参数solver用于指定逻辑回归模型的优化算法。下面是solver参数的详细说明 newton-cg: 使用牛顿共轭梯度法进行优化。适用于较小的数据集对特征数量敏感。 lbfgs: 使用拟牛顿法的Limited-memory Broyden-Fletcher-Goldfarb-Shanno算法进行优化。适用于较小的数据集。 liblinear: 使用坐标下降法进行优化。适用于较大的数据集支持L1和L2正则化。 sag: 使用随机平均梯度法进行优化。适用于大规模数据集。 saga: 与sag类似但支持弹性网络正则化。适用于大规模数据集。 不同的solver对模型的收敛速度和性能可能会有所影响。在选择solver时可以考虑数据集的规模、特征数量以及是否需要使用正则化等因素来选择合适的优化算法。 重要参数class_weight样本不平衡 class_weight用于指定不同类别的权重。默认情况下所有类别的权重都是相等的。 逻辑回归是一种二分类模型但也可以用于多分类问题。当数据集中的类别不平衡时即某些类别的样本数量远大于其他类别时设置class_weight参数可以帮助模型更好地处理不平衡的情况。 class_weight参数可以接受以下几种输入形式 balanced自动根据训练集中各类别的样本数量来计算权重。较少样本的类别将会有较高的权重。字典用于指定每个类别的权重。字典的键为类别的索引或标签值为对应的权重。数组用于指定每个类别的权重。数组的索引对应类别的索引或标签值为对应的权重。 设置class_weight参数可以提高模型对少数类别的识别能力从而避免模型过度依赖多数类别。 参考资料 【技术干货】菜菜的机器学习sklearn
http://www.pierceye.com/news/878938/

相关文章:

  • 1688阿里巴巴官方网站杭州网站建设seo
  • 建设网站选什么地方的主机网站上漂亮的甘特图是怎么做的
  • 用什么软件来建网站立创电子元器件商城官网
  • 做视频网站成本如何定制微信小程序
  • 南宁市有哪些做网站的外包企业青州网站建设公司
  • 网站排名点击中国建筑是国企还是央企
  • 广告联盟的网站怎么做太仓苏州网站建设
  • 杭州 seo网站建设 网络服务包头企业网站
  • 网站导航字体企业网站建设及维护
  • 买东西网站产品设计网张
  • 国外有哪些设计网站嵌入式软件开发工具有哪些
  • 做网站推广的销售电话开场白wordpress小工具插件
  • 简单网站建设公司flashfxp上传wordpress
  • 网站建设策划包括哪些内容展馆设计图
  • 网站建设中 翻译六安市 网站集约化建设
  • 全国卫生机构建设管理系统网站公司网站维护费用计哪个科目
  • 学做川菜最好的网站商标综合查询
  • 网站开发培训 价格哪些网站可以找到兼职做报表的
  • 网站建设功能分为几种北京自考网址
  • 购买网站域名怎么做会计分录广告机免费投放
  • 网上做网站赚钱深圳市无限空间工业设计有限公司
  • 商贸网站建设怎么查看wordpress版本
  • 电子商务网站建设哪本教材比较适合中等专业学校用网站建设yankt
  • 局域网网站建设需要什么条件企业建网站的目的
  • 高校专业建设网站桂林漓江竹筏
  • 自已做个网站怎么做网站网络的可用性
  • 深圳网站设计建设永州做网站
  • 怎么制作网站应用wordpress 淘宝客赚钱
  • 网站在政务新媒体建设方案打开手机网站速度慢
  • 网站备案表服务类网站模板