1 损失函数立体化呈现
导包
from sklearn import datasets#导入数据
# 机器学习sklearn中的datasets模块提供了一些自带的小数据集。
#1、常见的小数据集:
# 鸢尾花:load_iris()
乳腺癌:load_breast_cancer()
手写数字:load_digits()
糖尿病:load_diabetes()
波士顿房价:load_biston()
体能训练:load_linnerud()
图像数据:load_sample_image(name)
from sklearn.linear_model import LogisticRegression
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D#绘制3d
from sklearn.preprocessing import scale,StandardScaler#归一化
1.1 加载数据
np.set_printoptions(suppress=True)
x,y=datasets.load_breast_cancer(return_X_y=True)
x=x[:,:2]#切片前两个特征
#x=scale(x)
#30项特征
display(x.shape,y.shape)
输出:
(569, 2)
(569,)
1.2 建模
model=LogisticRegression()
model.fit(x,y)
model.coef_
输出:
array([[-1.0462619 , -0.21688595]])
1.3 逻辑回归中线方程获取:系数
w1=model.coef_[0,0]
w2=model.coef_[0,1]
b=model.intercept_[0]
print('方程的系数,截距为:',w1,w2,b)
输出:
方程的系数,截距为: -1.0462619024003457 -0.21688595452490766 19.671351031534858
1.4 定义sigmoid函数
def sigmoid(x,w1,w2,b):
z=w1*x[0]+w2*x[1]+b#表示线性方程
return 1/(1+np.exp(-z))
1.5 定义损失函数