求解逻辑回归—-梯度下降
2020-06-28 14:38:03 来源:易采站长站 作者:易采站长站整理
文章目录案例简介数据可视化建立分类器sigmoid函数:映射到概率的函数model 函数: 返回预测结果值cost : 根据参数计算损失gradient : 计算每个参数的梯度方向descent : 进行参数更新精度
案例简介
参考资料
逻辑回归函数
Python数据分析与机器学习-逻辑回归案例分析
案例内容
现在有一份学生两次考试的结果的数据
根据数据建立一个逻辑回归模型来预测一个学生的入学概率。
数据内容:两个考试的申请人的分数和录取决定。
# 导入相应的包
import numpy as np
import pandas as pd
import matplotlib as mpl
import warnings # 警告处理
import matplotlib.pyplot as plt
import os
from matplotlib.font_manager import FontProperties
from sklearn.linear_model.coordinate_descent import ConvergenceWarning # 警告处理
%matplotlib inline
# 设置显示中文字体
my_font = FontProperties(fname="/usr/share/fonts/chinese/simsun.ttc")
# fontproperties = my_font
# 设置正常显示符号
mpl.rcParams["axes.unicode_minus"] = False
# 拦截异常
warnings.filterwarnings(action = 'ignore', category = ConvergenceWarning)
# 加载数据
# 从本地导入数据
path = '/root/zhj/python3/code/data/LogiReg_data.txt'
# header=0 是指将文件中第 0 行(一般理解应该是第一行)作为“列名”。
# 如果没有设置则默认取第一行,
# 设置为 None 的时侯 Pandas 会用自然数 0、1、2……来标识列名。
pdData = pd.read_csv(path, header=0, names=['test1', 'test2', 'result'])
# 为了区别header属性,用数据维度进行试验
pdData1 = pd.read_csv(path, names=['test1', 'test2', 'result'])
pdData2 = pd.read_csv(path, header=None, names=['test1', 'test2', 'result'])
print("查看前10行数据")
print("="* 31)
print(pdData.head(10))
print("="* 31)
print("查看数据维度")
print("header=0的数据维度:",pdData.shape)
print("header默认值的数据维度:",pdData1.shape)
print("header=None值的数据维度:",pdData2.shape)
查看前10行数据
===============================
test1 test2 result
0 30.286711 43.894998 0
1 35.847409 72.902198 0
2 60.182599 86.308552 1
3 79.032736 75.344376 1
4 45.083277 56.316372 0
5 61.106665 96.511426 1
6 75.024746 46.554014 1
7 76.098787 87.420570 1
8 84.432820 43.533393 1
9 95.861555 38.225278 0
===============================
查看数据维度
header=0的数据维度: (99, 3)
header默认值的数据维度: (100, 3)
暂时禁止评论













闽公网安备 35020302000061号