sklearn转换器的方法,sklearn 算法

  sklearn转换器的方法,sklearn 算法

  Yyds干货库存

  @TOC

  大家好。我叫Dream,一个有趣的Python博主。请照顾我。

  作者简介:CSDN,Python中的优质创作者,阿里云专家博主华为云象专家专家博主年度博客之星

  入门:这个天堂永远不缺天才,努力就是你最后的入场券!

  最后,愿我们都在看不见的地方发光,共同进步。

  一万次的悲伤,依然会有梦,我一直在最温暖的地方等你~

  一.转换器和估算器

  1.转换器

  想想之前特征工程的步骤?

  1.实例化(实例化一个转换器类)

  2.调用fit_transform(不能同时调用它为文档建立分类词频矩阵)

  我们将特征工程的接口称为转换器,转换器调用有几种形式:

  标准化:

  (x平均值)/标准值

  拟合转换()

  Fit()计算每列的平均值和标准差。

  最终转换的Transform() (x-mean)/std。

  这几种方法有什么区别?让我们看看下面的代码。

  In [1]:来自sklearn .预处理导入标准缩放器

  In [2]: std1=StandardScaler()

  在[3]中:a=[[1,2,3],[4,5,6]]

  In [4]: std1.fit_transform(a)

  Out[4]:

  数组([[-1。 -1. -1.],

  [ 1. 1. 1.]])

  In [5]: std2=StandardScaler()

  In [6]: std2.fit(a)

  out[6]:standard scaler(copy=True,with_mean=True,with_std=True)

  In [7]: std2.transform(a)

  Out[7]:

  数组([[-1。 -1. -1.],

  [ 1. 1. 1.]])

  可见fit_transform的作用相当于transform加fit。但是为什么要提供单独的配件呢?让我们使用原始的std2进行标准化:

  在[8]中:b=[[7,8,9],[10,11,12]]

  In [9]: std2.transform(b)

  Out[9]:

  数组([[3。 3. 3.],

  [5. 5. 5.]])

  In [10]: std2.fit_transform(b)

  Out[10]:

  数组([[-1。 -1. -1.],

  [ 1. 1. 1.]])

  2.estimator(sk learn机器学习算法的实现)

  在sklearn中,估算器是一个重要的角色,它是一种实现算法的API。

  1实例化一个估算器。

  2 estimator.fit(x_train,y_train)计算

  3354调用后,模型生成。

  3模型评估:

  1)直接比较实际值和预测值

  y _ predict=estimator . predict(x _ test)

  y _测试==y _预测

  2)计算精度

  准确度=估计值.得分(x _检验,y _检验)

  类型:

  1.分类估计量:

  Sklearn。近邻k近邻算法

  Sklearn.naive_bayes Bayes Bayes

  Sklearn.linear _ model.logistic回归logistic回归

  Sklearn.tree决策树和随机森林

  2.回归估计量:

  Sklearn。线性_模型。线性回归

  Sklearn.linear_model。岭脊回归

  3.无监督学习的估计器

  sk learn . cluster . k表示聚类

  3.评估员工作流程

  第二,k-最近邻算法

  1.k近邻算法(KNN)

  你的“邻居”推断你的类别

  2.定义

  如果特征空间中K个最相似样本中的大部分属于某一类别,则该样本也属于该类别。

  3.距离公式

  两个样本之间的距离可以通过以下公式计算,也称为欧几里德距离。

  第三,分析电影类型

  假设我们现在有几部电影。

  其中?我不知道电影的类别。我怎么预测?我们可以利用K近邻算法的思想。

  最近拍的电影数量不一样怎么办?结果会怎样?

  K=1浪漫

  K=2浪漫

  ……

  不能确定K=6。

  K=7动作片

  最近拍的电影数量不一样怎么办?结果会怎样?

  * *-k值太小,容易受异常点影响。

  过大的k值和不平衡样本的影响* *

  2 K- k最近邻算法数据的特征工程处理

  结合以前的数据,分析了K近邻算法需要做什么样的处理。

  无量纲处理

  标准化

  四。k最近邻算法API

  sk learn . neighbors . kneighborsclassifier(n _ neighbors=5,algorithm=auto )

  N _ neighbors: k值

  N _ neighbors: int,可选(默认值=5)。k_neighbors查询默认的邻居数量。

  算法:{auto , ball_tree , kd_tree , Brute},计算最近邻的可选算法: ball _ tree 会使用 ball _ tree , KD _ tree 会使用 KD _ tree 。“Auto”将尝试根据传递给fit方法的值来决定最合适的算法。(不同的实现影响效率)

  鸢尾物种预测:

  数据,我们用的是sklearn自带的虹膜数据。

  1)获取数据

  2)数据集分区

  3)特色工程

  标准化

  4)KNN预测器过程

  5)模型评估

  从sklearn.datasets导入load_iris

  从sklearn.model_selection导入训练_测试_拆分

  def knn_iris():

  基于KNN算法的虹膜分类

  :返回:

  # 1)获取数据

  iris=load_iris()

  # 2)对数据集进行分区

  x_train,x_test,y_train,y _ test=train _ test _ split(iris . data,iris.target,random_state=22)

  # 3)特色工程:标准化

  transfer=StandardScaler()

  x _ train=transfer . fit _ transform(x _ train)

  x _ test=transfer . transform(x _ test)

  # 4)KNN算法预测器

  estimator=KNeighborsClassifier(n _ neighbors=3)

  estimator.fit(x_train,y_train)

  # 5)模型评估

  #方法一:直接比较真实值和预测值。

  y _ predict=estimator . predict(x _ test)

  打印( y_predict:\n ,y_predict)

  Print(直接比较真实值和预测值:\n ,y_test==y_predict)

  #方法二:计算准确率

  score=estimator.score(x_test,y_test)

  打印(准确度为:\n ,分数)

  不返回

  3.结果和分析

  结果分析:

  准确性:分类算法的评价之一

  1.k的值是多少?有什么影响?

  k值很小:容易受异常点影响。

  k值很大:受制于样本均衡问题。

  2.性能问题?

  计算距离时时间复杂度高。

  动词(verb的缩写)K-最近邻的总结

  优势:

  简单、易懂、易于实施,无需培训。

  缺点:

  懒惰算法,在对测试样本进行分类时,计算量和内存开销都很大。

  必须指定k值。如果K值选择不当,就不能保证分类精度。

  使用场景:小数据场景,几千到几万个样本,具体场景和具体业务来测试。

  来自博客作者为梦想原创作品。转载请联系作者取得授权,否则将追究法律责任。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: