iris

sklearn库学习笔记1――preprocessing库

匿名 (未验证) 提交于 2019-12-03 00:41:02
本次主要学习sklearn的 preprocessing库 :用来对数据预处理,包括无量纲化,特征二值化,定性数据量化等。 先看下这个库所包含的类及方法: 主要包括14大类,为训练集数据的预处理提供接口,每个类都提供了fit(填充数据,获取数据上的特征信息并保存),transform(将fit保存的信息应用到其它数据集上,对其它数据集进行转换),fit_transform(填充数据并对数据进行转换)。如果计算是一次性的,不需创建类,可直接调用与类相对应的方法。本次主要利用iris数据测试 from sklearn.datasets import load_iris iris=load_iris() 无量纲化: 1.标准化:(x-列均值)/ 列标准差 from sklearn.preprocessing import StandardScaler StandardScaler().fit_transform(iris.data) 或使用scaler方法,既可按列,又可按行标准化 from sklearn.preprocessing import scale a=np.array([[ 1, 2, 3],[ 3, 2, 1]]) res=scale(a,axis= 0) #按列标准化 res.mean(axis= 0) #查看列均值 res.std(axis= 0) #查看列标准差

Iris安装和实现处理路由分发

匿名 (未验证) 提交于 2019-12-03 00:25:02
2.hello word 需要先安装golang go get -u github.com/kataras/iris 2.hello word package main import "github.com/kataras/iris" func main() { app := iris.Default() // Method: GET // Resource: http://localhost:8080/ app.Handle( "GET" , "/" , func (ctx iris.Context) { ctx.HTML( "Hello world!" ) }) app.Run(iris.Addr( ":8080" )) } 萌新实现,思路有限,客官且看轻喷 以用户信息管理为例 创建userRoutes.go: package route import ( "github.com/kataras/iris" "mcGoApi/api/login/controllers" ) var usersRoutes iris.Party //为外提供一个设置主路由的方法 func (u *UserRouter) SetUserRouter(app *iris.Application, path string ) { usersRoutes = app.Party(path) //路由分发

用逻辑回归实现鸢尾花数据集分类(1)

匿名 (未验证) 提交于 2019-12-03 00:19:01
鸢尾花数据集的分类问题指导 -- 对数几率回归(逻辑回归)问题研究 (1) 这一篇Notebook是应用对数几率回归( Logit Regression )对鸢尾花数据集进行品种分类的。首先会带大家探索一下数据集中的特征,类别信息。然后带大家从入门与进阶来学习应用逻辑回归分类。 1.背景介绍 1.1. 逻辑回归 Logistic Regression (对数几率回归 Logit Regression) 名字 关于名字,有文献将Logistic Regression译为“逻辑回归”, 但中文“逻辑”与logitic 和 logit 的含义相去甚远,因此在《机器学习》中意译为“对数几率回归”,简称“对率回归”。 线性回归 在介绍对数几率回归之前先介绍一下线性回归,线性回归的主要思想是通过历史数据拟合出一条直线,因变量与自变量是线性关系,对新的数据用这条直线进行预测。 线性回归的公式如下: y=w0+w1x1+...+wnxn=wTx+b 逻辑回归 对数几率回归是一种广义的线性回归分析模型,是一种预测分析。虽然它名字里带回归,但实际上对数几率回归是一种分类学习方法。它不是仅预测出“类别”, 而是可以得到近似概率预测,这对于许多需要利用概率辅助决策的任务很有用。普遍应用于预测一个实例是否属于一个特定类别的概率,比如一封email是垃圾邮件的概率是多少。 因变量可以是二分类的

机器学习(5)

匿名 (未验证) 提交于 2019-12-02 23:57:01
决策树,它能够处理回归和分类问题,甚至是多输出问题,能够拟合复杂的数据(容易过拟合),而且它是集成算法:随机森林(Random forest)的基础,下面开始介绍决策树Scikit-learn的用法,以及参数的选择及算法的局限性。 一,训练决策树并其可视化 下面是决策树分类(DecisionTreeClassifier)用在Iris分类上的粒子。参数max_depth控制决策树的深度。 from sklearn . datasets import load_iris from sklearn . tree import DecisionTreeClassifier iris = load_iris () X = iris . data [:, 2 :] # petal length and width y = iris . target tree_clf = DecisionTreeClassifier ( max_depth = 2 ) tree_clf . fit ( X , y ) 训练完以后可以预测分为每一类的概率,或最终结果 tree_clf . predict_proba ([[ 5 , 1.5 ]]) tree_clf . predict ([[ 5 , 1.5 ]]) 还可以用export_graphviz()方法把决策树画出来,输出的是.dot文件 from

sklearn 随机森林分类iris花

匿名 (未验证) 提交于 2019-12-02 23:41:02
#!/usr/bin/env python # coding: utf-8 # ### 导入随面森林的相关库文件. from sklearn.ensemble import RandomForestClassifier # 导入随机森林的包 # from sklearn.model_selection import train_test_split # 这个用于后台数据的分割 from sklearn.preprocessing import StandardScaler # 数据的标准化 import numpy as np #导入iris数据 # * Sepal.Length(花萼长度),单位是cm; # * Sepal.Width(花萼宽度),单位是cm; # * Petal.Length(花瓣长度),单位是cm; # * Petal.Width(花瓣宽度),单位是cm; # * 种类:Iris Setosa(山鸢尾)、Iris Versicolour(杂色鸢尾),以及Iris Virginica(维吉尼亚鸢尾) 共三种 from sklearn import datasets # 导入iris自带数据库文件 iris_data = datasets.load_iris() iris_feature = iris_data.data[:151:2] iris_target =

【Scikit-Learn 中文文档】使用 scikit-learn 介绍机器学习 | ApacheCN

匆匆过客 提交于 2019-12-02 23:08:43
【Scikit-Learn 中文文档】使用 scikit-learn 介绍机器学习 | ApacheCN 标签: Scikit apachecn 机器学习 文档 2017-11-21 15:06 111人阅读 评论 (0) 收藏 举报 分类: Scikit(29) ApacheCN(29) 目录 (?) [+] 中文文档: http://sklearn.apachecn.org/cn/0.19.0/tutorial/basic/tutorial.html 英文文档: http://sklearn.apachecn.org/en/0.19.0/tutorial/basic/tutorial.html GitHub: https://github.com/apachecn/scikit-learn-doc-zh (觉得不错麻烦给个 Star,我们一直在努力) 贡献者: https://github.com/apachecn/scikit-learn-doc-zh#贡献者 使用 scikit-learn 介绍机器学习 | ApacheCN 内容提要 在本节中,我们介绍一些在使用 scikit-learn 过程中用到的 机器学习 词汇,并且给出一些例子阐释它们。 机器学习:问题设置 一般来说,一个学习问题通常会考虑一系列 n 个 样本 数据,然后尝试预测未知数据的属性。 如果每个样本是

Iris数据集用主成分分析MATLAB

匿名 (未验证) 提交于 2019-12-02 22:56:40
1、代码 filename = 'iris.csv' ; data = csvread ( filename ) ; rawdata = data ( : , 2 : 5 ) a = data ( data ( : , 1 ) == 0 , : ) ; a = a ( : , 2 : 5 ) ; b = data ( data ( : , 1 ) == 1 , : ) ; b = b ( : , 2 : 5 ) ; c = data ( data ( : , 1 ) == 2 , : ) ; c = c ( : , 2 : 5 ) ; [ coefs , scores , variances , t2 ] = princomp ( rawdata ) ; a = a * coefs ( : , 1 : 2 ) ; b = b * coefs ( : , 1 : 2 ) ; c = c * coefs ( : , 1 : 2 ) ; plot ( a ( : , 1 ) , a ( : , 2 ) , 'r.' , 'markersize' , 20 ) ; hold on plot ( b ( : , 1 ) , b ( : , 2 ) , 'g.' , 'markersize' , 20 ) ; hold on plot ( c ( : , 1 ) , c ( : , 2 ) ,

Python :txt文件转换成csv文件

十年热恋 提交于 2019-12-02 14:47:43
Python:txt文件转换成csv文件 尝试将鸢尾花数据集原始的data文件转化为csv格式。data文件可以用记事本打开,具体的操作也是同txt文件相同的。 import csv with open ( 'irisdata2.csv' , 'w' , newline = '' ) as iris1 : iris1writer = csv . writer ( iris1 ) with open ( r 'C:\iris\iris.data' ) as iris2 : for line in iris2 . readlines ( ) : d = [ ] d = [ x for x in line . strip ( ) . split ( ',' ) ] iris1writer . writerow ( d ) 说明: newline = '' #使得生成的csv文件不会产生空行,你可以删除这个参数,看一下生成的文件效果对比 r 'C:\iris\iris.data' #r可以使得\转义字符作为字符串被读取,删掉r应该会报错 d = [ x for x in line . strip ( ) . split ( ',' ) ] #以逗号作为不同列划分的依据 不过生成的csv文件没有表头。 来源: https://blog.csdn.net/qq_43402031/article

KNN基础代码

守給你的承諾、 提交于 2019-12-02 14:27:27
库 sklearn 库下的工具: datasets,model_selection,neighbors K近邻代码思路: 有个数据集----对数据分割----调用KNN算法 iris = datasets.load_iris() 导入数据集 数据集权重:开源数据集,重要数据集之一 数据集特点:还有3个类别,所以可分类 数据集描述链接:https://archive.ics.uci.edu/ml/datasets/Iris/ x=iris.data y=iris.target x: 数据特征,y: 标签 或 分 y这里3个值。所以适合分类问题(0,1,2) iris: 有150个已知数据,所以 len ( x ) , len ( y ) 都是150 print(x,y) x_train , x_test , y_train , y_test = train_test_split ( x , y , random_state = 2003 ) 分割数据集 x 是 已知数据 ,一共 150 个, 分成训练集 112个 和 测试集 38个 y 同理 目的:训练集 训练模型,测试集 验证模型,否则不知道模型好坏 clf = KNeighborsClassifier ( n_neighbors = 3 ) k近邻算法 ,邻居为3 clf.fit ( x_train , y_train )

特征真的越多越好吗?从特征工程角度看“garbage in,garbage out”

天大地大妈咪最大 提交于 2019-12-02 05:49:18
1. 从朴素贝叶斯在医疗诊断中的迷思说起 这个模型最早被应用于医疗诊断,其中,类变量的不同值用于表示患者可能患的不同疾病。证据变量用于表示不同症状、化验结果等。在简单的疾病诊断上,朴素贝叶斯模型确实发挥了很好的作用,甚至比人类专家的诊断结果都要好。但是在更深度的应用中,医生发现,对于更复杂(由多种致病原因和症状共同表现)的疾病,模型表现的并不好。 数据科学家经过分析认为,出现这种现象的原因在于: 模型做了集中通常并不真实的强假设 ,例如: 一个患者至多可能患一种疾病 在已知患者的疾病条件下,不同症状的出现与否,不同化验结果,之间是互相独立的 这种模型可用于医学诊断是因为少量可解释的参数易于由专家获得,早期的机器辅助医疗诊断系统正式建立在这一技术之上。 但是,之后更加深入的实践表明,构建这种模型的强假设降低了模型诊断的准确性,尤其是 “过度计算”某些特定的证据,该模型很容易过高估计某些方面特征的影响 。 例如,“高血压”和“肥胖症”是心脏病的两个硬指标,但是,这两个症状之间相关度很高,高血压一般就伴随着肥胖症。在使用朴素贝叶斯公式计算的时候,由于乘法项的缘故,关于这方面的证据因子就会被重复计算,如下式: P(心脏病 | 高血压,肥胖症) = P(高血压 | 心脏病) * P(高血压 | 肥胖症) / P(高血压,肥胖症) 由于“高血压”和“肥胖症”之间存在较强相关性的缘故