iris

scikit-learn入门导航

谁说我不能喝 提交于 2019-12-22 04:06:32
scikit-learn是一个非常强大的机器学习库, 提供了很多常见机器学习算法的实现. scikit-learn可以通过pip进行安装: pip install -U scikit-learn 不过这个包比较大, 若使用pip安装超时可以去 pypi 上下载适合自己系统的 .exe 或 .whl 文件进行安装. 安装成功后可以在python中导入: import sklearn sklearn的 官方文档 叙述非常详细清晰, 建议通过阅读 User Guide 学习sklearn. Dataset Loading sklearn基于numpy的矩阵与向量化运算支持, 可以采用类似numpy的导入: import numpy f = open('dataSet.txt') dataSet = numpy.loadtxt(f) dataSet为numpy的mat对象. 或者用libsvm的导入格式: from sklearn.datasets import load_svmlight_file X_train, y_train = load_svmlight_file("dataSet.txt") X_train.todense() # 将稀疏矩阵转换为完整矩阵 sklearn包中内置了一些示例数据: from sklearn import datasets iris =

Iris入门操练1

雨燕双飞 提交于 2019-12-19 03:33:33
选一个框架,慢慢熟悉··· 按官网文档,先走一次。。 package main import ( "github.com/kataras/iris/v12" "github.com/kataras/iris/v12/middleware/logger" "github.com/kataras/iris/v12/middleware/recover" ) func main() { app := iris.New() app.Logger().SetLevel("debug") app.Use(recover.New()) app.Use(logger.New()) app.Handle("GET", "/", func(ctx iris.Context) { ctx.HTML("<h1>Welcome to Iris</h1>") }) app.Get("/ping", func(ctx iris.Context) { ctx.WriteString("pong") }) app.Get("/hello", func(ctx iris.Context) { ctx.JSON(iris.Map{"message": "Hello Iris"}) }) app.Run(iris.Addr(":8080"), iris.WithoutServerError(iris

8.5 聚类算法

落爺英雄遲暮 提交于 2019-12-16 13:32:37
KMeans 是一个迭代求解的聚类算法。 其属于划分(Partitioning)型的聚类方法,即首先创建K个划分,然后迭代地将样本从一个划分转移到另一个划分来改善最终聚类的质量。 ML包下的KMeans方法位于org.apache.spark.ml.clustering包下,其过程大致如下: 根据给定的k值,选取k个样本点作为初始划分中心 计算所有样本点到每一个划分中心的距离,并将所有样本点划分到距离最近的划分中心 计算每个划分中样本点的平均值,将其作为新的中心;循环进行2~3步直至达到最大迭代次数,或划分中心的变化小于某一预定义阈值 数据集: 使用UCI数据集中的鸢尾花数据Iris进行实验,它可以在iris获取,Iris数据的样本容量为150,有四个实数值的特征,分别代表花朵四个部位的尺寸,以及该样本对应鸢尾花的亚种类型(共有3种亚种类型) 5.1,3.5,1.4,0.2,setosa ... 5.4,3.0,4.5,1.5,versicolor ... 7.1,3.0,5.9,2.1,virginica ... 在使用前,引入需要的包:   import org.apache.spark.ml.clustering.{KMeans,KMeansModel} import org.apache.spark.ml.linalg.Vectors 开启RDD的隐式转换:  

决策树模型

老子叫甜甜 提交于 2019-12-10 18:55:29
看到一篇关于决策树比较好的文章,转录过来,内容如下: 决策树 决策树里面最重要的就是节点和分裂条件,直接决定了一棵树的好坏。用一个简单的例子先说明一下: 来一段情景对话: 母亲:女儿,你也不小了,还没对象!妈很揪心啊,这不托人给你找了个对象,明儿去见个面吧! 女儿:年纪多大了? 母亲:25 女儿:长的帅不帅? 母亲:挺帅的! 女儿:收入高不高?有没有上进心? 母亲:收入还行,蛮有上进心!     就这样女儿建立了一棵决策树: 这种简单的决策树,处处可见。女儿一步步选择重要特征(年龄、长相、收入等)并构建特征分割方式(年纪大小、长相帅不帅、收入高不高),让自己进行最优的决策。 决策树的构建过程 很显然,由上面的例子可以看到构建一个决策树需要如下步骤: 1、收集样本 没有要决策的对象,一切都是扯淡。就是例子中母亲托人找对象的过程。 2、选择特征-----构建节点 根据特征的重要度,来构建子节点,越重要的特征越靠近根节点。也就是女儿觉得那些条件最重要,当最重要的条件不满足,就没必要继续了。 3、特征的分裂方式-----分裂节点 根据特征的分裂方式,来划分数据集,也就是根据条件区别对待。就是年纪太大的压根就不予考虑,年龄合适的才进一步考察。 其实在实际构建树模型的时候,2和3是通过遍历的方式同时进行的。 上面的例子是主观的分裂节点,那么如何科学的构建节点分裂呢?下面来说明:

python中使用scikit-learn和pandas决策树进行iris鸢尾花数据分类建模和交叉验证

流过昼夜 提交于 2019-12-09 23:59:31
原文链接: http://tecdat.cn/?p=9326 在这篇文章中,我将使用python中的决策树(用于分类)。重点将放在基础知识和对最终决策树的理解上。 导入 因此,首先我们进行一些导入。 from __future__ import print_function import os import subprocess import pandas as pd import numpy as np from sklearn.tree import DecisionTreeClassifier, export_graphviz 数据 接下来,我们需要考虑一些数据。我将使用著名的iris数据集,该数据集可对各种不同的iris类型进行各种测量。pandas和sckit-learn都可以轻松导入这些数据,我将使用pandas编写一个从csv文件导入的函数。这样做的目的是演示如何将scikit-learn与pandas一起使用。因此,我们定义了一个获取iris数据的函数: def get_iris_data(): """Get the iris data, from local csv or pandas repo.""" if os.path.exists("iris.csv"): print("-- iris.csv found locally") df = pd.read

【R语言学习笔记】Day6 运用ggplot2包进行数据可视化----基于鸢尾花卉(iris)数据集

╄→尐↘猪︶ㄣ 提交于 2019-12-06 15:49:30
1. 摘要:基于鸢尾花卉(iris)数据集来练习运用ggplot2进行数据可视化。 2. 数据来源:R语言内置数据集 3. 练习 3.1 基于原数据集以及整合数据集 # Aggregate the first four column by Species and calculate the mean iris.summary <- aggregate(iris[1:4], list(iris$Species), mean) # Change the name of the first column to 'Species' names(iris.summary)[1] <- 'Species' library(ggplot2) # load the ggplot2 package ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, col = Species)) + geom_point() + geom_point(data = iris.summary, shape = 15, size = 5) ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, col = Species)) + geom_point() + geom_vline( data = iris.summary

Iris入门操练1

£可爱£侵袭症+ 提交于 2019-12-06 15:16:40
选一个框架,慢慢熟悉··· 按官网文档,先走一次。。 package main import ( "github.com/kataras/iris/v12" "github.com/kataras/iris/v12/middleware/logger" "github.com/kataras/iris/v12/middleware/recover" ) func main() { app := iris.New() app.Logger().SetLevel("debug") app.Use(recover.New()) app.Use(logger.New()) app.Handle("GET", "/", func(ctx iris.Context) { ctx.HTML("<h1>Welcome to Iris</h1>") }) app.Get("/ping", func(ctx iris.Context) { ctx.WriteString("pong") }) app.Get("/hello", func(ctx iris.Context) { ctx.JSON(iris.Map{"message": "Hello Iris"}) }) app.Run(iris.Addr(":8080"), iris.WithoutServerError(iris

几种无监督学习示例

我们两清 提交于 2019-12-06 15:08:52
无监督学习模型是识别无标签数据结构的模型。这里简单介绍几种的无监督学习算法。分别是主成分分析(PCA)、高斯混合模型、流形学习算法(Isomap)。 主成分分析(PCA) 这里使用鸢尾花数据集进行演示,将它降维到两个维度,然后再可视化。其实,降维的任务是要找到一个可以保留数据本质特征的低维矩阵来描述高维数据,理解数据中的主要方差,降维通常用于辅助数据可视化工作的。当然,PCA并不是一个队每个高维数据集都有效的算法, 数据集中的异常点会影响PCA的效果 。因为这个缺点,很多PCA变体被开发出来了,在sklearn.decomposition子模块中有两个方法: RandomizedPCA 和 SparsePCA 。 RandomizedPCA算法是使用了一个非确定方法,快速地近似计算一个维度非常高的数据的前几个主成分,而SparsePCA引入了一个正则项来保证成分的稀疏性。 from sklearn .decomposition import PCA import seaborn as sns iris = sns .load _dataset( "iris" ) # iris.head() X_iris = iris .drop ( "species" , axis= 1 ) y_iris = iris[ "species" ] model = PCA(n_components=

scikit-learn_cookbook1: 高性能机器学习-NumPy

可紊 提交于 2019-12-06 04:44:28
源码下载 在本章主要内容: NumPy基础知识 加载iris数据集 查看iris数据集 用pandas查看iris数据集 用NumPy和matplotlib绘图 最小机器学习配方 - SVM分类 介绍交叉验证 以上汇总 机器学习概述 - 分类与回归 简介 本章我们将学习如何使用scikit-learn进行预测。 机器学习强调衡量预测能力,并用scikit-learn进行准确和快速的预测。我们将检查iris数据集,该数据集由三种iris的测量结果组成:Iris Setosa,Iris Versicolor和Iris Virginica。 为了衡量预测,我们将: 保存一些数据以进行测试 仅使用训练数据构建模型 测量测试集的预测能力 解决问题的方法 类别(Classification): 非文本,比如Iris 回归 聚类 降维 技术支持 (可以加qq群:887934385) NumPy基础 数据科学经常处理结构化的数据表。scikit-learn库需要二维NumPy数组。 在本节中,您将学习 NumPy的shape和dimension 1 In [1]: import numpy as np 2 3 In [2]: np.arange(10) 4 Out[2]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) 5 6 In [3]: array_1 = np

seaborn总结

不羁的心 提交于 2019-12-06 02:59:23
Seaborn 数据可视化基础 介绍 Matplotlib 是支持 Python 语言的开源绘图库,因为其支持丰富的绘图类型、简单的绘图方式以及完善的接口文档,深受 Python 工程师、科研学者、数据工程师等各类人士的喜欢。Seaborn 是以 Matplotlib 为核心的高阶绘图库,无需经过复杂的自定义即可绘制出更加漂亮的图形,非常适合用于数据可视化探索。 知识点 关联图 类别图 分布图 回归图 矩阵图 组合图 Seaborn 介绍 Matplotlib 应该是基于 Python 语言最优秀的绘图库了,但是它也有一个十分令人头疼的问题,那就是太过于复杂了。3000 多页的官方文档,上千个方法以及数万个参数,属于典型的你可以用它做任何事,但又无从下手。尤其是,当你想通过 Matplotlib 调出非常漂亮的效果时,往往会伤透脑筋,非常麻烦。 Seaborn 基于 Matplotlib 核心库进行了更高阶的 API 封装,可以让你轻松地画出更漂亮的图形。Seaborn 的漂亮主要体现在配色更加舒服、以及图形元素的样式更加细腻,下面是 Seaborn 官方给出的参考图。 Seaborn 具有如下特点: 内置数个经过优化的样式效果。 增加调色板工具,可以很方便地为数据搭配颜色。 单变量和双变量分布绘图更为简单,可用于对数据子集相互比较。