機器學習例題——預測facebook簽到位置(K近鄰算法)和葡萄酒質量預測(線性回歸)

一、預測facebook簽到位置

代碼展示:

import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import cross_val_score
from sklearn.metrics import accuracy_score# 1.獲取數據集
df = pd.read_csv("./data/train.csv", encoding="utf-8")
print(df.shape)
# 2.基本數據處理
# 2.1 縮?數據范圍
df_data = df.query('(x >= 2) & (x <= 3) & (y >= 2) & (y <= 3)').copy()
print(df_data.shape)
# 2.2 選擇時間特征
# 假設這里我們提取時間特征中的小時部分作為新特征
df_data['hour'] = pd.to_datetime(df_data['time'], unit='s').dt.hour
print(df_data.hour)# 2.3 去掉簽到較少的地?
# 假設我們去掉簽到次數小于10次的地方
place_counts = df_data['place_id'].value_counts()
less_visited_places = place_counts[place_counts < 10].index
df_data = df_data[~df_data['place_id'].isin(less_visited_places)]
print(df_data.shape)# 2.4 確定特征值和?標值
# 選擇x, y, hour作為特征值,place_id作為目標值
X = df_data[['x', 'y', 'hour']]
y = df_data['place_id']# 2.5 分割數據集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)# 3.特征工程 -- 特征預處理(標準化)
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)# 4.機器學習 -- knn+cv
# 假設我們使用KNN算法,K值設為5
knn = KNeighborsClassifier(n_neighbors=5)
# 使用交叉驗證評估模型
cv_scores = cross_val_score(knn, X_train, y_train, cv=5)
print("交叉驗證得分:", cv_scores)
print("平均交叉驗證得分:", cv_scores.mean())# 在訓練集上訓練模型
knn.fit(X_train, y_train)# 5.模型評估
y_pred = knn.predict(X_test)
test_accuracy = accuracy_score(y_test, y_pred)
print("測試集上的準確率:", test_accuracy)

結果展示:?

交叉驗證得分: [0.38221957 0.38024076 0.38277611 0.37953993 0.38213712]
平均交叉驗證得分: 0.3813826936554397
測試集上的準確率: 0.38908035552330855

?二、葡萄酒質量預測

from sklearn.datasets import load_wine
from sklearn.linear_model import LinearRegression, SGDRegressor
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import mean_squared_error
import joblib# 1.獲取數據集
df = load_wine()
# 2.基本數據處理
x_train, x_test, y_train, y_test = train_test_split(df.data, df.target, test_size=0.2, random_state=20)
# 3.特征工程
transfer = StandardScaler()
x_train = transfer.fit_transform(x_train)
x_test = transfer.transform(x_test)# 4.機器學習 - 正規方程
lr = LinearRegression()
lr.fit(x_train, y_train)joblib.dump(lr,"./test.pkl")lr = joblib.load("./test.pkl")# 5.模型預測與評估 - 正規方程
lr_predict = lr.predict(x_test)
lr_mse = mean_squared_error(y_test, lr_predict)
print("正規方程的均方誤差:", lr_mse)# 4.機器學習 - 梯度下降法
sgd = SGDRegressor()
sgd.fit(x_train, y_train)# 5.模型預測與評估 - 梯度下降法
sgd_predict = sgd.predict(x_test)
sgd_mse = mean_squared_error(y_test, sgd_predict)
print("梯度下降法的均方誤差:", sgd_mse)

結果展示:

正規方程的均方誤差: 0.06709703764885735
梯度下降法的均方誤差: 0.06637844373293354

?

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

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

相關文章

對ubuntu的簡單介紹

目錄 1. 簡介 2. 核心特點 3. 系統架構與技術亮點 4. 適用場景 5. 優缺點分析 6. 安裝與配置建議 7. 未來發展方向 總結 1. 簡介 Ubuntu 是基于 Debian 的開源 Linux 操作系統&#xff0c;由 Canonical 公司&#xff08;創始人 Mark Shuttleworth&#xff09;提供商業支…

多商戶電商系統整套源碼開源,支持二次開發,構建多店鋪高效聯動運營方案

在數字化浪潮席卷全球的今天&#xff0c;電商行業競爭愈發激烈&#xff0c;多商戶電商平臺憑借其獨特的生態優勢&#xff0c;成為眾多企業和創業者的熱門選擇。一套優質的多商戶電商系統不僅能為商家提供穩定的銷售渠道&#xff0c;還能為平臺運營者創造巨大的商業價值。分享一…

Qwen3與Deepseek R1對比(截止20250506)

Qwen3和DeepSeek R1都是在AI領域內備受關注的大規模語言模型。根據最近的評測和報道&#xff0c;以下是Qwen3與DeepSeek R1的一些對比要點&#xff1a; 全面性能&#xff1a; Qwen3被描述為在數學、推理、代碼等核心能力上全面超越了DeepSeek R1。特別是在編程能力方面&#x…

Linux56 YUM源配置

epel未啟動 顯示系統未通過注冊 配置YUM倉庫 本地YUM倉庫 1.備份 tar -zcf repo.tar.gz *.repo 2.掛載 mount -o ro /dev/sr0 /mnt 3.開機自啟 chmod x /etc/rc.local echo ‘mount -o ro /dec/sr0 /mnt’ /etc/rc.local 4.編寫本地YUM倉庫 local.repo [local] namelocal yum …

二叉樹—中序遍歷—非遞歸

初始狀態 假設當前從根節點 b 開始&#xff0c;此時棧為空 。 第一步&#xff1a;處理根節點 b 的左子樹 調用 goAlongLeftBranch 函數&#xff0c;從節點 b 開始&#xff0c;因為 b 有左子樹&#xff08;節點 a &#xff09;&#xff0c;將 b 入棧&#xff0c;此時棧&#…

R 語言科研繪圖第 45 期 --- 桑基圖-和弦

在發表科研論文的過程中&#xff0c;科研繪圖是必不可少的&#xff0c;一張好看的圖形會是文章很大的加分項。 為了便于使用&#xff0c;本系列文章介紹的所有繪圖都已收錄到了 sciRplot 項目中&#xff0c;獲取方式: R 語言科研繪圖模板 --- sciRplothttps://mp.weixin.qq.c…

ARM 流控制指令

計算機按照嚴格的順序執行指令。流控制改變了默認的順序執行方式。前面已 經介紹了強制跳轉到程序中某個非順序位置的無條件分支。以及依據測試結果 進行跳轉的條件分支。這里將介紹子程序調用和返回指令&#xff0c;它們會跳轉到一個 指令塊、執行這些指令&#xff0c;然后返回…

PDF內容搜索--支持跨文件夾多文件、組合詞搜索

平時我們接觸到的PDF文檔特別多&#xff0c;需要對PDF文檔做一些處理&#xff0c;那么今天給大家帶來的這兩個軟件非常的棒&#xff0c;可以幫你提升處理文檔的效率。 PDF內容搜索 快速檢索 我用夸克網盤分享了「PDF搜索PDF 轉長圖.zip」&#xff0c;點擊鏈接即可保存。打開「…

個人Unity自用面經(未完)

目錄標題 1.在 2D 平臺跳躍游戲項目中&#xff0c;你使用了對象池來生成和回收怪物包含陣亡的動畫預制件。在對象池回收對象時&#xff0c;如何確保動畫狀態被正確重置&#xff0c;避免下次使用時出現異常&#xff1f;2.在僵尸吃腦子模擬項目中&#xff0c;你創建了繼承于IAspe…

【計網】ICMP、IP、Ethernet PDU之間的封裝關系

TCP/IP體系結構 應用層RIP、OSPF、FTP運輸層TCP、UDP網際層IP、ARP、ICMP網絡接口層底層協議&#xff08;Ethernet&#xff09; 數據鏈路層 Ethernet報文格式 6Byte6Byte2Byte46~1500Byte4Byte目的MAC地址源MAC地址類型/長度數據FCS 其中&#xff0c;類型 / 長度值小于 1536…

前端取經路——入門取經:初出師門的九個CSS修行

大家好&#xff0c;我是老十三&#xff0c;一名前端開發工程師。CSS就像前端修行路上的第一道關卡&#xff0c;看似簡單&#xff0c;實則暗藏玄機。在今天的文章中&#xff0c;我將帶你一起應對九大CSS難題&#xff0c;從Flexbox布局到響應式設計&#xff0c;從選擇器優先級到B…

n8n工作流自動化平臺的實操:Cannot find module ‘iconv-lite‘

解決問題&#xff1a; 1.在可視化界面&#xff0c;執行const iconv require(iconv-lite);&#xff0c;報Cannot find module iconv-lite [line 2]錯誤&#xff1b; 查看module的路徑 進入docker容器 #docker exec -it n8n /bin/sh 構建一個test.js,并寫入如何代碼 vi tes…

如何在 PowerEdge 服務器上設置 NIC 分組

以下文章提供了有關 Windows、VMware 和 Linux 中的 NIC 分組的信息。 什么是網絡適配器分組&#xff1f;設置 NIC 分組 Windows設置 NIC 分組 VMware設置 NIC 分組 Linux 什么是網絡適配器分組&#xff08;綁定&#xff09;&#xff1f; 網絡適配器分組是一個術語&#xff0…

【Java ee初階】多線程(5)

一、wait 和 notify wait notify 是兩個用來協調線程執行順序的關鍵字&#xff0c;用來避免“線程餓死”的情況。 wait 和 notify 其實都是 Object 這個類的方法&#xff0c;而 Object這個類是所有類的“祖宗類”&#xff0c;也就是說明&#xff0c;任何一個類&#xff0c;都…

基于k8s的Jenkins CI/CD平臺部署實踐(二):流水線構建與自動部署全流程

基于k8s的Jenkins CI/CD平臺部署實踐&#xff08;二&#xff09;&#xff1a;流水線構建與自動部署全流程 文章目錄 基于k8s的Jenkins CI/CD平臺部署實踐&#xff08;二&#xff09;&#xff1a;流水線構建與自動部署全流程一、Jenkins簡介二、系統架構與環境說明1. 系統架構2.…

《Windows 環境下 Qt C++ 項目升級 GCC 版本的完整指南》

Windows 環境下 Qt C++ 項目升級 GCC 版本的完整指南 在 Windows 系統中升級 Qt C++ 項目的 GCC 版本需要同時考慮 Qt 工具鏈、MinGW 環境以及項目配置的調整。以下是詳細的升級步驟和注意事項: 一、升級前的準備工作 1. 確認當前環境 檢查 Qt 版本(建議使用 Qt 5.15+ 以獲…

【coze】故事卡片(圖片、音頻、文字)

【coze】故事卡片&#xff08;圖片、音頻、文字&#xff09; 1、創建智能體2、添加人設與回復邏輯3、添加工作流&#xff08;1&#xff09;創建工作流&#xff08;2&#xff09;添加大模型節點&#xff08;3&#xff09;添加提示詞優化節點&#xff08;4&#xff09;添加豆包圖…

Maven 依賴發布與倉庫治理

&#x1f9d1; 博主簡介&#xff1a;CSDN博客專家&#xff0c;歷代文學網&#xff08;PC端可以訪問&#xff1a;https://literature.sinhy.com/#/?__c1000&#xff0c;移動端可微信小程序搜索“歷代文學”&#xff09;總架構師&#xff0c;15年工作經驗&#xff0c;精通Java編…

虛擬現實視頻播放器 2.6.1 | 支持多種VR格式,提供沉浸式觀看體驗的媒體播放器

虛擬現實媒體播放器是一款專為在智能手機上播放VR&#xff08;虛擬現實&#xff09;照片和視頻而設計的應用程序。它支持多種格式的影像內容&#xff0c;包括360和180等距矩形柱面、標準鏡頭和魚眼鏡頭拍攝的照片和視頻&#xff0c;并且兼容3D立體并排、上/下以及收縮媒體格式。…

ts axios中報 Property ‘code‘ does not exist on type ‘AxiosResponse<any, any>‘

ts語法有嚴格的格式&#xff0c;如果我們在處理響應數據時&#xff0c;出現了axios響應中非默認字段&#xff0c;就會出現標題那樣的警告&#xff0c;我們可以通過創建axios.dt.ts解決這個問題 下面是我在開發中遇到的警告&#xff0c;code并不是axios默認返回的字段&#xff0…