機器學習(ML)-Scikit-Learn--快速入門

專欄:機器學習

個人主頁:云端筑夢獅

一.數據集讀取方法(常用功能用熟即可不用背下來)

以例子代表需要的知識點和方法。

1. 導入必要的庫

from sklearn.datasets import load_iris
import numpy as np
  • load_iris():用于加載鳶尾花數據集的函數。(其他的數據集也按照類似的方式進行導入
iris_data = load_iris()
print(iris_data)
print(type(iris_data))
  • load_iris()返回一個類似字典的Bunch對象,包含數據、標簽、特征名等信息。
  • print(iris_data)會輸出數據集的完整內容,包括 DESCR(描述信息)、data(特征數據)、target(標簽數據)等。
  • type(iris_data)顯示其類型

查看特征數據和標簽數據

print(iris_data.data[:10])  # 查看前10條樣本的特征值
print(iris_data.target[:10])  # 查看前10條樣本的標簽值
print(iris_data.feature_names)  # 查看特征名稱
  • iris_data.data:是一個形狀為(150, 4)的二維數組,包含 150 個樣本的 4 個特征(花萼長度、花萼寬度、花瓣長度、花瓣寬度)。
  • iris_data.target:是一個長度為 150 的一維數組,包含樣本的分類標簽(0、1、2 分別代表山鳶尾、變色鳶尾、維吉尼亞鳶尾)。
  • iris_data.feature_names:列出了四個特征的名稱

使用return_X_y=True直接獲取特征和標簽

x, y = load_iris(return_X_y=True)
print(x[:10])  # 查看前10條樣本的特征值
print(y[:10])  # 查看前10條樣本的標簽值

  • return_X_y=True參數使load_iris()直接返回兩個數組:x(特征數據)和y(標簽數據),適合快速進行模型訓練。

以 DataFrame 格式加載數據集

iris_data = load_iris(as_frame=True)
print(iris_data.frame)

  • as_frame=True參數使load_iris()返回一個包含 DataFrame 對象。
  • iris_data.frame是一個 Pandas DataFrame,包含所有樣本的特征和標簽,方便進行數據探索和分析。

大家一定要在自己的機器上面運行一下這個代碼來熟悉一下

二.數據集的切分方法

from sklearn.model_selection import train_test_split
import numpy as np
  • train_test_split:用于將數據集拆分為訓練集和測試集的函數。
a = np.arange(12).reshape(6, 2)
print("特征矩陣a:\n", a)b = np.array([0, 1, 0, 1, 0, 1])
  • 特征矩陣?a:一個 6 行 2 列的數組,模擬 6 個樣本的二維特征
  • 標簽數組?b

?第一次劃分

X_train, X_test, y_train, y_test = train_test_split(a, b, random_state=42)
  • random_state=42:固定隨機種子,確保每次運行代碼時劃分結果相同(便于復現)。未指定test_size時,默認測試集占比為?25%(即 6 個樣本中,測試集為 1.5 個樣本,向上取整為 2 個樣本)。

  • 訓練集標簽: [1 0 0 1]  # 包含2個0和2個1
    測試集標簽: [0 1]      # 包含1個0和1個1
    

?第二次劃分:使用?stratify?參數

X_train_strat, X_test_strat, y_train_strat, y_test_strat = train_test_split(a, b, random_state=42, stratify=b
)
  • stratify=b:強制劃分后的訓練集和測試集的類別比例與原始數據?完全一致

    • 原始數據中標簽01各占 3 個(比例 1:1),因此:
      • 訓練集:4 個樣本,其中 0 和 1 各 2 個。
      • 測試集:2 個樣本,其中 0 和 1 各 1 個。
  • 訓練集標簽: [0 1 1 0]  # 嚴格包含2個0和2個1
    測試集標簽: [0 1]      # 嚴格包含1個0和1個1
    

?第三次劃分:修改?random_state

X_train_new, X_test_new, y_train_new, y_test_new = train_test_split(a, b, random_state=24)
  • random_state=24:使用不同的隨機種子,生成與之前不同的劃分結果。
  • 訓練集標簽: [0 1 1 0]  # 包含2個0和2個1
    測試集標簽: [0 1]      # 包含1個0和1個1
    

stratify?參數的核心作用

當處理?類別不平衡數據(如 100 個樣本中 90 個正例、10 個反例)時,stratify?參數尤為重要:

  • 不使用?stratify:隨機劃分可能導致測試集中只有正例(如 25 個樣本全為正例),無法評估模型對反例的預測能力。
  • 使用?stratify:強制測試集中保持 90% 正例、10% 反例的比例,確保模型評估的公平性。

?常見參數擴展

  • test_size=0.3:指定測試集占比為 30%。
  • shuffle=False:禁用數據打亂(按原始順序劃分)。
  • random_state:控制劃分的隨機性,確保結果可復現。
  • stratify:保證訓練集和測試集的類別比例與原始數據一致,適用于類別不平衡場景。
  • 默認劃分比例為?75% 訓練集 + 25% 測試集,可通過test_size調整。

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

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

相關文章

SQL語句四大分類詳解:DDL、DML、DQL、DCL

前言 SQL(Structured Query Language)是用于管理和操作關系型數據庫的標準語言。無論是開發人員還是數據庫管理員,掌握 SQL 是必不可少的技能。 SQL 根據功能的不同,通常被劃分為 四大類: ? DDL(數據定義…

如何將Word里每頁的行數設置成50行

https://www.zhihu.com/question/357856175 本文來自知乎林聽晴 第一步:新建一個Word文檔 打開“頁面布局”,之后點擊圖片圈起來的小圖標,即可出現“頁面設置”頁面。 ? ? 路徑:頁面設置—文檔網絡,可以看到默認行…

純前端本地文件管理器(VSCode風格)(瀏覽器對本地文件增刪改查)

純前端本地文件管理器(VSCode風格)(瀏覽器對本地文件增刪改查) 簡介 本項目為一個純前端實現的本地文件管理器網頁(index.html),可在 Chrome/Edge 瀏覽器中直接打開,具備類似 VSCode 的本地文件夾操作體驗…

windows安裝wsl、Ubuntu、docker desktop

以下是Windows安裝WSL(Windows Subsystem for Linux)及在Ubuntu中配置使用Docker的完整流程,整合了最新官方方案和常見問題解決方案: 🔧 一、Windows安裝WSL(推薦WSL 2) 📍 安裝前提…

華為云Flexus+DeepSeek征文|云端智能加持:華為云ModelArts Studio提升Chat2DB的AI數據庫管理效能

華為云FlexusDeepSeek征文|云端智能加持:華為云ModelArts Studio提升Chat2DB的AI數據庫管理效能 前言一、華為云ModelArts Studio平臺介紹1.1 ModelArts Studio介紹1.2 ModelArts Studio主要特點1.3 ModelArts Studio使用場景1.4 ModelArts Studio產品架…

微信小程序封裝loading 修改

1. custom-loading.vue <template><view v-if"visible" class"custom-loading-mask" touchmove.stop.prevent><view class"custom-loading-container"><!-- 動態點點 --><text class"loading-text">{…

Windows環境下Docker容器化的安裝與設置指南

哈嘍&#xff0c;大家好&#xff0c;我是左手python&#xff01; 系統要求與準備工作 在開始安裝和配置 Docker 之前&#xff0c;需要確保您的 Windows 系統滿足以下要求&#xff1a; 操作系統版本&#xff1a;推薦使用 Windows 10 或更高版本&#xff0c;特別是 64 位版本。對…

0 數學習題本

零 引言 數學錯題與好題總結 一 基礎階段 1 高數部分 習題冊:武忠祥 660 1?? 函數 極限 連續 2?? 一元微分 3?? 一元積分 4?? 微分方程 5?? 多元微分 6?? 二重積分 7?? 無窮級數 8?? 空間幾何 9?? 多元積分 2 線代部分 習題冊:湯家鳳 1800 1?? 行列式…

USB服務器的5個核心價值

USB服務器&#xff08;USB Server&#xff09;是一款專為企業級環境設計的創新型硬件解決方案&#xff0c;其核心使命在于解決物理USB設備&#xff08;如U盾、加密狗、身份認證Key等&#xff09;在分布式辦公、遠程協作及復雜IT架構中面臨的接入、管理與安全難題。本文以朝天椒…

基于vue3+ByteMD快速搭建自己的Markdown文檔編輯器

簡介 ByteMD 是一個輕量級、功能豐富的 Markdown 編輯器組件&#xff0c;由稀土掘金&#xff08;juejin.cn&#xff09;團隊開發并開源。它采用 Svelte 構建&#xff0c;支持雙向編輯&#xff08;所見即所得&#xff09;&#xff0c;并提供了豐富的插件系統。 核心特點 輕量…

“AI大語言模型”助力大氣科學:ERA5再分析數據、WRF處理、遙感降水、CMIP6未來氣候、天氣晴雨預測的完整方法論等

內容覆蓋使用GPT處理數據、生成論文摘要、文獻綜述、技術方法分析等實戰案例&#xff0c;將AI技術廣泛應用于科研工作。特別關注將GPT與Python結合應用于遙感降水數據處理、ERA5大氣再分析數據的統計分析、干旱監測及風能和太陽能資源評估等大氣科學關鍵場景。旨在提升參與者在…

STM32給FPGA的外掛FLASH進行升級

STM32給FPGA的外掛FLASH進行升級 一、電路方案設計二、軟件寫FLASH三、解決第一次燒錄后FPGA無法啟動的問題 前言&#xff1a; 一個復雜的嵌入式中&#xff0c;如果對某些實時性要求極高的情況下勢必會使用到FPGA來保證&#xff0c;這里面牽扯到給FPGA的程序升級問題&#xff0…

Python 數據分析與可視化 Day 9 - 缺失值與異常值處理技巧

? 今日目標 熟練處理數據中的缺失值&#xff08;NaN、None&#xff09;學會識別和處理異常值&#xff08;outliers&#xff09;掌握常用的處理方法&#xff1a;填充、刪除、替換、標準差法、箱型圖法等為后續機器學習建模打好數據清洗基礎 &#x1f4da; 一、缺失值處理&…

概述-1-數據庫的相關概念

數據庫的相關概念 用戶通過SQL操作數據庫管理系統&#xff0c;再通過數據庫管理系統操作數據庫以及數據庫中的數據。 數據庫 數據庫是存儲數據的倉庫, 數據是有組織的進行存儲, DataBase簡稱&#xff08;DB&#xff09; 數據庫管理系統 操縱和管理數據庫的大型軟件, DataB…

可視化大屏展示

可視化大屏是一種將大量數據進行整合、分析&#xff0c;并以直觀、形象的可視化方式展示在大屏幕上的信息展示系統。主要組成部分分為2個&#xff1a;硬件設備、軟件系統。 一、大屏價值 1、數據可視化&#xff1a;將復雜的數據轉化為直觀的圖形、圖表和地圖等&#xff0c;使數…

服務器被入侵的常見跡象有哪些?

&#x1f6a8; 服務器被入侵的常見跡象 &#x1f7e2; 一、系統和資源異常 CPU、內存或網絡流量異常飆高 即使沒有業務負載&#xff0c;資源長期占滿。 磁盤空間突然被寫滿 可疑大文件或日志暴漲。 系統負載顯著升高 uptime、top 顯示 load average 異常。 &#x1f7e1;…

日本生活:日語語言學校-日語作文-溝通無國界(5)-題目:我的一天

日本生活&#xff1a;日語語言學校-日語作文-溝通無國界&#xff08;5&#xff09;-題目&#xff1a;我的一天 1-前言2-作文原稿3-作文日語和譯本&#xff08;1&#xff09;日文原文&#xff08;2&#xff09;對應中文&#xff08;3&#xff09;對應英文 4-老師評語5-自我感想&…

前端領域的技術熱點與深度解析

&#x1f525; 一、框架革新&#xff1a;React、Vue、Svelte 的進化方向 React 19 實驗版 Server Components 深化&#xff1a;支持流式渲染與異步狀態管理&#xff0c;SSR 性能提升40%。 并發模式優化&#xff1a;減少渲染阻塞&#xff0c;復雜交互場景延遲降低35%。 Vue 3…

【unity游戲開發——網絡】網絡游戲通信方案——強聯網游戲(Socket長連接)、 弱聯網游戲(HTTP短連接)

注意&#xff1a;考慮到熱更新的內容比較多&#xff0c;我將熱更新的內容分開&#xff0c;并全部整合放在【unity游戲開發——網絡】專欄里&#xff0c;感興趣的小伙伴可以前往逐一查看學習。 文章目錄 一、聯網游戲類型劃分二、核心通信協議對比三、開發選擇指南專欄推薦完結 …

Java-60 深入淺出 分布式服務Paxos 算法優化 如何保證Paxos算法的活性

點一下關注吧&#xff01;&#xff01;&#xff01;非常感謝&#xff01;&#xff01;持續更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持續更新中&#xff01;&#xff08;長期更新&#xff09; 目前2025年06月16日更新到&#xff1a; AI煉丹日志-29 - 字節…