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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。