1.特征工程入门
特征Feature:对任务有用的属性信息
特征工程:利用专业背景知识和技巧处理数据,让模型效果更好
2.特征工程概念:
1 特征提取:从原始数据中提取与任务相关的特征
2 特征预处理:从原始数据中提取与任务相关的特征
3 特征降维:从原始数据中提取与任务相关的特征
4 特征降维:原始特征较多,但是对模型训练相关的是其中一个特征集合子集
5 特征组合:把多个特征合成一个特征,一般利用乘法或加法完成
3.拟合问题
拟合fitting:用在机器学习领域,用来表示模型对样本点的拟合情况
欠拟合under-fitting:模型在训练集上表现很差、在测试集表现也很差
过拟合over-fitting:模型在训练集上表现很好、在测试集表现很差
• 欠拟合产生的原因:模型过于简单
• 过拟合产的原因:模型太过于复杂、数据不纯、训练数据太少
• 泛化 Generalization :模型在新数据集(非训练数据)上的表现好坏的能力。
• 奥卡姆剃刀原则:给定两个具有相同泛化误差的模型,较简单的模型比较复杂的模型更
可取
4.机器学习开发环境
下载ANACONDA
释放 AI 创新和价值 |蟒蛇 (anaconda.com)
下载完成后找到Anaconda Prompt
首先创建环境:
conda create -n edumlpy3.9 python==3.9
然后进入环境:
conda activate edumlpy3.9
最后下载相关库,利用清华镜像下载速度更快:
pip install scikit-learn -i https://pypi.tuna.tsinghua.edu.cn/simple
之后打开pycharm,添加新的解释器找到下面的终端,如果出现终端无法启用找到设置-终端-应用程序设置-shell路径,改为以cmd.exe结尾文件。
5.KNN算法API使用--分类问题
from sklearn.neighbors import KNeighborsClassifier#调用库
def dm01():
estimator = KNeighborsClassifier(n_neighbors=1#K=1)
X = [[0], [1], [2], [3]]#举例0,1,2,3
y = [0, 0, 1, 1]#与X值一一对应
estimator.fit(X, y)#
myret = estimator.predict([[4]])#预测数据4的值
print('myret-->', myret)#输出
dm01()
回归问题
from sklearn.neighbors import KNeighborsRegressor#调用回归算法库
def dm02():
estimator = KNeighborsRegressor(n_neighbors=2#K=2)
X = [[0, 0, 1],
[1, 1, 0],
[3, 10, 10],
[4, 11, 12]]#X为四个三维训练样本
y = [0.1, 0.2, 0.3, 0.4]#y值与X一一对应为分类值
estimator.fit(X, y)
myret = estimator.predict([[3, 11, 10]])#预测[3,11,10]的分类值
print('myret-->', myret)#输出
dm02()