栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

集成学习机器学习基础3学习笔记

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

集成学习机器学习基础3学习笔记

回归和分类 回归问题中因变量是连续变量 需要预测的数是一个连续的实数 比如人口数预测中下一年的人口数量。分类问题中因变量是离散变量 比如鸢尾花的类别 是否患病等。面对分类问题很容易想到的方法是设置一个阈值 使用回归模型求出值后高于阈值为正类 低于阈值为负类。但是阈值设置很大程度上影响结果 如果得出结果值域在[0,20]但阈值设置为0.5那么这样设置是不合理的 同时多分类情况下用阈值就不合适了。逻辑回归就是将结果转化至[0,1]上 将结果转化成各类的概率 分类问题的损失函数

回归问题中我们常用均方误差MSE作为损失函数 但是在分类问题中 使用sigmoid/softmx得到概率 配合MSE损失函数时 采用梯度下降法进行学习时 会出现模型一开始训练时 学习速率非常慢的情况 所以常采用交叉熵作为分类问题的损失函数。
关于交叉熵可以参考知乎上飞鱼大佬的文章:损失函数 交叉熵损失函数

线性判别分析和逻辑回归

LDA的基本思想 给定训练样例集 设法将样例投影到一条直线上 使得同类样例的投影点尽可能接近、异类样例的投影点中心尽可能远离。更简单的概括为一句话 就是“投影后类内方差最小 类间方差最大”。
逻辑回归一般不用于多分类问题 在多分类问题上效果不佳 但是LDA适合与多分类问题

python numpy实现逻辑回归
#通用函数
import numpy as np
from collections import Counter
def sigmoid_fun(z):
 return 1/(1 np.exp(-z))
def cross_entropy(N,P,y):
 J np.sum(y*np.log(P) (1-y)*np.log(1-P))/N
 return J
#逻辑回归类
class LR:
 w None
 def fit(self,X,y,alpha 0.01,accuracy 0.00001):
 self.w np.full((X.shape[1] 1,1),0.5)
 self.N X.shape[0]
 b np.ones(X.shape[0])
 X np.column_stack((X,b))
 y y.reshape(self.N,1)
 obj self.cost_func(w,X,y)
 new_obj float( inf )
 while np.abs(new_obj-obj) accuracy:
 obj new_obj
 df y-sigmoid_fun(X.dot(w))
 df df.T.dot(X).T
 self.w self.w-alpha*df
 new_obj self.cost_func(self.w,X,y)
 def cost_func(self,w,X,y):
 P sigmoid_fun(X.dot(w))
 r cross_entropy(self.N,P,y)
 return r
 def predict(self,X):
 b np.ones(X.shape[0])
 X np.column_stack((X,b))
 predict X.dot(self.w)
 result []
 for i in predict:
 if i 0.5:
 result.append(1)
 else:
 result.append(0)
 return result
 def score(self,X_test,y_test):
 y_predict self.predict(X_test)
 re (y_test y_predict)
 re1 Counter(re)
 a re1[True] / (re1[True] re1[False])
 return a
#构建二分类数据集并调用
from sklearn.model_selection import train_test_split
iris datasets.load_iris()
X iris[ data ]
y iris[ target ]
X X[y! 2]
y y[y! 2]
X_train,X_test, y_train, y_test train_test_split(X,y)
myLogstic LR() 
myLogstic.fit(X_train,y_train)
myLogstic.score(X_test,y_test)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/267208.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号