课堂笔记:逻辑回归和鸢尾花数据集

一、机器学习

机器学习过程:

二、逻辑回归

1、作用:(1)估计某事物的可能性 ;(2)适用于流行病学资料的危险因素分析。

2、介绍:简单来说它是线性回归的一种,事实上它是一个被logistic方程归一化后的线性回归。

(另一种理解就是:一个线性回归经过阶跃函数的处理,变成一个二项分类器,输出结果只能是0,1的条件概率的大小,其实是一种概率模型)

3、sigmoid函数:能够把任何一个线性的值变为0或1之间。

方程:

推导:

 

 注意:损失函数主要是求参数的,也就是求下面的b

2、求

方法:(1)最大使然估计法(2)从损失函数出发

从损失函数出发求

 

构造损失函数:

作业:

 1、手工推导逻辑回归梯度下降实现:

2、用逻辑回归实现鸢尾花分类:

代码:

#导入相关包
import numpy as np
from sklearn.linear_model import LogisticRegression
import matplotlib.pyplot as plt
import matplotlib as mpl
from sklearn import datasets
from sklearn import preprocessing
import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.pipeline import Pipeline
# 获取所需数据集
iris = datasets.load_iris()
#每行的数据,一共四列,每一列映射为feature_names中对应的值
X = iris.data
print(X)
#每行数据对应的分类结果值(也就是每行数据的label值),取值为[0,1,2]
Y = iris.target
print(Y)
#归一化处理
X = StandardScaler().fit_transform(X)
print(X)
lr = LogisticRegression()   # Logistic回归模型
lr.fit(X, Y)        # 根据数据[x,y],计算回归参数
N, M = 500, 500     # 横纵各采样多少个值
x1_min, x1_max = X[:, 0].min(), X[:, 0].max()   # 第0列的范围
x2_min, x2_max = X[:, 1].min(), X[:, 1].max()   # 第1列的范围
t1 = np.linspace(x1_min, x1_max, N)
t2 = np.linspace(x2_min, x2_max, M)
x1, x2 = np.meshgrid(t1, t2)                    # 生成网格采样点
x_test = np.stack((x1.flat, x2.flat), axis=1)   # 测试点
cm_light = mpl.colors.ListedColormap(['#77E0A0', '#FF8080', '#A0A0FF'])
cm_dark = mpl.colors.ListedColormap(['g', 'r', 'b'])
y_hat = lr.predict(x_test)       # 预测值
y_hat = y_hat.reshape(x1.shape)                 # 使之与输入的形状相同
plt.pcolormesh(x1, x2, y_hat, cmap=cm_light)     # 预测值的显示
plt.scatter(X[:, 0], X[:, 1], c=Y.ravel(), edgecolors='k', s=50, cmap=cm_dark)
plt.xlabel('petal length')
plt.ylabel('petal width')
plt.xlim(x1_min, x1_max)
plt.ylim(x2_min, x2_max)
plt.grid()
plt.show()
y_hat = lr.predict(X)
Y = Y.reshape(-1)
result = y_hat == Y
print(y_hat)
print(result)
acc = np.mean(result)
print('准确度: %.2f%%' % (100 * acc))

 结果:

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值