Python实现简单的logistic

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
import numpy as np
import matplotlib.pyplot  as plt


#获取数据 
data = load_iris().data[:1000,[0,2]]
target = load_iris().target[:1000]

#切割数据
X_train,X_test,y_train,y_test = train_test_split(data,target,test_size=.3) #常用的训练:验证集的比例是7:3。如果数据量够大,train越多越好哦。还经常用k折交叉去获得更稳定的模型。


class Logistic(object):
    #不考虑偏置项(wx+b中的b)
    def __init__(self,max_iter=1000,eta0=0.01):
        #迭代率
        self.eta0 = eta0
        #最大迭代次数
        self.max_iter = max_iter
    
    def fit(self,X,y):
        X = np.array(X)
        #必须要是一个矩阵
        y = np.array(y).reshape(-1,1) #后面更新系数时,损失函数要用到
        
        #获取样本数量和特征数
        sample_num,feature_num = X.shape  (特征数目就是每次计算的w的数目)
        
        #初始化系数,随机给定最初的系数 randn 标准的高斯分布 zeros
        self.coef_ = np.zeros(shape=(feature_num,1))
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值