# -*- coding: utf-8 -*-
"""scikit-learn introduction Automatically generated by Colaboratory. Original file is located at
https://colab.research.google.com/drive/1quaJafg43SN7S6cNwKFr0_WYn2ELt4Ph scikit-learn官方网站:https://scikit-learn.org/stable/ 模块引入
""" from sklearn import datasets
from sklearn.metrics import mean_squared_error, r2_score
import matplotlib.pyplot as plt
import numpy as np """#分类:
- SVM(support vector machine):支持向量机
- svm.SVC() ###iris数据集
- iris feature: 花萼长度,花萼宽度,花瓣长度,花瓣宽度
- iris lable: 山鸢尾,杂色鸢尾,维吉尼亚鸢尾
""" iris = datasets.load_iris()
print('iris feature\n', iris.data[0:5])
print('iris label\n', iris.target[0:5]) """###创建模型""" from sklearn import svm
clf = svm.SVC()
irisX = iris.data
irisY = iris.target
clf.fit(irisX, irisY)
irisPred = clf.predict(irisX)
clf.predict([[5.1,3.5,1.4,0.2]]) #刚刚的第1个数据 """###评估指标
- accuracy
- precision
- recall
- F1
""" from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score
print('acc is ', accuracy_score(irisY, irisPred, normalize=False)/len(irisY))
print('precision is ', precision_score(irisY, irisPred, average='macro'))
print('recall is ', recall_score(irisY, irisPred, average='macro'))
print('F1 is ', f1_score(irisY, irisPred, average='macro')) """#回归
- 线性回归
- 模块:linear_model.LinearRegression() ###糖尿病数据集
""" diabetes = datasets.load_diabetes()
diabetesX = np.array([[diabetes.data[i][0]] for i in range(0,diabetes.data.shape[0])])
diabetesY = diabetes.target
print('feature\n',diabetesX[:5])
print('label\n',diabetesY[:5]) """###创建模型""" from sklearn import svm, linear_model
regr = linear_model.LinearRegression()
regr.fit(diabetesX, diabetes.target)
diabetesPred = regr.predict(diabetesX)
regr.predict([[0.03807591]]) #对于原始数据的第一个值的预测结果 plt.scatter(diabetesX, diabetes.target) #原始数据的散点图
plt.plot(diabetesX, diabetesPred) #线性回归的折线图 """###评价指标
- 均方误差(mse)
""" from sklearn.metrics import mean_squared_error
print('mean squared error is ', mean_squared_error(diabetesY, diabetesPred)) """#聚类
- k-means ###创建数据集
""" from sklearn.datasets.samples_generator import make_blobs
clusterX, clusterY = make_blobs(n_samples=1000, n_features=2, centers=[[-1,-1], [0,0], [1,1], [2,2]], cluster_std=[0.4, 0.2, 0.2, 0.2], random_state=0)
plt.scatter(clusterX[:, 0], clusterX[:, 1]) """###建立模型""" from sklearn.cluster import KMeans
clu = KMeans(n_clusters=2, random_state=9)
clusterPredict = clu.fit_predict(clusterX)
plt.scatter(clusterX[:, 0], clusterX[:, 1], c=clusterPredict)
plt.show() """#模型评估
- cross validation 交叉验证
- 以iris数据集为例
""" from sklearn.model_selection import train_test_split,cross_val_score
from sklearn.metrics import accuracy_score
from sklearn import svm
import warnings
warnings.filterwarnings('ignore')
clf = svm.SVC()
scores = cross_val_score(clf, irisX, irisY, cv=10, scoring='accuracy')
print('十折交叉验证分别的accuracy ', scores)
print('平均的accuracy ', sum(scores/10)) """- 通过设置随机种子来进行十次十折交叉验证""" from sklearn.model_selection import StratifiedKFold,KFold
accEachTime = [] for i in range(0,10):
clf = svm.SVC()
scores = cross_val_score(clf, irisX, irisY, cv=KFold(n_splits=10, random_state=i, shuffle=True), scoring='accuracy')
print(scores)
accEachTime.append(sum(scores/10))
print('每一次的accuracy值 ', accEachTime)
print('十次十折交叉验证的平均accuracy值 ', sum(accEachTime)/10)

机器学习pipeline总结的更多相关文章

  1. Spark Pipeline官方文档

    ML Pipelines(译文) 官方文档链接:https://spark.apache.org/docs/latest/ml-pipeline.html 概述 在这一部分,我们将要介绍ML Pipe ...

  2. FPGA的过去,现在和未来

    我们知道,相对于专业的ASIC,FPGA有上市时间和成本上的优势.另外,在大多数情况下,FPGA执行某些功能较之CPU上的软件操作更高效.这就是为什么我们认为它不但会运用在数据中心的服务器.交换器.存 ...

  3. 2015 Spark 将走向哪里?

    在刚刚过去的spark submit上,Matei Zahara简单回顾了下2014年spark的发展,可用一个词来概括那就是"Amazing"!!! 那么2015年,spark ...

  4. gen语言

    概率编程语言(PPL)领域正经历着机器学习技术快速发展带来的奇迹般的复兴.在短短的几年里,PPL 已经从一个模糊的统计研究领域发展出十几个活跃的开源方案.最近,麻省理工学院(MIT)的研究人员推出了一 ...

  5. SparkMLLib的简单学习

    一. 简介 1. 机器学习中,可以将数据划分为连续数据和离散数据 a. 连续数据:可以取任何值,如房价 b. 离散数据:仅有少量特殊值,如一个房屋有2个或3个房间,但不能为2.75个房间 二. 创建向 ...

  6. 使用PyTorch进行迁移学习

    概述 迁移学习可以改变你建立机器学习和深度学习模型的方式 了解如何使用PyTorch进行迁移学习,以及如何将其与使用预训练的模型联系起来 我们将使用真实世界的数据集,并比较使用卷积神经网络(CNNs) ...

  7. 使用spark ml pipeline进行机器学习

    一.关于spark ml pipeline与机器学习 一个典型的机器学习构建包含若干个过程 1.源数据ETL 2.数据预处理 3.特征选取 4.模型训练与验证 以上四个步骤可以抽象为一个包括多个步骤的 ...

  8. Spark2.0机器学习系列之2:基于Pipeline、交叉验证、ParamMap的模型选择和超参数调优

    Spark中的CrossValidation Spark中采用是k折交叉验证 (k-fold cross validation).举个例子,例如10折交叉验证(10-fold cross valida ...

  9. spark ml pipeline构建机器学习任务

    一.关于spark ml pipeline与机器学习一个典型的机器学习构建包含若干个过程 1.源数据ETL 2.数据预处理 3.特征选取 4.模型训练与验证 以上四个步骤可以抽象为一个包括多个步骤的流 ...

随机推荐

  1. js反爬学习(一)谷歌镜像

    1. url:https://ac.scmor.com/ 2. target:如下链接 3. 过程分析: 3.1 打开chrome调试,进行元素分析.随便定位一个“现在访问” 3.2 链接不是直接挂在 ...

  2. Linux重器之 Vim 实用命令

    Vim 常用的命令 光标定位; hjkl  上下左右移动 0 $ 跳到行首或行尾 gg   shift+G 跳到整个文件的开头行或者结尾行 1G ,2G,3G........NG ,跳到第1.2.3 ...

  3. Cocos2dLua3.17.2集成FairyGUI(一)

    版本说明:使用cocos2d-lua3.17.2版本 FairyGUI下载好链接地址是:https://github.com/fairygui/FairyGUI-cocos2dx 首先创建cocos项 ...

  4. web 自动化遇到 shadowDOM 节点你会操作吗?

    本文转载自: http://www.lemfix.com/topics/971 近期有同学在做web自动化的时候,发现页面上有些元素,在selenium中无法通过xpath来定位,各种原因找了半天,都 ...

  5. 2.Redux学习2----redux-thunk

    UI组件:只展示UI,不处理业务逻辑,又称傻瓜组件,因为只需要展示UI,没有状态,我们通常用函数组件(无状态组件)作为UI组件 容器父组件:只处理业务逻辑,不展示UI,又称聪明组件 redux-thu ...

  6. NLP之语言模型

    参考: https://mp.weixin.qq.com/s/NvwB9H71JUivFyL_Or_ENA http://yangminz.coding.me/blog/post/MinkolovRN ...

  7. MariaDB修改配置文件允许远程访问

    MariaDB修改配置文件允许远程访问 最近在使用MariaDB数据库配置用户的远程访问的时候,遇到了一个坑,费了些功夫解决了一下,特此写一下博客,以防下次再遇到的时候忘了解决方案,废话不多说,我们直 ...

  8. 从零开始ant-design-vue-pro开发笔记(一)

    开始 从这里开始是用ant-design-vue组件写ant-design-vue-pro这个后台项目实现步骤的从零开始搭建的过程,视频地址,它采用了ant-desgin-vue的组件库作为素材开发, ...

  9. Flipcart 爬取流程

    第一步:爬取分类url from requests_html import HTMLSession session =HTMLSession() #https://www.flipkart.com/l ...

  10. php配置文件说明

    php-fpm.conf是PHP-FPM进程管理器的配置文件: php.ini是PHP解析器的配置文件: www.conf是php.ini的扩展文件