一個很簡單的機器學習任務

一個很簡單的機器學習任務

前言

基于線上colab做的一個簡單的案例,應用了線性回歸算法,預測了大概加州3000多地區的房價中位數

過程

先導入了Pandas,這是一個常見的Python數據處理函數庫

Pandasread_csv函數把網上一個共享數據集(csv文件)讀入DataFrame數據結構df_housing

這個文件是加州某個時期的房價數據集

DataFrame數據結構的head方法顯示數據集中的部分信息

import pandas as pd
df_housing = pd.read_csv("https://raw.githubusercontent.com/huangjia2019/house/master/house.csv")
df_housing.head()

結果如下在這里插入圖片描述

在這里插入圖片描述

然后構建特征集x和特征集y

x = df_housing.drop("median_house_value",axis=1) #構建特征集x
y = df_housing.median_house_value #構建特征集y

現在把數據集一分為二,80%用于機器訓練(訓練數據集),剩下的留著做測試(測試數據集)

from sklearn.model_selection import train_test_split #導入sklearn工具庫
x_train,x_test,y_train,y_test = train_test_split(x,y,test_size=0.2,random_state=0) #以80%/20%的比例進行數據集的拆分

接下來開始訓練機器,首先選擇模型的類型,也就是算法

然后通過其中的fit方法來訓練機器,進行函數的擬合

擬合意味著找到最優的函數去模擬訓練集中的輸入(特征)和目標(標簽)的關系,這是確定模型的參數

from sklearn.linear_model import LinearRegression #導入線性回歸算法模型
model = LinearRegression() #確定線性回歸算法
model.fit(x_train,y_train) #根據訓練集數據,訓練機器,擬合函數
y_pred = model.predict(x_test) #預測驗證集的y值
print('房價的真值(測試集)',y_test)
print('預測的真值(測試集)',y_pred)

顯示預測可以多少評分

print('給預測評分',model.score(x_test,y_test)) #評估預測分數

也可以畫出來

import matplotlib.pyplot as plt
#用散點圖顯示家庭收入中位數和房價中位數的分布
plt.scatter(x_test.median_income,y_test,color='brown')
#畫出回歸函數(從特征到預測標簽)
plt.plot(x_test.median_income,y_pred,color='blue',linewidth=2)
plt.xlabel('median Income')
plt.ylabel('median House Value')
plt.show()

在這里插入圖片描述

可以看出各個地區的平均房價中位數有隨該地區家庭收入中位數的上升而增加的趨勢,而機器學習到的函數也同意體現了著一點

后記

學習產出記錄

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

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

相關文章

【第十六屆 藍橋杯 省 C/Python A/Java C 登山】題解

題目鏈接:P12169 [藍橋杯 2025 省 C/Python A/Java C] 登山 思路來源 一開始想的其實是記搜,但是發現還有先找更小的再找更大的這種路徑,所以這樣可能錯過某些最優決策,這樣不行。 于是我又想能不能從最大值出發往回搜&#xf…

軟件工程師中級考試-上午知識點總結(上)

我總結的這些都是每年的考點,必須要記下來的。 1. 計算機系統基礎 1.1 碼 符號位0表示正數,符號位1表示負數。補碼:簡化運算部件的設計,最適合進行數字加減運算。移碼:與前幾種不同,1表示,0表…

Python Cookbook-6.7 有命名子項的元組

任務 Python 元組可以很方便地被用來將信息分組,但是訪問每個子項都需要使用數字索引,所以這種用法有點不便。你希望能夠創建一種可以通過名字屬性訪問的元組。 解決方案 工廠函數是生成符合要求的元組的子類的最簡單方法: #若在2.4中可使用operator…

win10設置軟件開機自啟

參考教程:windows10應用程序設置了開機啟動,但沒有自啟_win10軟件設置了自啟動但是不能自啟動-CSDN博客 主要設置是安全策略:

自注意力機制、多頭自注意力機制、填充掩碼 Python實現

原理講解 【Transformer系列(2)】注意力機制、自注意力機制、多頭注意力機制、通道注意力機制、空間注意力機制超詳細講解 自注意力機制 import torch import torch.nn as nn# 自注意力機制 class SelfAttention(nn.Module):def __init__(self, input…

【大模型】Browser-Use AI驅動的瀏覽器自動化工具

Browser-Use AI驅動的瀏覽器自動化工具 1. 項目概述2. 核心架構3. 實戰指南3.1 環境安裝3.2 快速啟動3.3 進階功能 4. 常見問題與解決5. 項目優勢與局限6. 擴展資源7. 總結 1. 項目概述 項目地址:browser-use Browser-Use 是一個開源工具,旨在通過 AI 代…

ubuntu20.04安裝安裝x11vnc服務基于gdm3或lightdm這兩種主流的顯示管理器。

前言:在服務端安裝vnc服務,可以方便的遠程操作服務器,而不用非要插上顯示器才行。所以在服務器上安裝vnc是很重要的。在ubuntu20中,默認的顯示管理器已經變為gdm3,它可以帶來與 GNOME 無縫銜接的體驗,強調功…

用銀河麒麟 LiveCD 快速查看原系統 IP 和打印機配置

原文鏈接:用銀河麒麟 LiveCD 快速查看原系統 IP 和打印機配置 Hello,大家好啊!今天給大家帶來一篇在銀河麒麟操作系統的 LiveCD 或系統試用鏡像環境下,如何查看原系統中電腦的 IP 地址與網絡打印機 IP 地址的實用教程。在系統損壞…

C++——STL——容器deque(簡單介紹),適配器——stack,queue,priority_queue

目錄 1.deque(簡單介紹) 1.1 deque介紹: 1.2 deque迭代器底層 1.2.1 那么比如說用迭代器實現元素的遍歷,是如何實現的呢? 1.2.2 頭插 1.2.3 尾插 1.2.4 實現 ?編輯 1.2.5 總結 2.stack 2.1 函數介紹 2.2 模…

Java并發編程-線程池

Java并發編程-線程池 線程池運行原理線程池生命周期線程池的核心參數線程池的阻塞隊列線程池的拒絕策略線程池的種類newFixedThreadPoolnewSingleThreadExecutornewCachedThreadPoolnewScheduledThreadPool 創建線程池jdk的Executors(不建議,會導致OOM)jdk的ThreadP…

【前沿】成像“跨界”測量——掃焦光場成像

01 背景 眼睛是人類認識世界的重要“窗口”,而相機作為眼睛的“延伸”,已經成為生產生活中最常見的工具之一,廣泛應用于工業檢測、醫療診斷與影音娛樂等領域。傳統相機通常以“所見即所得”的方式記錄場景,傳感器捕捉到的二維圖像…

TM1640學習手冊及示例代碼

數據手冊 TM1640數據手冊 數據手冊解讀 這里我們看管腳定義DIN和SCLK,一個數據線一個時鐘線 SEG1~SEG8為段碼,GRID1~GRID16為位碼(共陰極情況下) 這里VDD給5V 數據指令 數據命令設置 地址命令設置 顯示控制命令 共陰極硬件連接圖…

uni-app 開發企業級小程序課程

課程大小:7.7G 課程下載:https://download.csdn.net/download/m0_66047725/90616393 更多資源下載:關注我 備注:缺少兩個視頻5-14 tabs組件進行基本的數據展示和搜索歷史 處理searchData的刪除操作 1-1導學.mp4 2-10小程序內…

判斷點是否在多邊形內

代碼段解析: const intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); 第一部分:(yi > y) !== (yj > y) 作用:檢查點 (x,y) 的垂直位置是否跨越多邊形的當前邊。 yi > y 和 yj > y 分別檢查邊的兩個端…

【redis】集群 如何搭建集群詳解

文章目錄 集群搭建1. 創建目錄和配置2. 編寫 docker-compose.yml完整配置文件 3. 啟動容器4. 構建集群超時 集群搭建 基于 docker 在我們云服務器上搭建出一個 redis 集群出來 當前節點&#xff0c;主要是因為我們只有一個云服務器&#xff0c;搞分布式系統&#xff0c;就比較…

[langchain教程]langchain03——用langchain構建RAG應用

RAG RAG過程 離線過程&#xff1a; 加載文檔將文檔按一定條件切割成片段將切割的文本片段轉為向量&#xff0c;存入檢索引擎&#xff08;向量庫&#xff09; 在線過程&#xff1a; 用戶輸入Query&#xff0c;將Query轉為向量從向量庫檢索&#xff0c;獲得相似度TopN信息將…

C語言復習筆記--字符函數和字符串函數(下)

在上篇我們了解了部分字符函數及字符串函數,下面我們來看剩下的字符串函數. strstr 的使用和模擬實現 老規矩,我們先了解一下strstr這個函數,下面看下這個函數的函數原型. char * strstr ( const char * str1, const char * str2); 如果沒找到就返回NULL指針. 下面我們看下它的…

FreeRTOS中的優先級翻轉問題及其解決方案:互斥信號量詳解

FreeRTOS中的優先級翻轉問題及其解決方案&#xff1a;互斥信號量詳解 在實時操作系統中&#xff0c;任務調度是基于優先級的&#xff0c;高優先級任務應該優先于低優先級任務執行。但在實際應用中&#xff0c;有時會出現"優先級翻轉"的現象&#xff0c;嚴重影響系統…

深度學習-全連接神經網絡

四、參數初始化 神經網絡的參數初始化是訓練深度學習模型的關鍵步驟之一。初始化參數&#xff08;通常是權重和偏置&#xff09;會對模型的訓練速度、收斂性以及最終的性能產生重要影響。下面是關于神經網絡參數初始化的一些常見方法及其相關知識點。 官方文檔參考&#xff1…

GIS開發筆記(9)結合osg及osgEarth實現三維球經緯網格繪制及顯隱

一、實現效果 二、實現原理 按照5的間隔分別創建經緯線的節點,掛在到組合節點,組合節點掛接到根節點。可以根據需要設置間隔度數和線寬、線的顏色。 三、參考代碼 //創建經緯線的節點 osg::Node *GlobeWidget::createGraticuleGeometry(float interval, const osg::Vec4 …