Python之逻辑回归

代码:

 1 import numpy as np
 2 from sklearn import datasets
 3 from sklearn.linear_model import LogisticRegression
 4 import matplotlib.pyplot as plt
 5
 6 __author__ = ‘zhen‘
 7
 8 iris = datasets.load_iris()
 9
10 for i in range(0, 4):
11     x = iris[‘data‘][:, i:i+1]  # 获取训练数据
12     y = iris[‘target‘]
13
14     param_grid = {"tol": [1e-4, 1e-3, 1e-2], "C": [0.4, 0.6, 0.8]}
15
16     log_reg = LogisticRegression(multi_class=‘ovr‘, solver=‘sag‘, max_iter=1000)  # ovr:二分类
17     log_reg.fit(x, y)
18
19     # 改变数据的样式,reshape(rows, columns),当rows=-1时,表示任意行
20     x_new = np.linspace(0, 3, 1000).reshape(-1, 1)
21
22     y_proba = log_reg.predict_proba(x_new)
23     y_hat = log_reg.predict(x_new)
24
25     print("y_prob:\n{}\ny_hat\n{}".format(y_proba, y_hat[:: 10]))
26     print("="*60)
27
28     # 画图
29     plt.subplot(2, 2, i+1)
30     plt.plot(x_new, y_proba[:, 2], ‘g-‘, label=‘Iris-Virginica‘)
31     plt.plot(x_new, y_proba[:, 1], ‘r-‘, label=‘Iris-Versicolour‘)
32     plt.plot(x_new, y_proba[:, 0], ‘b-‘, label=‘Iris-Setosa‘)
33
34     if i == 3:
35         plt.show()

结果:

  训练1:

  

  训练2:

  

  训练3:

  

  训练4:

  

分析:

  有训练结果可知,训练4最具有合理性(分类清晰):

  

原文地址:https://www.cnblogs.com/yszd/p/9408835.html

时间: 2024-08-28 14:47:56

Python之逻辑回归的相关文章

21-城里人套路深之用python实现逻辑回归算法

如果和一个人交流时,他的思想像弹幕一样飘散在空中,将是怎样的一种景象?我想大概会毫不犹豫的点关闭的.生活为啥不能简单明了?因为太直白了令人乏味.保留一些不确定性反而扑朔迷离,引人入胜.我们学习了线性回归,对于损失函数及权重更新公式理解起来毫无压力,这是具体直白的好处.然而遇到抽象晦涩的逻辑回归,它的损失函数及权重更新公式就经历了从p(取值范围0~1)->p/(1-p)(取值范围0~+oo)->z=log(p/(1-p))(取值范围-oo~+oo)->p=1/1+e^(-z)->极大

机器学习python实战----逻辑回归

当看到这部分内容的时候我是激动的,因为它终于能跟我之前学习的理论内容联系起来了,这部分内容就是对之前逻辑回归理论部分的代码实现,所以如果有不甚理解的内容可以返回对照着理论部分来理解,下面我们进入主题----logistic regression 一.sigmoid函数 在之前的理论部分我们知道,如果我们需要对某物进行二分类,那么我们希望输出函数的值在区间[0,1],于是我们引入了sigmoid函数.函数的形式为. 曲线图 根据函数表达式,我们可以用代码来表示 def sigmoid(Inx):

Python之逻辑回归模型来预测

建立一个逻辑回归模型来预测一个学生是否被录取. import numpy as np import pandas as pd import matplotlib.pyplot as plt import os path='data'+os.sep+'Logireg_data.txt' pdData=pd.read_csv(path,header=None,names=['Exam1','Exam2','Admitted']) pdData.head() print(pdData.head())

机器学习 Python实现逻辑回归

# -*- coding: cp936 -*- from numpy import * def loadDataSet(): dataMat = []; labelMat = [] fr = open('testSet.txt') for line in fr.readlines(): lineArr = line.strip().split() dataMat.append([1.0, float(lineArr[0]), float(lineArr[1])]) labelMat.append

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

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

逻辑回归模型(Logistic Regression)及Python实现

逻辑回归模型(Logistic Regression)及Python实现 http://www.cnblogs.com/sumai 1.模型 在分类问题中,比如判断邮件是否为垃圾邮件,判断肿瘤是否为阳性,目标变量是离散的,只有两种取值,通常会编码为0和1.假设我们有一个特征X,画出散点图,结果如下所示.这时候如果我们用线性回归去拟合一条直线:hθ(X) = θ0+θ1X,若Y≥0.5则判断为1,否则为0.这样我们也可以构建出一个模型去进行分类,但是会存在很多的缺点,比如稳健性差.准确率低.而逻辑

机器学习算法与Python实践之(七)逻辑回归(Logistic Regression)

机器学习算法与Python实践这个系列主要是参考<机器学习实战>这本书.因为自己想学习Python,然后也想对一些机器学习算法加深下了解,所以就想通过Python来实现几个比较常用的机器学习算法.恰好遇见这本同样定位的书籍,所以就参考这本书的过程来学习了. 这节学习的是逻辑回归(Logistic Regression),也算进入了比较正统的机器学习算法.啥叫正统呢?我概念里面机器学习算法一般是这样一个步骤: 1)对于一个问题,我们用数学语言来描述它,然后建立一个模型,例如回归模型或者分类模型等

《统计学习方法》-逻辑回归笔记和python源码

逻辑回归(Logistic regression) 逻辑回归是统计学习中的经典分类方法.其多用在二分类{0,1}问题上. 定义1: 设X是连续随机变量,X服从逻辑回归分布是指X具有下列分布函数与密度函数: 分布函数属于逻辑斯谛函数,其图形是一条S形曲线. 定义2: 二项逻辑斯谛回归模型是如下条件概率分布: 从上式可以看出,逻辑回归对线性回归经行了归一化操作,将输出范围规定在{0,1}. 现在来看,逻辑回归的的特点,几率,指一件事件发生的概率与不发生的概率的比值.对上式分别求对数,我们可得如下式子

Python数据挖掘—回归—逻辑回归

概念 针对因变量为分类变量而进行回归分析的一种统计方法,属于概率型非线性回归 优点:算法易于实现和部署,执行效率和准确度高 缺点:离散型的自变量数据需要通过生成虚拟变量的方式来使用 在线性回归中,因变量是连续性变量,那么线性回归能根据因变量和自变量存在的线性关系来构造回归方程,因变量变成分类变量后就不存在这种关系了,需通过对数变换来进行处理(Sigmoid函数) 步骤: 1.读取数据: import pandas from pandas import read_csv data=read_csv