【機器學習】sklearn數據集的使用,數據集的獲取和劃分

「作者主頁」:士別三日wyx
「作者簡介」:CSDN top100、阿里云博客專家、華為云享專家、網絡安全領域優質創作者
「推薦專欄」:對網絡安全感興趣的小伙伴可以關注專欄《網絡安全入門到精通》

sklearn數據集

  • 二、安裝sklearn
  • 二、獲取數據集
  • 三、數據集劃分

機器學習是人工智能的一個實現途徑,可以從「數據」中自動分析獲得「模型」,并利用模型對未知數據進行「預測」

簡單來說就是從歷史數據中總結規律,用來解決新出現的問題。

從數據中總結規律,需要提供一個「數據集」,數據集由「特征值」「目標值」兩部分組成。

機器學習有很多好用的工具,這里我們使用sekearn。

sklearn是基于Python的機器學習工具包,自帶大量數據集,可供我們練習各種機器學習算法。

二、安裝sklearn

環境要求:

  • Python(>=2.7 or >=3.3)
  • NumPy (>= 1.8.2)
  • SciPy (>= 0.13.3)

先安裝 numpyscipy,再安裝 scikit-learn

PyCharm左上角【file】-【Settings】-【Project:pythonProject】-【Python Interpreter】

在這里插入圖片描述

二、獲取數據集

sklearn數據集有有三種「獲取數據」的方式:

  • sklearn.datasets.load_*():小規模數據集(本地加載)
  • sklearn.datasets.fetch_*():大規模數據集(在線下載)
  • sklearn.datasets.make_*():本地生成數據集(本地構造)

sklearn數據集的「返回值」是字典格式:

  • data:特征值數據數組
  • target:目標值數據數組(標簽)
  • target_names:標簽名(目標值和標簽的對應關系)
  • DESCR:數據描述
  • feature_names:特征名

接下來,我們獲取一個自帶的本地數據集:

from sklearn import datasets# 獲取數據集
iris = datasets.load_iris()
# 打印數據集
print(iris)

輸出:

在這里插入圖片描述

從輸出結果來看,它返回的數據集是一個字典,里面包含了特征值(data)、目標值(target)等信息。

我們可以調用返回值「屬性」,單獨查看數據集的某個信息:

from sklearn import datasets# 獲取數據集
iris = datasets.load_iris()# 查看數據值
print(iris.data)
# 查看目標值(標簽)
print(iris.target)
# 查看標簽名
print(iris.target_names)
# 查看數據描述
print(iris.DESCR)
# 查看特征名
print(iris.feature_names)

三、數據集劃分

數據集通常會劃分為兩個部分:

  • 「訓練數據」:用于訓練,生成模型。
  • 「測試數據」:用于檢驗,判斷模型是否有效。

sklearn.model_selection.train_test_split() 用來劃分數據集

參數:

  • x:(必選)數組類型,數據集的特征值
  • y:(必選)數組類型,數據集的目標值
  • test_size:(可選,默認0.25)浮點型,測試集的大小
  • random_state:(可選)整型,隨機數種子,不同的隨機數對應不同的采樣結果。

返回值:

  • 訓練集特征值、測試集特征值、訓練集目標值、測試集目標值

接下來,我們對剛才獲取的本地數據集進行劃分,測試集大小不給值,就是默認的0.25,意思是25%當做測試數據、剩下的75%當做訓練數據。

from sklearn import datasets
from sklearn import model_selection# 獲取數據集
iris = datasets.load_iris()# 數據集的特征值
data_arr = iris.data
# 數據集的目標值(標簽)
target_arr = iris.targetx_data, y_data, x_target, y_target = model_selection.train_test_split(data_arr, target_arr)
print('訓練集特征值', x_data)
print('測試集特征值', y_data)
print('訓練集目標值', x_target)
print('測試集目標值', y_target)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/40022.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/40022.shtml
英文地址,請注明出處:http://en.pswp.cn/news/40022.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

mac錄屏工具,錄屏沒有聲音的解決辦法

mac錄屏工具,錄屏沒有聲音的解決辦法 在使用macbook錄制屏幕時,發現自帶的錄屏工具QuickTime Player沒有聲音,于是嘗試了多款錄屏工具,對其做一些經驗總結(省流:APP Store直接可以免費下載使用Omi錄屏專家…

第三課-界面介紹SD-Stable Diffusion 教程

前言 我們已經安裝好了SD,這篇文章不介紹難以理解的原理,說使用。以后再介紹原理。 我的想法是,先學會畫,然后明白原理,再去提高技術。 我失敗過,知道三天打魚兩天曬網的痛苦,和很多人一樣試了…

TiDB數據庫從入門到精通系列之六:使用 TiCDC 將 TiDB 的數據同步到 Apache Kafka

TiDB數據庫從入門到精通系列之六:使用 TiCDC 將 TiDB 的數據同步到 Apache Kafka 一、技術流程二、搭建環境三、創建Kafka changefeed四、寫入數據以產生變更日志五、配置 Flink 消費 Kafka 數據 一、技術流程 快速搭建 TiCDC 集群、Kafka 集群和 Flink 集群創建 c…

【網絡編程系列】網絡編程實戰

💝💝💝歡迎來到我的博客,很高興能夠在這里和您見面!希望您在這里可以感受到一份輕松愉快的氛圍,不僅可以獲得有趣的內容和知識,也可以暢所欲言、分享您的想法和見解。 推薦:kuan 的首頁,持續學…

使用Vue.js框架的指令和事件綁定實現一個購物車的頁面布局

使用了v-model指令來實現全選/全不選的功能,當全選框被點擊時,isAllChecked的值會被改變。使用了v-if指令來判斷購物車中是否有商品,如果有商品則渲染商品列表,否則顯示購物車為空的提示。使用了v-for指令來遍歷datalist數組&…

jvm內存溢出排查(使用idea自帶的內存泄漏分析工具)

文章目錄 1.確保生成內存溢出文件2.使用idea自帶的內存泄漏分析工具3.具體實驗一下 1.確保生成內存溢出文件 想分析堆內存溢出,一定在運行jar包時就寫上參數-XX:HeapDumpOnOutOfMemoryError,可以看我之前關于如何運行jar包的文章。若你沒有寫。可以寫上…

Keepalived入門指南:實現故障轉移和負載均衡

文章目錄 一、簡介1. Keepalived概述2. 高可用性和負載均衡的重要性 二、故障轉移1. 什么是故障轉移2. Keepalived的故障轉移原理a) VRRP協議b) 虛擬路由器ID和優先級 3. 配置Keepalived實現故障轉移a) 主備服務器的設置b) 監控網絡接口c) 虛擬IP的配置d) 備份服務器接管流程 三…

Python學習筆記_基礎篇(九)_面向對象編程

本篇內容: 1、反射2、面向對象編程3、面向對象三大特性4、類成員5、類成員修飾符6、類的特殊成員7、單例模式 反射 python中的反射功能是由以下四個內置函數提供:hasattr、getattr、setattr、delattr,改四個函數分別用于對對象內部執行:檢…

el-form自定義校驗規則

Vue 的 el-form 組件可以使用自定義校驗規則進行表單驗證。自定義校驗規則可以通過傳遞一個函數來實現,該函數接受要校驗的字段的值作為參數,并返回一個布爾值或一個 Promise 對象。 下面是一個示例,演示如何在 el-form 中使用自定義校驗規則…

若依前端npm run dev啟動時報錯

本文主要解決問題:若依前端npm run dev啟動時報錯,解決辦法。 目錄 1、第1種解決方案(親測有效) 2、第2種解決方案(親測有效) Error: error:0308010C:digital envelope routines::unsupportedat new Hash (node:internal/crypto/hash:67:19)at Object.createHash (node…

解決 adb install 錯誤INSTALL_FAILED_UPDATE_INCOMPATIBLE

最近給游戲出包,平臺要求 v1 簽名吧,AS 打包后,adb 執行安裝到手機,我用的設備是google pixel6 , android 系統 13, 提示如下: adb install -r v5_android_202308161046.apk Performing Streamed Install a…

centos 安裝.net 6 sdk

按照以下步驟在 CentOS 上安裝 .NET 6 SDK: 更新系統: sudo yum update安裝依賴項: sudo yum install -y curl libunwind libicu下載并添加 Microsoft 的軟件包存儲庫密鑰: sudo rpm -Uvh https://packages.microsoft.com/config/…

單片機第一季:零基礎13——AD和DA轉換

1,AD轉換基本概念 51 單片機系統內部運算時用的全部是數字量,即0 和1,因此對單片機系統而言,無法直接操作模擬量,必須將模擬量轉換成數字量。所謂數字量,就是用一系列0 和1 組成的二進制代碼表示某個信號大…

Linux -- 進階 Autofs自動掛載服務 實驗詳解

服務端創建共享目錄, 客戶端實現自動掛載 第一步 : 客戶端,服務端 均關閉安全軟件 [rootserver ~]# setenforce 0 [rootserver ~]# systemctl stop firewalld [rootnode1 ~]# setenforce 0 [rootnode1 ~]# systemctl stop firewalld 第二…

在K8s上處理nginx

基本說明 創建一個名為ssl的TLS類型的Secret對象,用于存儲證書和密鑰信息。 kubectl create secret tls ssl --certserver.crt --keyserver.key配置Nginx的events塊,設置worker連接數為1024。 events {worker_connections 1024; }配置Nginx的http塊&a…

MyBaits(單獨使用,與整合無關)小白版

文章目錄 概述比較配置寫xml加載上面配置并執行加載配置的方法方式一 執行方法方式一方式二(MyBatis映射器) 寫配置文件的映射文件設置對象的別名(簡寫)獲取自動生成的主鍵 查詢結果和java的映射規則基本類型映射:簡單對象映射:嵌…

加鹽加密算法

MD5加密加鹽加密項目密碼升級 MD5加密 MD5一系列公式進行復雜數學運算;特點:(用途校驗和、計算hash值方式、加密) 1:定長;無論原始數據多長;算出的結果都是4或者8字節的版本。 2:沖…

Java多線程實戰

Java多線程實戰 java多線程(超詳細) java自定義線程池總結 Java創建線程方式 方法1,繼承Thread類 方法2,實現Runable接口 方法2-2,匿名內部類形式lambda表達式 方法3,實現Callable接口,允許…

【深入理解Linux內核鎖】三、原子操作

我的圈子: 高級工程師聚集地 我是董哥,高級嵌入式軟件開發工程師,從事嵌入式Linux驅動開發和系統開發,曾就職于世界500強企業! 創作理念:專注分享高質量嵌入式文章,讓大家讀有所得! 文章目錄 1、原子操作思想2、整型變量原子操作2.1 API接口2.2 API實現2.2.1 原子變量結…

Shell 函數

Shell 函數 linux shell 可以用戶定義函數,然后在shell腳本中可以隨便調用。 shell中函數的定義格式如下: [ function ] funname [()] { action; [return int;] } 說明: 1、可以帶function fun() 定義,也可以直接fun…