当前位置:   article > 正文

【机器学习-01】scikit-learn中数据集的用法_怎么使用scikit-learn来训练自己的数据集

怎么使用scikit-learn来训练自己的数据集

目录

1、获取sklearn中的数据集

2、数据集的使用 

3、数据集的划分

4、sklearn中的数据集划分API


scikit-learn地址:scikit-learn中文社区

1、获取sklearn中的数据集

(1)获取小规模数据集,数据包含在datasets里:sklearn.datasets.load_name()             

(2)获取大规模数据集,需从网络上下载:sklearn.datasets.fetch_name(data_home=None)                 函数的第一个参数是data_home,表示数据下载的目录,不指定的话默认~/scikit_learn_data/

 举例:

  • sklearn.datasets.load_iris()
    加载并返回鸢尾花数据集

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

  • sklearn.datasets.fetch_20newsgroups(data=None, subset=‘train’)
    可以通过subset参数选择需要加载的数据集:‘train’、’test’、‘all’
    ‘train’:训练集,’test’:测试集,‘all’:全部

2、数据集的使用 

(1)load和fetch返回的数据类型为datasets.base.Bunch(与字典格式一样)

(2)按Ctrl后点击数据集名称,可以查看数据集中的键值对

  • data:特征数据数组,是[n_samples * n_features]的二维numpy.ndarry数组
  • target:标签数组,是n_samples的一维numpy.ndarry数组
  • target_names:标签名
  • DESCR:数据描述
  • feature_names:特征名,新闻数据,手写数字、回归数据集没有

(3) 两种获取键值对的方式:dict[‘‘key’’] = value 和 bunch.key = value

3、数据集的划分

(1)机器学习一般的数据集会划分为两个部分:

  • 训练数据:用于训练,构建模型
  • 测试数据:模型检验,评估模型是否有效

(2)划分比例:

  • 训练集:80%~70%
  • 测试集:20%~30%

 4、sklearn中的数据集划分API

              sklearn.model_selection.train_test_split(x,y,test.size,random_state) 

x :数据集的特征值,如iris.data

y: 数据集的标签值/目标值,如iris.target

test_size:测试集的大小,一般为float类型(如测试集占20%,则设置为0.2,默认为0.25)

random_state:随机数种子,不同的种子会造成不同的随机采样结果 , 相同的种子采样结果相同

return:训练集特征值 x_train,测试集特征值 x_test,训练集目标值 y_train,测试集目标值 y_test

注意:返回值的顺序是固定的;x和y为必须的参数,其余参数可以不进行设置

  1. from sklearn.datasets import load_iris #导入数据集
  2. from sklearn.model_selection import train_test_split #导入数据集划分API
  3. def datasets_demo():
  4. """
  5. sklearn数据集使用
  6. :return:
  7. """
  8. # 获取数据集
  9. iris = load_iris()
  10. print("鸢尾花数据集:\n", iris)
  11. print("查看数据集描述:\n", iris["DESCR"]) #字典方式获取键值对
  12. print("查看特征值的名字:\n", iris.feature_names) #点属性方式获取键值对
  13. print("查看特征值:\n", iris.data, iris.data.shape) # 150个样本
  14. # 数据集划分
  15. x_train, x_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.2, random_state=22)
  16. print("训练集的特征值:\n", x_train, x_train.shape) # 返回为150*0.8=120个样本
  17. return None
  18. if __name__ == "__main__":
  19. datasets_demo()

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/702323
推荐阅读
相关标签
  

闽ICP备14008679号