sklearn机器学习实例

原创网址:https://blog.csdn.net/qq_27150893/article/details/80169736

sklearn是非常流行的机器学习库,实现了很多的机器学习模型。官网:http://scikit-learn.org/stable/  里面有全面的实例和模型参数讲解,用到哪个模型就去官方查看说明文档。

基本功能主要被分为六大部分:分类,回归,聚类,数据降维,模型选择和数据预处理。

 Estimator框架的基本使用套路:

     model = EstimatorObject()  #得到模型

     model.fit(dataset.data, dataset.target)   #训练模型

     model.predict(dataser.data)    #预测

本文对主要的机器学习模型进行实例演示,具体模型的参数结合的自己需求设置。

1.分类问题

数据集为 Car Ecaluation,根据汽车的若干属性对汽车性能进行评价。下载地址:http://archive.ics.uci.edu/ml/datasets/Car+Evaluation

预处理:将数据集保存后将后缀直接改为csv,并将里面用字符串表示的等级转化为数字。如small,low,unacc转化为1,2,3

1.1 SVM支持向量机模型

from sklearn import svmimport pandas as pdimport numpy as npfrom sklearn.model_selection import train_test_split#SVM模型实现汽车性能评测car_data = pd.read_csv(r'D:\pyproject\sklearn\car.csv')car_data = car_data.dropna() #去掉缺失值#提取特征和类别X= car_data.ix[:, :'safety']y= car_data.ix[:,'class']#划分训练集和测试集X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)# 建立模型。 设置算法内核类型,有 'linear’, ‘poly’, ‘rbf’, ‘sigmoid’;惩罚参数为1,一般为10的幂次方svc_model = svm.SVC(kernel='rbf', C= 1)svc_model.fit(X_train, y_train)predict_data = svc_model.predict(X_test)accuracy = np.mean(predict_data==y_test)print(accuracy)

 

运行结果:

1.2 MLP神经网络模型

from sklearn.neural_network import MLPClassifierimport pandas as pdimport numpy as npfrom sklearn.model_selection import train_test_split#MLP神经网络模型实现汽车性能评测car_data = pd.read_csv(r'D:\pyproject\sklearn\car.csv')car_data = car_data.dropna() #去掉缺失值#提取特征和对象类别X= car_data.ix[:, :'safety']y= car_data.ix[:,'class']#划分训练集和测试集X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)#建立MLP神经网络模型 ,MLP的求解方法为adam,可选lbfgs、sgd,正则化惩罚alpha = 0.1mpl_model = MLPClassifier(solver='adam', learning_rate='constant', learning_rate_init=0.01,max_iter = 500,alpha =0.01)mpl_model.fit(X_train, y_train)predict_data = mpl_model.predict(X_test)accuracy = np.mean(predict_data == y_test)print(accuracy)

​​​​​​​

运行结果:

1.3 逻辑回归模型


import pandas as pdimport numpy as npfrom sklearn.model_selection import train_test_splitfrom sklearn.linear_model import LogisticRegression#逻辑回归模型实现汽车性能预测car_data = pd.read_csv(r'D:\pyproject\sklearn\car.csv')car_data = car_data.dropna() #去掉缺失值#提取特征和对象类别X= car_data.ix[:, :'safety']y= car_data.ix[:, 'class']#划分训练集和测试集X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)#建立逻辑回归模型 ,惩罚参数为100lr_model = LogisticRegression(C= 100, max_iter=1000)lr_model.fit(X_train, y_train)predict_data = lr_model.predict(X_test)accuracy = np.mean(predict_data == y_test)print(accuracy)

 

运行结果:

 

1.4 决策树模型

from sklearn import treeimport pandas as pdimport numpy as npfrom sklearn.model_selection import train_test_split#决策树模型实现汽车性能预测car_data = pd.read_csv(r'D:\pyproject\sklearn\car.csv')car_data = car_data.dropna() #去掉缺失值#提取特征和类别X= car_data.ix[:, :'safety']y= car_data.ix[:,'class']#划分训练集和测试集X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)# 建立决策树模型,选择算法为熵增益,可选gini,entropy,默认为ginitree_model = tree.DecisionTreeClassifier(criterion='gini')tree_model.fit(X_train, y_train)predict_data = tree_model.predict(X_test)accuracy = np.mean(predict_data==y_test)print(accuracy)

​​​​​​​

运行结果:

 

1.5 KNN(K最临近模型)

 
  1. from sklearn import neighbors

  2. import pandas as pd

  3. import numpy as np

  4. from sklearn.model_selection import train_test_split

  5. #K最邻模型实现汽车性能预测

  6. car_data = pd.read_csv(r'D:\pyproject\sklearn\car.csv')

  7. car_data = car_data.dropna() #去掉缺失值

  8. #提取特征和类别

  9. X= car_data.ix[:, :'safety']

  10. y= car_data.ix[:, 'class']

  11. #划分训练集和测试集

  12. X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)

  13. # 建立KNN模型,邻居数选为7,默认为5

  14. knn_model = neighbors.KNeighborsClassifier(n_neighbors = 7)

  15. knn_model.fit(X_train, y_train)

  16. #对测试集进行预测

  17. predict_data = knn_model.predict(X_test)

  18. accuracy = np.mean(predict_data==y_test)

  19. print(accuracy)

运行结果:

 

2. 回归问题

  这里使用sklearn自带的数据集,数据集为波斯顿房价,根据波斯顿地区若干指标对房价进行预测。

  2.1 线性回归模型实现

 
  1. from sklearn.linear_model import LinearRegression

  2. from sklearn.datasets import load_boston

  3. from sklearn.model_selection import train_test_split

  4. #导入结果评价包

  5. from sklearn.metrics import mean_absolute_error

  6. #利用线性回归模型预测波斯顿房价

  7.  
  8. #下载sklearn自带的数据集

  9. data = load_boston()

  10. #建立线性回归模型

  11. clf = LinearRegression()

  12. #划分训练集和测试集

  13. X_train, X_test, y_train, y_test = train_test_split(data.data, data.target, test_size=0.3, random_state=0)

  14. clf.fit(X_train, y_train)

  15. predict_data = clf.predict(X_test)

  16. print(predict_data)

  17. #平均绝对值误差对结果进行评价

  18. appraise = mean_absolute_error(y_test, predict_data)

  19. print(appraise)

运行结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/540132.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSVDE批量导入域用户

CSVDE批量导入用户 你可以使用Csvde格式的文件在活动目录中创建用户帐号和其他类型的帐号。但你不能使用Csvde删除活动目录中的对象。 使用Csvde命令行工具创建用户帐号,采用下列步骤: 1. 创建Csvde输入文件。文件应包含下列信息。 属性行:这…

sklearn 实例

http://scikit-learn.org/stable/auto_examples/index.html sklearn例子大全 https://deeplearning4j.org/mnist-for-beginners deeplearning官网

pip 安装模块时报“pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonh”

连接镜像网站即可 以豆瓣镜像为例: 解决方案: pip install grpcio-tools -i https://pypi.doubanio.com/simple 后面的-i https://pypi.doubanio.com/simple即是镜像 镜像站推荐: 阿里云 http://mirrors.aliyun.com/pypi/simple/ 中国科…

【转载】细聊冗余表数据一致性(架构师之路)

本文主要讨论四个问题: (1)为什么会有冗余表的需求 (2)如何实现冗余表 (3)正反冗余表谁先执行 (4)冗余表如何保证数据的一致性 一、需求缘起 互联网很多业务场景的数据量…

ethtool如何让接口闪灯_如何解决专业家庭影院与卡拉OK的声学问题?

现在越来越多的专业家庭影院走进人们的家中,享受体验娱乐氛围的空间。在实际的生活中,许多人都把这个空间设计为多功能的影音娱乐室,集看电影、听音乐、卡拉OK、游戏娱乐等于一体,在这其中看电影与卡拉OK将这两个功能组合在同一个…

tensorflow学习笔记(1):sess.run()

原址:https://www.2cto.com/kf/201610/559887.html session.run() session.run([fetch1, fetch2]) import tensorflow as tf state tf.Variable(0.0,dtypetf.float32) one tf.constant(1.0,dtypetf.float32) new_val tf.add(state, one) update tf.assign(st…

关于MapReduce单词统计的例子:

要统计的文件的文件名为hello hello中的内容如下 hello  you hello  me 通过MapReduce程序统计出文件中的各个单词出现了几次.(两个单词之间通过tab键进行的分割) 1 import java.io.IOException;2 3 import mapreduce.WordCountApp.WordCountMapper.WordCountReducer;4 5 i…

朵朵糖故事机器人怎么更新_“故事贩卖机”专栏创始人温酒的新作,奇幻世界的暖心物语很治愈...

我有酒,你有故事吗?2015年,知乎上一个叫“故事贩卖机”的专栏横空出世,凭着一个个脑洞大开的故事,这个温吞而又温暖的专栏很快得到了读者的认可。而其中的创始人兼主打写手温酒,更是被粉丝们亲切地称呼为“…

python3 通过百度地图API获取城市POI点并存于CSV格式

原文信息: 作者:WenWu_Both 出处:http://blog.csdn.net/wenwu_both/article/ 版权:本文版权归作者和CSDN博客共有 转载:欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中…

使用dropwizard(3)-加入DI-dagger2

前言 习惯了Spring全家桶,对spring的容器爱不释手。使用dropwizard,看起来确实很轻,然而,真正使用的时候不得不面临一个问题。我们不可能一个resource就能把所有的业务逻辑囊括!那么,必然就要有负责处理逻辑…

日历对象导哪个包_微信新表情瞬间炸裂,文物表情包永恒萌呆!

11月18日晚微信上架了6个全新表情瞬间炸裂网友一天时间阅读达16.2亿,讨论15.8万次#微信新表情#话题翻白眼、666、让我看看叹气、苦涩、裂开微信新表情虽然666但文物表情包的呆萌也能让人瞬间裂开更能完全诠释我的各(bu)种(wen ding)情绪先对比一下最新的6个表情[翻白…

Tensorflow一些常用基本概念与函数(1)

文章转至 作者:林海山波出处:https://me.csdn.net/lenbow版权:本文版权归作者和CSDN博客共有 写这篇博客只为自己学习路上做个笔记,方便自己学习记忆,大家如果想看详细文章可以去原作者主页去看,同时他…

Lineageos14 20180525更新

一、ROM注意事项 拒绝任何无意义二次打包! C大停止更新Lineageos14,我来接力。 二、ROM更新日志 20180525更新: 1、常规更新 2、安全补丁2018年5月5日 20180406更新: 1、增加通话录音,常规更新 2、安全补丁2018年3月…

蓝牙连接不上车要hfp_如何正确使用车载蓝牙播放器呢?

车载蓝牙是以无线蓝牙技术为基础而设计研发的车内无线免提系统。可以连接我们设计进行听歌和打电话十分方便,下面诺金小编带大家一起来看看!下面诺金小编带大家一起来看看一、首先是把手机和车载蓝牙播放器打开,搜索车载蓝牙播放器“809”&am…

使用Eclipse+PyDev创建Django项目一windows下

开发条件:eclipsepydev插件django editor插件 关于eclipse安装小编就不多做介绍,我自己用的版本如下 1.安装pydev插件 启动Eclipse, 点击Help->Install New Software 弹出如下框 点击add 分别在 Name中填:Pydev, Location中填http://pydev.org/up…

如何避免踩坑--初创技术团队组建风险预估

闲来无事翻翻微信,发现有不少朋友公司在招技术负责人,跟他们聊了几句,发现大多数认知都是技术部门的效率与进度达不到要求,机缘巧合下,有幸到了Y公司跟其Boss会面,得知其技术团队效率低下,总是不…

查询空缺_携程旅行2021校招开启,9大类职位,1000+岗位空缺,本科及以上学历...

携程旅行2021秋季校招正式开启!携程集团(纳斯达克股票代码:TCOM)是一家领先的在线旅游服务提供商,旗下品牌包括携程、Trip.com、天巡和去哪儿。携程集团能够整合复杂的旅游相关信息并通过其先进的移动端App、网站以及24小时无间断的免费客户服…

Django web开发笔记

一、Django开发环境搭建: 1.安装python:django可运行于版本python 2.7、3.x 2.安装相应的IDE 3.安装pip:sudo apt-get install python-pip(linux为例) 4.安装django:1)pip安装:sudo pip ins…

android 前置摄像头预览时 镜像翻转_全面屏时代,原来手机前置摄像头都隐藏着一些缺点,你发现了吗?...

随着真全面屏时代的到来,人们已经不再满足于刘海屏、水滴屏以及挖孔屏等,越来越多的手机厂商和消费者开始追求"100%全面屏"。于是如何解决手机前置摄像头便成了最大的难题,毕竟只要在屏幕上放置摄像头必然会影响屏占比,…

Java 调用 Python 方法学习笔记

文章转载自: 作者:IT_xiao_bai 来源:CSDN 原文:https://blog.csdn.net/IT_xiao_bai/article/details/79074988 前一阵自刚好用python做了一个sae的算法模型,结果公…