逻辑回归:(用来做分类的,运用了线性回归的方法):
基础知识:
首先是用一个sigmoid函数,它是一个可以无限次数求导而且不归零的一个函数,正好在0和1中间0.5的位置有一个分界点,很好的表示了概率,概率大于0.5的取1,概率小于0.5的取0。
然后是我们平时用的二分类,比如我们用身高和鞋码做比喻,x轴是鞋码大小,y轴是身高,根据全班的身高和鞋码进行画图,得到下图,我们现在需要去判断一学生(已知身高鞋码)的男女,用下图中的直线进行分类,在线左边的分为女生,线右边的分为男生,这样的线可以有很多,怎么去找到哪根线是最合适的呢,这时候就引出了损失函数,离这根线的点的距离之和最小即可求出这根线的表达式。推广到高维。
具体操作:
uci data_banknote_authentication 数据集的下载
链接: http://archive.ics.uci.edu/ml/datasets/banknote+authentication
然后选择下载地址即可
如果通过网站下载不了的话(我们班有少数同学官网下载不了)
百度云盘链接:
https://pan.baidu.com/s/1uU9pgax2x6VfmEDr4ZlniQ
提取码:7d8c
用sigmoid函数来作为逻辑回归估计函数:
代价函数:
用梯度下降法去逼近最低值,以及求出所需的参数。
偏导函数:
theta迭代函数:
代码:
# -*- coding: utf-8 -*-
import math
import numpy
import random
import pandas as pd
data= pd.read_csv('C:/Users/95870/Desktop/banknote/data_banknote_authentication.txt',header=None)
X = data