人工智能训练师复习题目实操题2.2.1 - 2.2.5
知识点讲解
机器学习基本流程
创建模型 - 训练模型 - 预测结果 - 评估模型 - 保存模型
使用到的模型类型
模型类型 | API | 作用 | 参数解释 | |
逻辑回归 | LogisticRegression(max_iter=1000) mean_squared_error(y_test,y_pred) r2_score(y_test,y_pred) | 判断类型 | ||
线性回归 | LinearRegression() model.score(X_test,y_test)分析模型准确率 | 数值预测 | X_test: 测试集特征数据,相当于考试给学生新的题目 y_test: 测试集的真是标签,相当于老师手里的标准答案 y_pred: 模型预测出来的结果,相当于学生的答卷 | |
随机森林 | RandomForestRegressor(n_estimators=100,random_state=42) | |||
XGBoost | xgb.XGBRegressor(n_estimators=1000,learning_rate=0.05,max_depth=5,subsample=0.8,colsample_bytree=0.8) | |||
决策树 | DecisionTreeRegressor(random_state=42) | |||
模型通用操作 | 保存模型 open('mo.pkl','w') as file: pickle.dump(model,file) 分类转换 pd.get_dummies(data) 处理不平衡数据 smote.fit_resample(X_train, y_train) pipeline = ([('scaler',StandardScaler()),{'linreg',LinearRegression()}]) #StandardScaler 标准化,用标准化后的特征数据进行先行回归建模,最后用fit 训练模型 pipeline.fit(X_train,y_train) |
2.训练模型 model.fit(X_train,y_train)
3.预测结果 model.predict(X_test)
4.评估模型
- 分类模型常用准确率 model.score(X_test,y_test),
- 回归模型常用均方差mean_squared_error(y_test,y_pred),
- 决定系数 r2_score(y_test, y_pred)
X_test: 测试集特征数据,相当于考试给学生新的题目
y_test: 测试集的真是标签,相当于老师手里的标准答案
y_pred: 模型预测出来的结果,相当于学生的答卷
5.保存模型
open('mo.pkl','w') as file:
pickle.dump(model,file)
6.数据预处理,处理不平衡数据
smote.fit_resample(X_train, y_train)
7.特征编码 有些数据是英文 或 符号,模型看不懂,比如性别:男/女,翻译成模型理解数组语言
pd.get_dummies(data)
8.管道流水线
pipeline = ([('scaler',StandardScaler()),{'linreg',LinearRegression()}]) #StandardScaler 标准化,用标准化后的特征数据进行先行回归建模,最后用fit 训练模型
pipeline.fit(X_train,y_train)
三 模型评估指标
1. 回归问题,预测数值,房价
MSE/MAE,答案100,你写成1000,MSE 会拉的很高。
特点:理想值0,误差大,分数高=错的离谱,改进 查异常,加特征,换模型。
R² 像考试总分百分比,考了90份,R² 就是0.9,实际中R²=0/9 表示模型能解释90%的数据变化的意思
特点理想值=1,口诀越接近1 越好,常见问题,模型没学会,改进加特征,换模型
训练分高-测试分低- 过拟合: 比如平时作业去爱你对(训练分高),考试就不会了(测试分低),说明死记硬背,没有学会正真知识。
训练分低-测试分低 - 欠拟合 :根本没学会,得换个学习方法,或补知识
2. 分类问题
精确率,比如老师让你举手回答谁会这道题,在举手同学里,真正会做的比率就是精确率,如果你乱举手,结果不会做的举手,精确率就低
特点:理想值1,口诀:报的对不对,越高越好,常见问题,误报多,精确率低,改进:提高阈值,优化模型
召回率(recall)会做的人没举手,召回率就低。所有会做的同学里,被你找出来的比例。
特点:理想值1,口诀:找的对不对,越高越好。常见问题,漏报多,召回率低。改进:降低阈值,优化模型
F1,既要语文好,又要数学好,
特点:理想值1,口诀:综合表现,越高越好。常见问题。偏科,F1低,改进:综合提升精确率和召回率
Supoort,比如考试有选择题100,填空题只有2道。填空题太少,老师很难判断填空题到底学的好不好,这时候需要多处几道填空题(补样本)
特点:理想值没有绝对值,越搞越好,每类样本要足够,至少几十份,口诀:每类题目数量,太少要补齐。常见问题,样本太少。改进:补样本,用SMOTE等方法