机器学习-分类算法-模型选择与调优09
模型选择与调优
交叉验证:为了让被评估的模型更加准确可信
网格搜索
from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import train_test_split,GridSearchCV
from sklearn.preprocessing import StandardScaler
import pandas as pddef knncls():# k-近邻预测用户签到位置# 1,读取数据data = pd.read_csv("train.csv")# print(data.head(10))#,2,处理数据# 缩小数据,查询数据筛选data = data.query("x > 1.0 & x <1.25 & y >2.5 & y < 2.75")# 处理时间数据time_value = pd.to_datetime(data["time"],unit="s")# print(time_value)# 把日期格式转换成字典格式time_value = pd.DatetimeIndex(time_value)# 3,构造一些特征data["day"] = time_value.daydata["hour"] = time_value.hourdata["weekday"] = time_value.weekday# 把时间戳特征删除data = data.drop(["time"],axis=1) # sklearn中1表示列和pandas不一样# print(data)#把签到数量少于n个目标位置删除place_count = data.groupby("place_id").count()tf = place_count[place_count.row_id > 3].reset_index()data = data[data["place_id"].isin(tf.place_id)]data = data.drop(["row_id"],axis=1)print(data)# 取出数据当中的特征值和目标值y = data["place_id"]x = data.drop(["place_id"],axis=1)# 进行数据的分割 训练集和测试集x_train,x_test,y_train,y_test = train_test_split(x,y,test_size=0.25)# 特征工程(标准化)std = StandardScaler()# 对测试集和训练集的特征值进行标准化x_train = std.fit_transform(x_train)x_test = std.transform(x_test)# 进行算法流程 # 超参数knn = KNeighborsClassifier()# # fit,predict,score# knn.fit(x_train,y_train)# # 得出预测结果# y_predict = knn.predict(x_test)## print("预测的目标签到位置为:",y_predict)## # 得出准确率# print("预测的准确率:",knn.score(x_test,y_test))# 进行网格搜索# 构造一些参数的值进行搜索param = {"n_neighbors":[3,5,10]}gc = GridSearchCV(knn,param_grid=param,cv=10)gc.fit(x_train,y_train)# 预测准确率gc.score(x_test,y_test)print("在测试集上的准确率:",gc.score(x_test,y_test))print("在交叉验证中最好的结果:",gc.best_score_)print("最好的模型是:",gc.best_estimator_)print("每个超参数每次交叉验证的结果:",gc.cv_results_)return Noneif __name__=="__main__":knncls()
机器学习-分类算法-模型选择与调优09相关推荐
- 【机器学习】K-近邻算法-模型选择与调优
前言 在KNN算法中,k值的选择对我们最终的预测结果有着很大的影响 那么有没有好的方法能够帮助我们选择好的k值呢? 模型选择与调优 目标 说明交叉验证过程 说明参数搜索过程 应用GirdSearchC ...
- 简单粗暴理解与实现机器学习之K-近邻算法(十):交叉验证,网格搜索(模型选择与调优)API、鸢尾花案例增加K值调优
K-近邻算法 文章目录 K-近邻算法 学习目标 1.10 交叉验证,网格搜索 1 什么是交叉验证(cross validation) 1.1 分析 1.2 为什么需要交叉验证 **问题:那么这个只是对 ...
- 机器学习算法------1.10 交叉验证,网格搜索(交叉验证,网格搜索(模型选择与调优)API、鸢尾花案例增加K值调优)
文章目录 1.10 交叉验证,网格搜索 学习目标 1 什么是交叉验证(cross validation) 1.1 分析 1.2 为什么需要交叉验证 2 什么是网格搜索(Grid Search) 3 交 ...
- 机器学习的练功方式(五)——模型选择及调优
文章目录 5 模型选择及调优 5.1 数据增强 5.2 过拟合 5.3 交叉验证 5.4 超参数搜索--网格搜索 5 模型选择及调优 5.1 数据增强 有时候,你和你的老板说你数据不够,它是不会理你的 ...
- 机器学习——分类算法之K近邻+朴素贝叶斯,模型选择与调优
目录 K-近邻算法 定义 如何求距离? 数据预处理--标准化 sklearn k-近邻算法API 案例--预测入住位置 分类问题 数据处理 k近邻算法相关问题 k值取多大?有什么影响? 优缺点 应用场 ...
- python人工智能——机器学习——模型选择与调优
1.交叉验证 交叉验证:为了让被评估的模型更加准确可信 交叉验证过程 交叉验证:将拿到的数据,分为训练和验证集. 以下图为例:将数据分成5份,其中一份作为验证集.然后经过5次(组)的测试,每次都更换不 ...
- 机器学习-分类算法-模型的保存和加载12
保存模型 from sklearn.datasets import load_boston from sklearn.linear_model import LinearRegression,SGDR ...
- ML之回归预测:利用两种机器学习算法(LiR,XGBoost(调优+重要性可视化+特征选择模型))对无人驾驶汽车系统参数(2017年的data,18+2)进行回归预测值VS真实值
ML之回归预测:利用两种机器学习算法(LiR,XGBoost(调优+重要性可视化+特征选择模型))对无人驾驶汽车系统参数(2017年的data,18+2)进行回归预测值VS真实值 目录 输出结果 1. ...
- AI:人工智能领域算法思维导图集合之有监督学习/无监督学习/强化学习类型的具体算法简介(预测函数/优化目标/求解算法)、分类/回归/聚类/降维算法模型选择思路、11类机器学习算法详细分类之详细攻略
AI:人工智能领域算法思维导图集合之有监督学习/无监督学习/强化学习类型的具体算法简介(预测函数/优化目标/求解算法).分类/回归/聚类/降维算法模型选择思路.11类机器学习算法详细分类(决策树/贝叶 ...
最新文章
- Streaming Big Data: Storm, Spark and Samza--转载
- ktm390蓝牙连接安卓_蓝牙音乐AudioTrack Session ID的获取
- 隐马尔科夫模型-前向算法
- 哈佛大学计算机生物科学,生命科学专业
- 华为澄清:公司副总裁未发表中美技术还差两万五千里表述
- 边缘计算对于基础架构和运营领导者意味着什么
- Java架构师之路:从码农到年薪五十万的架构师
- UTF-8与GBK互转,为什么会乱码
- 高效率OCR场景文字图片合成工具发布!
- 前端JQuery插件distpicker.js的部分操作使用
- GoJS学习-节点渐变背景色
- 使用IIS 共享文件
- Fe3O4 NPs@MIL-53|NH2-MIL-53(Sc)|NH2-MIL-53(Al)|NH2-MIL-125负载银钴合金纳米材料|氨基化mof材料
- 大事发生,程序员一直在守护世界
- android 特殊符号
- 阿里云 1H2G T5实例 与 腾讯云 1H2G 标准2实例 测试对比
- C语言中的复制函数(strcpy和memcpy)
- 【Docker】搭建Docker私库Harbor
- Spark项目实战:飞机延误预测项目
- 人工智能历史上的重要一步:ChatGPT影响到谷歌地位?
热门文章
- Mac下SourceTree导出更新文件
- mysql实现动态查询_mysql 实现动态查询
- 计算机专业英语书本笔记,英语语言学概论笔记《全集》.doc
- springboot yml怎么建常量_Springboot中加载自定义的yml配置文件
- 用html5做一个简单网页_用Python做一个简单的翻译工具
- linux time dev null,/dev/null丟失后
- unity 继承会调用start吗_【浅入浅出】Unity 雾效
- java加密字符串,可解密
- 网易云音乐一键听歌300首_网易云打卡,一键听歌300首。
- python做成绩表_自学Python笔记:用Python做成绩分析(2)