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输入文件。文件应包含下列信息。 属性行:这…

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

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

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

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

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

使用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博客共有 写这篇博客只为自己学习路上做个笔记,方便自己学习记忆,大家如果想看详细文章可以去原作者主页去看,同时他…

蓝牙连接不上车要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…

查询空缺_携程旅行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的算法模型,结果公…

Java 调用 Python 方法学习笔记---之---java调用python深度学习模型运算并返回运算结果给前端(2)

上一章写到Java 调用 Python 方法学习的三种方法,这里强调第三种方法。第三种方法本质上和第二种方法是一样的,都是应用到 Runtime.getRuntime().exec() 去执行文件。要深度理解这种方法,首先要先理解一下Runtime.getRuntime().exec() 。 R…

Part 2: Containers

要求 安装了1.13或者更高版本的Docker阅读了Part1中的定位(我没写)介绍 是时候用Docker构建一个app了。我们会从构建这样一个app的最底层开始,容器——我们这节所介绍的内容。在这层之上是服务,服务定义了容器们的在生产中的行为&…

(论文)WS-DAN (弱监督数据增强)

背景 近期在做外卖分类的项目,外卖分类属于细粒度图像分类,在分类的过程中要从图片的行人中和非机动车中区分出各类外卖(主要是美团、饿了吗)。刚好近期发现了一片关于细粒度图像分类较新的论文(See Better Before Lo…

罗马音平假名片假名转换器_关于五十音你所要知道的一切!文末附日网高清字帖...

今天开始,木子小花日本语教室将开始同时更新日语文法系列文章 和 日语真题详解系列文章,从五十音图的记忆方法到日语助词的用法整理,从N5的简单句子构成到N1复杂文法的接续记忆方法,力求做出全知乎(小声:全…

django的web开发笔记1(智能诊断系统数据概览记录)

接于上一篇,这一篇主要记录如何链接mysql数据库以及从数据库中调用数据信息到页面,同时包含百度地图api的一些使用。 其中包括模块,echert图表绘制数据调用,百度地图数据信息调用以及一些单机效果,页面数据调用等。 1…

左右xcode的重构选项的一些理解

Rename(重命名):对标示符进行重命名,以获得更好的代码可读性,这些标示符包含类,方法或者函数的名称. Extract(抽取):将你在XCode种选择的代码抽取到一个新的方法或函数中. Create SuperClass(创建父类):为Xcode中当前所选的类定义父类 Move Up(上移):将所选择的方法,属性,或实例…