跟黑马程序员学习AI的day02

本文介绍了特征工程的基本概念,包括特征提取、预处理、降维和选择,以及过拟合和欠拟合的原理。重点讲解了KNN算法在分类和回归问题中的应用,以及如何通过调整超参数K值进行优化。还提到了使用Python的scikit-learn库进行KNN算法API的实战示例。
摘要由CSDN通过智能技术生成

特征工程概念入门

特征工程

特征:对任务有用的属性信息

特征工程:利用专业背景知识和技巧处理数据,让模型效果更好

特征工程的内容

特征提取:特征向量

特征预处理:不同特征对模型影响一致性

特征降维:保证数据的主要信息要保留下来

特征选择:从特征中选择出一些重要特征训练模型

特征组合:把多个特征合并组合成一个特征

模型拟合问题

过拟合欠拟合

拟合:用来表示模型对样本分布点的模拟情况

模型在训练集上表现很差、在测试集表现也很差,是欠拟合

模型在训练集上表现很好、在测试集表现很差,是过拟合

过拟合欠拟合产生的原因

泛化:具体的、个别的扩大为一般的能力

欠拟合产生的原因:模型过于简单

过拟合产生的原因:模型太过于复杂、数据不纯、训练数据太少

机器学习开发环境

基于Python的scikit-learn库

安装方法:

conda创建环境

conda create -n edumlpy3.9 python==3.9

conda activate 环境名

pip install scikit-learn -i https://pypi.tuna.tsinghua.edu.cn/simple

KNN算法 分类问题与回归问题

K-近邻算法  •样本相似性:样本都是属于一个任务数据集的。样本距离越近则越相似。

(1)K值过小:用较小邻域中的训练实例进行预测容易受到异常点的影响K值的减小就意味着整体模型变得复杂,容易发生过拟合

(2)K值过大:用较大邻域中的训练实例进行预测受到样本均衡的问题且K值的增大就意味着整体的模型变得简单,欠拟合

(3)如何对K超参数进行调优?

需要一些方法来寻找这个最合适的K值        交叉验证、网格搜索

分类(离散)  回归(连续)

KNN算法API使用-分类问

from sklearn.neighbors import KNeighborsClassifier   #装包
x = [[0], [1], [2], [3]]  #数据处理
y = [0, 0, 1, 1]
model = KNeighborsClassifier(n_neighbors=3)   #实例化对象
model.fit(x, y)  #训练
mypre = model.predict([[4]]) #预测
print(f'预测值:{mypre}')

KNN算法API使用-回归问题

from sklearn.neighbors import KNeighborsRegressor
e = KNeighborsRegressor(n_neighbors=2)
x = [[0, 0, 1],
[1, 1, 0],
[3, 10, 10],
[4, 11, 12]]
y = [0.5, 0.6, 0.7, 0.8]
e.fit(x, y)
myret = e.predict([[2,10,5]])
print(f'预测值:{myret}')

以上为我的分享~

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值