sklearn
文章平均质量分 53
糖公子没来过
学生一枚
展开
-
决策树与随机森林
决策树信息论基础信息熵信息增益信息增益表示得知特征X的信息而使得类Y的信息的不确定性减少的程度信息增益的计算信息熵条件熵信息熵的大小变化是和不确定性相关举个栗子根据各特征的信息增益的大小来选择决策树分叉的标准,信息增益越大越可以把类别分开另外,还需要知道的是,除了信息增益之外,还有其他的划分依据,比如gini系数等,意思差不多,算法不一样决策树API决策树的优缺点决策树虽然在实际问题处理中很少使用,但是非常重要,因为随..原创 2021-08-13 19:18:54 · 94 阅读 · 0 评论 -
--特征工程--
特征工程定义、意义:特征工程是将原始数据转换为更好地代表预测模型的潜在问题的特征的过程,从而提高了对位置数据的模型准确性数据的特征抽取特征抽取,是为了将原始数据中的一些文本、字符串等数据转化为数字类型,以便进行数值化预测sklearn特征抽取APIsklearn.feature_extraction字典特征抽取对字典数据进行特征值化sklearn.feature_extraction.DictVectorizer(sparse=True,...)DictVecto原创 2021-08-13 18:48:43 · 219 阅读 · 0 评论 -
交叉验证与网格搜索
交叉验证目的:为了让被评估的模型更加准确可信交叉验证过程:将拿到的数据,分为训练和验证集。以上图为例:将数据分成5份,其中一份作为验证集。然后经过5次(组)的测试,每次都更换不同的验证集。即得到5组模型的结果,取平均值作为最终结果。又称5折交叉验证。网格搜索超参数搜索——网格搜索通常情况下,有很多参数是需要手动指定的(如k-近邻算法中的K值),这种叫超参数。但是手动过程繁杂,所以需要对模型预设几种超参数组合。每组超参数都采用交叉验证来进行评估。最后选出最优参数组合建立模型。交原创 2021-08-13 18:45:17 · 142 阅读 · 0 评论 -
朴素贝叶斯算法
概率基础朴素贝叶斯算法在判断某文章或物品属于哪一类别时使用概率的方法,哪种类别的概率大,就判定其为哪种类别联合概率联合概率:包含多个条件,且所有条件同时成立的概率记作: P(A, B)条件概率条件概率:就是事件A在另外一个事件B已经发生条件下的发生概率记作:????(????|????)特性:P(A1,A2|B) = P(A1|B)P(A2|B)注意:此条件概率的成立,是由于A1,A2相互独立的结果朴素贝叶斯公式????(????):每个文档类别的概率(原创 2021-08-13 18:29:17 · 95 阅读 · 0 评论 -
分类算法中的准确率、精确率、召回率、混淆矩阵(评估)
KNN-iris分类import numpy as npimport matplotlib.pylab as pybfrom sklearn.nerghbors import KNeighborsClassifierfrom sklearn import datasetsfrom matplotlib.colors import ListedColormap# 加载数据,数据降维(画图)# load_iris中有个参数return_X_y默认为False,改为True后返回data值和t原创 2021-07-27 14:43:43 · 1132 阅读 · 0 评论 -
机器学习之sklearn回顾整理
特征工程特征工程的基础知识见这篇模型评估估计器(estimator)中的评估方法在sklearn中,估计器(estimator)是一个重要的角色,是一类实现了算法的API其实就可以理解为平时用的各种分类、回归的算法(吧)调用fit estimator.fit(X_train, y_train) 输入测试集的数据 y_ = estimator.predict(X_test) 或者预测的准确率:estimator.score(X_test, y_test) 分类原创 2021-08-13 21:01:53 · 104 阅读 · 0 评论 -
KNN算法
k近邻算法介绍欧式距离公式两点间a(a1, a2, a3) b(b1, b2, b3)间的距离可以表示为k近邻算法APIsklearn.neighbors.KNeighborsClassifier(n_neighbors=5, algorithm='auto')n_neighbors: int,默认为5algorithm:{'auto', 'ball_tree', 'kd_tree', 'brute'},可选用于计算最近邻居的算法,不同实现方式影响效率原理通过计算.原创 2021-07-26 21:48:10 · 241 阅读 · 0 评论 -
回归人脸自动补全
回归人脸自动补全导包import numpy as npimport matplotlib.pyplot as pltfrom sklearn.linear_model import LinearRegression, Ridge, Lassofrom sklearn.neighbors import KNeighborsRegressorfrom sklearn.tree import DecisionTreeRegressorfrom sklearn import datasets原创 2021-08-12 21:51:23 · 166 阅读 · 0 评论 -
逻辑斯蒂回归及其原理
逻辑斯蒂回归的使用逻辑斯蒂回归虽然叫回归,但是其适用于分类而不是回归import numpy as npfrom sklearn.linear_model import LogisticRegression, LogisticRegressionCVfrom sklearn import datasetsfrom sklearn.model_selection import train_test_splitX, y = datasets.load_iris(True)X_train原创 2021-08-09 19:42:32 · 327 阅读 · 0 评论 -
其他回归模型
线性回归import numpy as npimport matplotlib.pyplot as pltfrom sklearn.model_selection import train_test_splitfrom sklearn.metrics import mean_squred_error, r2_scorefrom sklearn import datasetsfrom sklearn.linear_model import LinearRegression, Ridge, L.原创 2021-08-07 15:18:40 · 94 阅读 · 0 评论 -
手写实现线性回归
一元一次拟合f(x)=wx+b使用已有的线性回归拟合函数import numpy as npimport matplotlib.pyplot as pltfrom sklearn.linear_model import LinearRegressionX = np.linspace(2, 10, 20).reshape(-1,1)# f(x) = wx + by = np.random.randint(1, 6, size=1)*X + np.random.randint(-5, 5原创 2021-08-06 16:01:20 · 855 阅读 · 0 评论 -
线性回归介绍
线性回归线性回归通过一个或者多个自变量与因变量之间进行建模的回归分析。其中特点为一个或多个称为回归系数的模型参数的线性组合。通用公式w, x为矩阵,损失函数(误差大小)yi为真实值大小,hw(xi)为拟合后的预测值,目的就是找到使得损失函数H(θ)最小的w值最小二乘法的正规方程求解求解出来是这样的下面在实操中会讲解怎么解出来的正规方程通过数学方法直接求得误差最小时各w的大小线性回归之正规方程APIsklearn.linear_model.Lin.原创 2021-08-03 09:25:45 · 1267 阅读 · 0 评论 -
adaboost
import numpy as npfrom sklearn.ensemble import AdaBoostClassifierfrom sklearn import treeimport matplotlib.pyplot as pltX = np.arange(10).reshape(-1,1)y = np.array([1,1,1,-1,-1,-1,1,1,1,-1])display(X,y)ada = AdaBoostClassifier(n_estimators=3,.原创 2021-08-02 09:23:25 · 126 阅读 · 0 评论 -
梯度提升树的二分类原理
import numpy as npimport matplotlib.pyplot as pltfrom sklearn.ensemble import GradientBoostingClassifierfrom sklearn import treexi = np.arange(1,11)yi = np.array([0,0,0,1,1]*2)display(xi,yi)# array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])# ar.原创 2021-08-01 09:24:57 · 187 阅读 · 0 评论 -
极限森林、梯度提升树
极限森林与随机森林一样,极限森林也是基于多棵决策树的集成算法,与随机森林的区别在于:随机森林在选取样本时采用样本随机的方式,并使用最好的裂分条件(无论是'gini'还是'entropy',都选用最佳的分裂进行分类);极限森林也是采用随机样本,但其分裂条件也是随机的,并不一定每次都选用最佳的裂分条件,官网上的解释是这样的像在随机森林中一样,使用候选特征的随机子集,但不是寻找最有区别的阈值,而是为每个候选特征随机绘制阈值,并选择这些随机生成的阈值中的最佳阈值作为划分规则也就是说,较小的阈值也是有原创 2021-07-31 16:14:31 · 613 阅读 · 0 评论 -
--随机森林--
随机森林随机森林:多棵决策树构建而成,每一棵决策树都是上一篇文章中的决策树的原理,只是“随机森林”将其集成(ensemble)到了一起,因此,随机森林是一种“集成算法”随机森林API随机森林API:class sklearn.ensemble.RandomForestClassifier(n_estimators=10, criterion='gini', max_depth=None, booststrap=True, rangdom_state=None)n_estimato..原创 2021-07-31 10:01:35 · 989 阅读 · 2 评论 -
--决策树--
决策树与随机森林均属于分类算法,处理的数据应为离散数据信息论基础信息熵信息增益信息增益表示得知特征X的信息而使得Y的信息的不确定性减少的程度信息增益的计算条件熵Ck表示属于某个类别的样本数信息增益是确定决策树优先级的重要指标,信息增益越大,其优先级越高决策树APIclass sklearn.tree.DecisionTreeClassifier(criterion='gini', max_depth=None, random_state=No...原创 2021-07-31 00:07:40 · 152 阅读 · 0 评论