学习笔记:机器学习day2

一、sklearn数据集与估计器
1.sklearn数据集
1.数据集划分

一般划分两部分
训练集:用于训练,构建模型 (70%,75%,80%)
测试集:在模型检验时使用,用于评估模型是否有效 (30%,25%,20%)
一般划分75%,25%比较好

API
sklearn.model_selection.train_test_split

- sklearn.datasets
加载获取流行数据集

  • datasets.load_*()
    获取小规模数据集,数据包含在datasets里
  • datasets.fetch_*(data_home=None)
    获取大规模数据集,需要从网络上下载,函数第一个参数是data_home,表示数据集下载的目录,默认是~/scikit_learn_data/

获取数据集返回的类型
load和fetch返回的数据类型datasets.base.Bunch(字典格式)

  • data:特征数据数组,是[n_samples*n_features]的二维numpy.ndarray数据
  • target:标签数组,是n_samples的一维numpy.ndarray数组
  • DESCR:数据描述
  • feature_names:特征名, 新闻数据、手写数字、回归数据集没有
  • target_names:标签名
from sklearn.datasets import load_iris
iris = load_iris()
print("获取特征值",iris.data)
print("获取目标值",iris.target)
print(iris.DESCR)
2.sklearn数据集的接口介绍

数据集进行分割
**sklearn.model_selection.train_test_split(*arrays,options)

  • x 数据集的特征值
  • y 数据集的标签值
  • test_size 测试集的大小,一般为float
  • random_state 随机数种子,不同的种子会造成不同的随机采样结果。相同的种子采样结果相同。
  • return 训练集特征值,测试集特征值,训练标签,测试标签(默认随机取)

示例:划分训练集与测试集

from sklearn.model_selection import train_test_split
x_train,x_test,y_train,y_test = train_test_split(iris.data,iris.target,random_state=0,test_size=0.25)
3.sklearn分类数据集

sklearn.datasets.fetch_20newsgroups(data_home=None,subset=‘train’)

  • subset:‘train’或者‘test’,‘all’,可选,选择要加载的数据集,训练集的‘训练’,测试集的‘测试’,两者的‘全部’
  • dataset.clear_data_home(data_home=None)
    清除目录下的数据
4.sklearn回归数据集

sklearn.datasets.load_boston()
加载并返回波士顿房价数据集

sklearn.datasets_load_diabetes()
加载并返回糖尿病数据集

5.转换器与估计器

转换器类(transformer)

  • fit():输入数据 (类似建立公式f(x),不同的数据调用fit(),会得到不同的公式)

  • transform(): 进行数据的转换 (类似运算)

  • fit_transform():输入数据直接转换

sklear机器学习算法的实现-估计器(estimator)
在sklearn中,估计器(estimator)是一个重要的角色,是一类实现了算法的API
1.用于分类的估计器:

  • sklean.neighbors k-近邻算法
  • sklearn.naive_bayes 贝叶斯
  • sklearn.linear_model.logistcRegression 逻辑回归
  • sklearn.tree 决策树

2.用于回归的估计器

  • sklearn.linear_model.LinearRegression 线性回归
  • sklearn.linear_model.Ridge 岭回归

1.y_predict= predict(x_test)
2.预测的准确率:score(x_test,y_test)

二、分类算法-K近邻算法(几乎不用)

定义:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。
欧式距离公式:
( a 1 + b 1 ) 2 + ( a 2 + b 2 ) 2 + ( a 3 + b 3 ) 2 \sqrt {(a_1+b_1)^2+(a_2+b_2)^2+(a_3+b_3)^2} (a1+b1)2+(a2+b2)2+(a3+b3)2
k-近邻算法需要做标准化处理

sklearn k-近邻算法API
sklearn.neighbors.KNeighborsClass

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值