原创网址: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. #下载sklearn自带的数据集

  8. data = load_boston()

  9. #建立线性回归模型

  10. clf = LinearRegression()

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

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

  13. clf.fit(X_train, y_train)

  14. predict_data = clf.predict(X_test)

  15. print(predict_data)

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

  17. appraise = mean_absolute_error(y_test, predict_data)

  18. print(appraise)

运行结果:

sklearn机器学习实例相关推荐

  1. KNN算法——kd-tree、KNN莺尾花分类sklearn实现实例

    KNN算法--kd-tree.KNN莺尾花分类sklearn实现实例 KNN算法--kd-tree.KNN莺尾花分类sklearn实现实例 1.kd-tree 2.kd-tree的构建 3.kd-tr ...

  2. sklearn机器学习:岭回归Ridge

    在sklearn中,岭回归由线性模型库中的Ridge类来调用: Ridge类的格式 sklearn.linear_model.Ridge (alpha=1.0, fit_intercept=True, ...

  3. Sklearn机器学习——ROC曲线、ROC曲线的绘制和AUC面积、运用ROC曲线找到最佳阈值

    目录 1 ROC曲线 2 ROC曲线的绘制 2.1 Sklearn中的ROC曲线和AUC面积 2.2 利用ROC曲线找到最佳阈值 1 ROC曲线 上篇博客介绍了ROC曲线的概率和阈值还有SVM实现概率 ...

  4. 数据分析实战:python热门音乐分析 附代码+数据 +论文(PCA 主成分分析,sklearn 机器学习,pytorch 神经网络,k-means 聚类,Librosa 音频处理,midi 音序)

    项目概述: 本选取了抖音当下最热门的 400 首音乐,通过一系列方法提取每首歌的波形特征,再经过降维以及机器学习等手段,进行无监督学习对音乐数据进行聚类的同时训练并使用监督学习分类器进行音乐流派分类, ...

  5. python sklearn机器学习库 安装

    1.准备工作 安装sklearn之前,我们需要先安装numpy,scipy函数库. Numpy下载地址:http://sourceforge.net/projects/numpy/files/NumP ...

  6. 机器学习实例matlab,【学习】Matlab14个机器学习实例

    这里面包含了14个常见的机器学习实例,包括分类和回归以及无监督学习聚类三个部分的问题,包括:Classification in the presence of missing data, classi ...

  7. 《sklearn机器学习第二版》(加文海克著)学习笔记

    本书附以sklearn机器学习示例程序,从调用函数的角度解释了常用的机器学习的方法,包括线性回归.逻辑回归.决策树.SVM.朴素贝叶斯.ANN.K-means.PCA.原理粗浅易懂,注重代码实践.本文 ...

  8. 用python+sklearn(机器学习)实现天气预报数据 数据

    用python+sklearn机器学习实现天气预报 数据 项目地址 系列教程 勘误表 0.前言 1.爬虫 a.确认要被爬取的网页网址 b.爬虫部分 c.网页内容匹配取出部分 d.写入csv文件格式化 ...

  9. 用python+sklearn(机器学习)实现天气预报数据 模型和使用

    用python+sklearn机器学习实现天气预报 模型和使用 项目地址 系列教程 0.前言 1.建立模型 a.准备 引入所需要的头文件 选择模型 选择评估方法 获取数据集 b.建立模型 c.获取模型 ...

最新文章

  1. Windows中报错:Fatal error in launcher: Unable to create process using ‘“‘ 的解决方案
  2. jQuery回调函数
  3. jQuery 侧栏菜单点击body消失
  4. 【转】用户显示数据库表通用程序
  5. matlab ,python,c++关于格式化输出数字的表达
  6. mysql scope runtime_maven scope provided和runtime的例子
  7. 禁止进入activity后EditText自动获得焦点的方法
  8. 【Antlr】Antlr将词法符号送入不同的通道
  9. IBM MQ的常用命令
  10. 第九集(第二部分)思科路由器IOS升级过程视频记录
  11. mybatis #与$区别
  12. html手机弧线div,纯css实现让div的四个角成弧形
  13. js undefined null
  14. Netbean UML自动生成类图
  15. STM32串口蓝牙实验--蓝牙控制小灯
  16. 使用scapy 构造一个 特定Ether dmac 的报文
  17. 计算机组成原理——第4章 指令系统
  18. 在EXCEL下用VBA编程提高人事数据的管理效率
  19. OR-Tools:6-路由问题(Routing)车辆路线,旅行商问题TSP
  20. 粤嵌GEC6818开发板-入门感慨篇

热门文章

  1. C语言(CED)输出前k大的数(分治法/局部快速排序):给定一个数组,统计前k大的数并且把这k个数从大到小输出。
  2. c语言比较大小 谁大选谁,C语言比较优先级
  3. 接口里面的方法都是抽象方法吗_大家都在讲高中学习的方法有哪些,那方法和技巧有什么异同的吗?...
  4. python医学图像分割_基于cv2的医学图像分割
  5. linux课堂笔记(8)
  6. 鸿蒙系统年底问世视频,鸿蒙系统年底问世 什么时候上市使用
  7. 能让你的Intellij IDEA 起飞的几个设置(设置背景 字体 快捷键 鼠标悬停提示 提示忽略大小写 取消单行显示)
  8. 16张图带你吃透高性能 Redis 集群
  9. linux命令之有关网络的操作命令
  10. 10. Python面向对象