【机器学习】---逻辑回归从初识到应用

一、前述

逻辑回归是一种分类算法,对多元线性回归的结果做一定的缩放。是一种线性(x是一次的)有监督(有x,y)分类(要么是正列,要么是负例)算法。

二、具体

如果最后预测的结果大于0.5 是正例 小于0.5是负例

做分类的误差来源于两种情况:

假设Y是正列 1-p^

假如本来是1这个类别:预测出来的结果是0.6则预测对了预测的误差是1-0.6=0.4

假如本来是1这个类别:预测出来的结果是0.1 则误差1-0.1=0.9

假设是负例p^

假设预测出来的是0.1 则误差是0.1

假设预测出来的是0.6 则误差是0.6

三、代码

#逻辑回归预测鸢尾花,根据花瓣的宽度
import numpy as np
from sklearn import datasets
from sklearn.linear_model import LogisticRegression
import matplotlib.pyplot as plt

iris = datasets.load_iris()# 鸢尾花数据集
print(list(iris.keys()))
print(iris[‘DESCR‘])#数据集的描述
print(iris[‘feature_names‘])#数据集的特证名字 #150条数据 三种花 每种花50条数据
#根据花的花瓣,花萼,花蕊来分类
X = iris[‘data‘][:, 3:] # 逗号左边第一行到所有行 ,逗号右边第3列开始到最后 总共4列 实际上就是最后一列
# print(X)
print(iris[‘target‘])
y = (iris[‘target‘] == 2).astype(np.int)
print(y) #保留类别为2的花。

log_reg = LogisticRegression()#构建逻辑回归
log_reg.fit(X, y)#根据最后一个花瓣的宽度来预测

X_new = np.linspace(0, 3, 1000).reshape(-1, 1)#0-3之间切分1000次
print(X_new)
y_proba = log_reg.predict_proba(X_new)#预测的概率 给一个0-1之间的一个概率值
y_hat = log_reg.predict(X_new)#预测的结果
print(y_proba)
print(y_hat)
plt.plot(X_new, y_proba[:, -1], ‘g-‘, label=‘Iris-Virginica‘)
plt.plot(X_new, y_proba[:, 0], ‘b--‘, label=‘Not Iris-Virginica‘)
plt.show()

print(log_reg.predict([[1.7], [1.5]]))
#PS 对应1.6的时候正列结果是鸢尾花 #小于1.6的时候是负例不是鸢尾花

PS:1.6是正负例的交界。

原文地址:https://www.cnblogs.com/LHWorldBlog/p/8319502.html

时间: 2024-11-02 17:18:05

【机器学习】---逻辑回归从初识到应用的相关文章

机器学习---逻辑回归(二)(Machine Learning Logistic Regression II)

在<机器学习---逻辑回归(一)(Machine Learning Logistic Regression I)>一文中,我们讨论了如何用逻辑回归解决二分类问题以及逻辑回归算法的本质.现在来看一下多分类的情况. 现实中相对于二分类问题,我们更常遇到的是多分类问题.多分类问题如何求解呢?有两种方式.一种是方式是修改原有模型,另一种方式是将多分类问题拆分成一个个二分类问题解决. 先来看一下第一种方式:修改原有模型.即:把二分类逻辑回归模型变为多分类逻辑回归模型. (二分类逻辑回归称为binary

机器学习—逻辑回归理论简介

下面是转载的内容,主要是介绍逻辑回归的理论知识,先总结一下自己看完的心得 简单来说线性回归就是直接将特征值和其对应的概率进行相乘得到一个结果,逻辑回归则是这样的结果上加上一个逻辑函数 这里选用的就是Sigmoid函数,在坐标尺度很大的情况下类似于阶跃函数 在确认特征对应的权重值也就是回归系数的时候 最常用的方法是最大似然法,EM参数估计,这个是在一阶导数能够有解的前提下 如果一阶导数无法求得解析值,那么一般选取梯度上升法,通过有限次的迭代过程,结合代价函数更新回归系数至收敛 //////////

机器学习-逻辑回归

(整理的简单,公式也没使用公式编辑器.) 对于数据集D={(x1,y1),(x2,y2),...,{xn,yn}} ,而xi= {xi1,xi2,...,xim} 代表m维 . 在线性回归中,我们想学习一个线性的函数 f(x) = w1*x1+w2*x2+w3*x3+...+wm*xm+b . 向量形式 f(X) = Wt*X +b  其中Wt 是W 向量的转置.其可能值范围是(-oo,+oo). 对于二分类任务,其类别标记为y={0,1},  需要将范围取到(0,1),就使用sigmoid函数

[机器学习]--逻辑回归总结

逻辑回归是一个分类算法,它可以处理二元分类以及多元分类.虽然它名字里面有“回归”两个字,却不是一个回归算法.那为什么有“回归”这个误导性的词呢?个人认为,虽然逻辑回归是分类模型,但是它的原理里面却残留着回归模型的影子.邮件是否是垃圾邮件.细胞是否是癌细胞. 1. 从线性回归到逻辑回归 我们知道,线性回归的模型是求出输出特征向量Y和输入样本矩阵X之间的线性关系系数θθ,满足Y=XθY=Xθ.此时我们的Y是连续的,所以是回归模型.如果我们想要Y是离散的话,怎么办呢?一个可以想到的办法是,我们对于这个

机器学习-逻辑回归与线性回归

logistic回归与线性回归实际上有很多相同之处,最大的区别就在于他们的因变量不同,其他的基本都差不多,正是因为如此,这两种回归可以归于同一个家族,即广义线性模型(generalized linear model).这一家族中的模型形式基本上都差不多,不同的就是因变量不同,如果是连续的,就是多重线性回归,如果是二项分布,就是logistic回归.logistic回归的因变量可以是二分类的,也可以是多分类的,但是二分类的更为常用,也更加容易解释.所以实际中最为常用的就是二分类的logistic回

机器学习逻辑回归算法推导

1.引自https://www.cnblogs.com/bnuvincent/p/9695666.html 2. 基本原理 Logistic Regression和Linear Regression的原理是相似的,按照我自己的理解,可以简单的描述为这样的过程: (1)找一个合适的预测函数(Andrew Ng的公开课中称为hypothesis),一般表示为h函数,该函数就是我们需要找的分类函数,它用来预测输入数据的判断结果.这个过程时非常关键的,需要对数据有一定的了解或分析,知道或者猜测预测函数的

逻辑回归代码

代码 1. 逻辑回归 import pandas as pd import numpy as np from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.linear_model import LogisticRegression import ssl ssl._create_default_https_context =

用Python开始机器学习(7:逻辑回归分类) --好!!

from : http://blog.csdn.net/lsldd/article/details/41551797 在本系列文章中提到过用Python开始机器学习(3:数据拟合与广义线性回归)中提到过回归算法来进行数值预测.逻辑回归算法本质还是回归,只是其引入了逻辑函数来帮助其分类.实践发现,逻辑回归在文本分类领域表现的也很优秀.现在让我们来一探究竟. 1.逻辑函数 假设数据集有n个独立的特征,x1到xn为样本的n个特征.常规的回归算法的目标是拟合出一个多项式函数,使得预测值与真实值的误差最小

Stanford机器学习---第三讲. 逻辑回归和过拟合问题的解决 logistic Regression &amp; Regularization

原文地址:http://blog.csdn.net/abcjennifer/article/details/7716281 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归.Octave Tutorial.Logistic Regression.Regularization.神经网络.机器学习系统设计.SVM(Support Vector Machines 支持向量机).聚类.降维.异常检测.大规模机器学习等章节.所有内容均来自Standford公开课machin