3.1 sklearn转换器和估计器
转换器
估计器(estimator)
3.1.1 sklearn转换器 ------特征工程的父类
1.实例化(实例化的是一个转换器类(transforer))
2.调用fit_transform(对于文档建立分类词频矩阵,不能同时调用)
标准化:
(x-mean)/std
fit_transform()
fit() :计算 每一列的平均值,标准差
transform() :(x-mean)/std进行最终的转换
3.1.2 估计器(sklearn机器学习算法的实现)
估计器工作流程
估计器(estimator)
-
实例化一个estimator
-
estimator.fit(x_train,y_train) 计算
-
模型评估:
1) 直接比对真实值和预测值
y_preidct = estimator.predict(x_test)
y_test == y_predict
- 计算准确率
accuray = estimator.score(x_test,y_test)
3.2 K-近邻算法
3.2.1什么是K-近邻算法
1.K-近邻算法(KNN)原理
这个算法是机器学习中一个比较经典的算法。
定义:
如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。
距离公式:
求算距离有以下几种方法:
曼哈顿距离,绝对值距离,明可夫斯基距离。
2 电影类型分析
电影类型分析
k = 1 爱情片
k = 2 爱情片
k = 6 无法确定
k = 7 动作片
3 问题
如果取的最近的电影数量不一样,会是什么结果?
k值取得过小,容易受到异常点的影响
k值取得过大,样本不均衡的影响
结合前面的约会对象数据,分析K-近邻算法需要做什么样的处理
3.2.2 K-近邻算法API
3.2.3 案例1 : 鸢尾花种类预测
1 数据集介绍
iris数据集是常用的分类实验室数据集,有Fsisher,1936收集整理,iris也称鸢尾花卉数据集,是一类多重变量分析的数据集。
1)获取数据
2)数据集划分
3)特征工程
标准化
4)KNN预估器流程
5)模型评估
pycharm代码:
3.2.4 K-近邻总结
优点:简单,易于理解,易于实现,无需训练
缺点:懒惰算法,对测试样本分类时的计算量大,内存开销大
必须使用指定k值,k值选择不当则分类精度不能保证
使用场景:小数据场景,几千-几万样本,具体场景具体业务去测试