【sklearn(01)】數據集加載、劃分,csv文件創建,特征工程,無量綱化

目錄

  • sklearn數據集
    • 玩具數據集
    • 現實世界數據集
    • 加載玩具數據集
    • 獲取現實世界數據集
  • 本地csv數據
    • 創建csv文件
    • pandas加載csv
  • 數據集劃分
  • 特征工程
    • 步驟
    • 特征工程API
    • DictVectorizer 字典列表特征提取
      • API
    • CountVectorizer 文本特征提取
      • API
      • 英文文本提取
      • 中文文本提取
    • TfidfVectorizer TF-IDF文本特征詞的重要程度特征提取
      • 算法
      • API
      • 示例
  • 無量綱化-預處理
    • MinMaxScaler 歸一化
    • normalize歸一化
    • StandardScaler 標準化
    • 注意點

sklearn數據集

玩具數據集

數據量小,數據在sklearn庫的本地,只要安裝了sklearn,不用上網就可以獲取
在這里插入圖片描述

現實世界數據集

數據量大,數據只能通過網絡獲取
在這里插入圖片描述

加載玩具數據集

示例:鳶尾花數據

from sklearn.datasets import load_iris
iris = load_iris()	#鳶尾花數據	#返回一個Bunch對象

iris字典中有幾個重要屬性:

# data 特征
# feature_names 特征描述
# target  目標
# target_names  目標描述
# DESCR 數據集的描述
# filename 下后到本地保存后的文件名

鳶尾花數據集介紹

特征有:

? 花萼長 sepal length

? 花萼寬sepal width

? 花瓣長 petal length

? 花瓣寬 petal width

三分類:

? 0-Setosa山鳶尾

? 1-versicolor變色鳶尾

? 2-Virginica維吉尼亞鳶尾
在這里插入圖片描述

獲取現實世界數據集

(1)所有現實世界數據,通過網絡才能下載后,默認保存的目錄可以使用下面api獲取。實際上就是保存到home目錄

from sklearn import datasets
datasets.get_data_home()  #查看數據集默認存放的位置

(2)下載時,有可能回為網絡問題而出問題,要“小心”的解決網絡問題,不可言……

(3)第一次下載會保存的硬盤中,如果第二次下載,因為硬盤中已經保存有了,所以不會再次下載就直接加載成功了。

示例:獲取20分類新聞數據

(1)使用函數: sklearn.datasets.fetch_20newsgroups(data_home,subset)

(2)函數參數說明:

  • data_home
None這是默認值,下載的文件路徑為 “C:/Users/ADMIN/scikit_learn_data/20news-bydate_py3.pkz”
自定義路徑例如 “./src”, 下載的文件路徑為“./20news-bydate_py3.pkz”
  • subset
“train”,只下載訓練集
“test”,只下載測試集
“all”, 下載的數據包含了訓練集和測試集
  • return_X_y,決定著返回值的情況
False,這是默認值
True,

函數返值說明:

當參數return_X_y值為False時, 函數返回Bunch對象,Bunch對象中有以下屬性*data:特征數據集, 長度為18846的列表list, 每一個元素就是一篇新聞內容, 共有18846篇*target:目標數據集,長度為18846的數組ndarray, 第一個元素是一個整數,整數值為[0,20)*target_names:目標描述,長度為20的list*filenames:長度為18846的ndarray, 元素為字符串,代表新聞的數據位置的路徑當參數return_X_y值為True時,函數返回值為元組,元組長度為2, 第一個元素值為特征數據集,第二個元素值為目標數據集
  • 代碼
from sklearn.datasets import fetch_20newsgroups #這是一個20分類的數據
news = fetch_20newsgroups(data_home=None,subset='all')
print(len(news.data)) #18846
print(news.target.shape) #(18846,)
print(len(news.target_names)) #20
print(len(news.filenames)) #18846

本地csv數據

創建csv文件

  • 方式1:打開計事本,寫出如下數據,數據之間使用英文下的逗號, 保存文件后把后綴名改為csv

csv文件可以使用excel打開

, milage,Liters,Consumtime,target
40920,8.326976,0.953952,3
14488,7.153469,1.673904,2
26052,1.441871,0.805124,1
75136,13.147394,0.428964,1
  • 方式2:創建excel 文件, 填寫數據,以csv為后綴保存文件
    在這里插入圖片描述

pandas加載csv

使用pandas的read_csv(“文件路徑”)函數可以加載csv文件,得到的結果為數據的DataFrame形式

pd.read_csv("./src/ss.csv")

數據集劃分

**sklearn.model_selection.train_test_split(*arrays,options)

參數
(1) *array 這里用于接收1到多個"列表、numpy數組、稀疏矩陣或padas中的DataFrame"。	
(2) **options, 重要的關鍵字參數有:test_size 值為0.0到1.0的小數,表示劃分后測試集占的比例random_state 值為任意整數,表示隨機種子,使用相同的隨機種子對相同的數據集多次劃分結果是相同的。否則多半不同strxxxx 分層劃分,填y
2 返回值說明返回值為列表list, 列表長度與形參array接收到的參數數量相關聯, 形參array接收到的是什么類型,list中對應被劃分出來的兩部分就是什么類型

特征工程

特征工程是將任意數據(如文本或圖像)轉換為可用于機器學習的數字特征,比如:字典特征提取(特征離散化)、文本特征提取、圖像特征提取。

步驟

  • 特征提取, 如果不是像dataframe那樣的數據,要進行特征提取,比如字典特征提取,文本特征提取

  • 無量綱化(預處理)

    • 歸一化
    • 標準化
  • 降維

    • 底方差過濾特征選擇

    • 主成分分析-PCA降維

特征工程API

  • 實例化轉換器對象,轉換器類有很多,都是Transformer的子類, 常用的子類有:
DictVectorizer  	字典特征提取
CountVectorizer 	文本特征提取
TfidfVectorizer 	TF-IDF文本特征詞的重要程度特征提取 
MinMaxScaler 		歸一化
StandardScaler 		標準化
VarianceThreshold 	底方差過濾降維
PCA  				主成分分析降維
  • 轉換器對象調用fit_transform()進行轉換, 其中fit用于計算數據,transform進行最終轉換

fit_transform()可以使用fit()和transform()代替

data_new = transfer.fit_transform(data)
可寫成
transfer.fit(data)
data_new = transfer.transform(data)

DictVectorizer 字典列表特征提取

稀疏矩陣

稀疏矩陣是指一個矩陣中大部分元素為零,只有少數元素是非零的矩陣。
由于稀疏矩陣中零元素非常多,存儲和處理稀疏矩陣時,通常會采用特殊的存儲格式,以節省內存空間并提高計算效率。
三元組表 (Coordinate List, COO):三元組表就是一種稀疏矩陣類型數據,存儲非零元素的行索引、列索引和值:

(行,列) 數據

(0,0) 10

(0,1) 20

(2,0) 90

(2,20) 8

(8,0) 70

表示除了列出的有值, 其余全是0
非稀疏矩陣(稠密矩陣)

非稀疏矩陣,或稱稠密矩陣,是指矩陣中非零元素的數量與總元素數量相比接近或相等,也就是說矩陣中的大部分元素都是非零的。在這種情況下,矩陣的存儲通常采用標準的二維數組形式,因為非零元素密集分布,不需要特殊的壓縮或優化存儲策略。

API

  • 創建轉換器對象:

    sklearn.feature_extraction.DictVectorizer(sparse=True)

    參數:

    sparse=True返回類型為csr_matrix的稀疏矩陣

    sparse=False表示返回的是數組,數組可以調用.toarray()方法將稀疏矩陣轉換為數組

  • 轉換器對象:

    轉換器對象調用fit_transform(data)函數,參數data為一維字典數組或一維字典列表,返回轉化后的矩陣或數組

    轉換器對象get_feature_names_out()方法獲取特征名

CountVectorizer 文本特征提取

API

sklearn.feature_extraction.text.CountVectorizer

? 構造函數關鍵字參數stop_words,值為list,表示詞的黑名單(不提取的詞)

fit_transform函數的返回值為稀疏矩陣

英文文本提取

from sklearn.feature_extraction.text import CountVectorizer
import pandas as pddata=["stu is well, stu is great", "You like stu"]#創建轉換器對象, you和is不提取
transfer = CountVectorizer(stop_words=["you","is"])#進行提取,得到稀疏矩陣
data_new = transfer.fit_transform(data)
print(data_new)import pandas
pandas.DataFrame(data_new.toarray(), index=["第一個句子","第二個句子"],columns=transfer.get_feature_names_out())

中文文本提取

a.中文文本不像英文文本,中文文本文字之間沒有空格,所以要先分詞,一般使用jieba分詞.

b.下載jieba組件, (不要使用conda)
在這里插入圖片描述
c.jieba的基礎

import jieba
from sklearn.feature_extraction.text import CountVectorizerdef cut(text):return " ".join(list(jieba.cut(text)))data = ["教育學會會長期間堅定支持民辦教育事業!","熱忱關心、扶持民辦學校發展","事業做出重大貢獻!"]
data_new = [cut(v) for v in data]transfer = CountVectorizer(stop_words=['期間', '做出']) 
data_final = transfer.fit_transform(data_new)print(data_final.toarray())#把非稀疏矩陣轉變為稀疏矩陣
print(transfer.get_feature_names_out())#import pandas as pd
pd.DataFrame(data_final.toarray(), columns=transfer.get_feature_names_out())

在這里插入圖片描述

TfidfVectorizer TF-IDF文本特征詞的重要程度特征提取

算法

詞頻(Term Frequency, TF), 表示一個詞在當前篇文章中的重要性

逆文檔頻率(Inverse Document Frequency, IDF), 反映了詞在整個文檔集合中的稀有程度
在這里插入圖片描述

API

sklearn.feature_extraction.text.TfidfVectorizer(stop_words=[])

? 構造函數關鍵字參數stop_words,表示詞特征黑名單

fit_transform函數的返回值為稀疏矩陣

示例

代碼與CountVectorizer的示例基本相同,僅僅把CountVectorizer改為TfidfVectorizer即可

示例中data是一個字符串list, list中的第一個元素就代表一篇文章.

import jieba
import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizerdef cut_words(text):return " ".join(list(jieba.cut(text)))data = ["教育學會會長期間,堅定支持民辦教育事業!",  "扶持民辦,學校發展事業","事業做出重大貢獻!"]
data_new = [cut_words(v) for v in data]transfer = TfidfVectorizer(stop_words=['期間', '做出',"重大貢獻"]) 
data_final = transfer.fit_transform(data_new)pd.DataFrame(data_final.toarray(),columns=transfer.get_feature_names_out())

在這里插入圖片描述
在這里插入圖片描述
補充:在sklearn庫中 TF-IDF算法做了一些細節的優化

詞頻 (TF)

詞頻是指一個詞在文檔中出現的頻率。通常有兩種計算方法:

  1. 原始詞頻:一個詞在文檔中出現的次數除以文檔中總的詞數。
  2. 平滑后的詞頻:為了防止高頻詞主導向量空間,有時會對詞頻進行平滑處理,例如使用 1 + log(TF)
  3. 在 TfidfVectorizer 中,TF 默認是:直接使用一個詞在文檔中出現的次數也就是CountVectorizer的結果

逆文檔頻率 (IDF)

逆文檔頻率衡量一個詞的普遍重要性。如果一個詞在許多文檔中都出現,那么它的重要性就會降低。

IDF 的計算公式是:

IDF(t)=log??(總文檔數包含詞t的文檔數+1)IDF(t)=\log?(\dfrac{總文檔數}{包含詞t的文檔數+1})IDF(t)=log?(包含詞t的文檔數+1總文檔數?)

在 TfidfVectorizer 中,IDF 的默認計算公式是:

IDF(t)=log??(總文檔數+1包含詞t的文檔數+1)+1IDF(t)=\log?(\dfrac{總文檔數+1}{包含詞t的文檔數+1})+1IDF(t)=log?(包含詞t的文檔數+1總文檔數+1?)+1

在 TfidfVectorizer 中還會進行歸一化處理(采用的L2歸一化)

L2歸一化

x1歸一化后的數據=x1x12+x22+...xn2x_1歸一化后的數據=\dfrac{x_1}{\sqrt{x_1^2+x_2^2+...x_n^2}}x1?歸一化后的數據=x12?+x22?+...xn2??x1??

x可以選擇是行或者列的數據

無量綱化-預處理

無量綱,即沒有單位的數據

無量綱化包括"歸一化"和"標準化", 為什么要進行無量綱化呢?

這是一個男士的數據表:

編號id身高 h收入 s體重 w
11.75(米)15000(元)120(斤)
21.5(米)16000(元)140(斤)
31.6(米)20000(元)100(斤)

假設算法中需要求它們之間的歐式距離, 這里以編號1和編號2為示例:

L=(1.75?1.5)2+(15000?16000)2+(120?140)2L = \sqrt{(1.75-1.5)^2+(15000-16000)^2+(120-140)^2}L=(1.75?1.5)2+(15000?16000)2+(120?140)2?

從計算上來看, 發現身高對計算結果沒有什么影響, 基本主要由收入來決定了,但是現實生活中,身高是比較重要的判斷標準. 所以需要無量綱化.

MinMaxScaler 歸一化

通過對原始數據進行變換把數據映射到指定區間(默認為0-1)

sklearn.preprocessing.MinMaxScaler(feature_range)

參數:feature_range=(0,1) 歸一化后的值域,可以自己設定

fit_transform函數歸一化的原始數據類型可以是list、DataFrame和ndarray, 不可以是稀疏矩陣

fit_transform函數的返回值為ndarray
在這里插入圖片描述
這里的 𝑥min 和 𝑥max 分別是每種特征中的最小值和最大值,而 𝑥是當前特征值,𝑥scaled 是歸一化后的特征值。

若要縮放到其他區間,可以使用公式:x=x*(max-min)+min;

比如 [-1, 1]的公式為:在這里插入圖片描述
在這里插入圖片描述

normalize歸一化

from sklearn.preprocessing import normalize
normalize(data, norm=‘l2’, axis=1)
#data是要歸一化的數據
#norm是使用那種歸一化:“l1” “l2” "max
#axis=0是列 axis=1是行

  • <1> L1歸一化
    絕對值相加作為分母,特征值作為分子
  • L2歸一化
    平方相加作為分母,特征值作為分子
  • <3> max歸一化
    max作為分母,特征值作為分子

StandardScaler 標準化

標準化是一種數據預處理技術,也稱為數據歸一化或特征縮放。它的目的是將不同特征的數值范圍縮放到統一的標準范圍,以便更好地適應一些機器學習算法,特別是那些對輸入數據的尺度敏感的算法。

sklearn.preprocessing.StandardScale

與MinMaxScaler一樣,原始數據類型可以是list、DataFrame和ndarray

fit_transform函數的返回值為ndarray, 歸一化后得到的數據類型都是ndarray

from sklearn.preprocessing import StandardScaler
#不能加參數feature_range=(0, 1)
transfer = StandardScaler()
data_new = transfer.fit_transform(data) #data_new的類型為ndarray

最常見的標準化方法是Z-score標準化,也稱為零均值標準化。它通過對每個特征的值減去其均值,再除以其標準差,將數據轉換為均值為0,標準差為1的分布。這可以通過以下公式計算:在這里插入圖片描述
其中,z是轉換后的數值,x是原始數據的值,μ是該特征的均值,σ是該特征的 標準差

注意點

在數據預處理中,特別是使用如StandardScaler這樣的數據轉換器時,fitfit_transformtransform這三個方法的使用是至關重要的,它們各自有不同的作用:

  1. fit:
    • 這個方法用來計算數據的統計信息,比如均值和標準差(在StandardScaler的情況下)。這些統計信息隨后會被用于數據的標準化。
    • 你應當僅在訓練集上使用fit方法。
  2. fit_transform:
    • 這個方法相當于先調用fit再調用transform,但是它在內部執行得更高效。
    • 它同樣應當僅在訓練集上使用,它會計算訓練集的統計信息并立即應用到該訓練集上。
  3. transform:
    • 這個方法使用已經通過fit方法計算出的統計信息來轉換數據。
    • 它可以應用于任何數據集,包括訓練集、驗證集或測試集,但是應用時使用的統計信息必須來自于訓練集。

當你在預處理數據時,首先需要在訓練集X_train上使用fit_transform,這樣做可以一次性完成統計信息的計算和數據的標準化。這是因為我們需要確保模型是基于訓練數據的統計信息進行學習的,而不是整個數據集的統計信息。

**一旦scaler對象在X_train上被fit,它就已經知道了如何將數據標準化。**這時,對于測試集X_test,我們只需要使用transform方法,因為我們不希望在測試集上重新計算任何統計信息,也不希望測試集的信息影響到訓練過程。如果我們對X_test也使用fit_transform,測試集的信息就可能會影響到訓練過程。

總結來說:我們常常是先fit_transform(x_train)然后再transform(x_text)

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

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

相關文章

docker desktop入門(docker桌面版)(提示wsl版本太低解決辦法)

參考文章&#xff1a;Docker Desktop Engine Stopped原因分析&#xff08;docker桌面停止&#xff09;WSL沒裝或沒更新 文章目錄Docker Desktop入門指南1. Docker Desktop簡介2. 安裝Docker Desktop2.1 系統要求2.2 下載和安裝3. 配置Docker Desktop修改默認存儲路徑4. 運行你的…

《n8n基礎教學》第三節:模擬一個自動化場景

1、模擬場景Nathan &#x1f64b;是 ABCorp 的分析經理&#xff0c;他的工作是支持 ABCorp 團隊的報告和分析。作為一個真正的多面手&#xff0c;他還負責處理一些雜項任務。Nathan 做的一些事情是重復且枯燥的。他希望自動化其中一些任務&#xff0c;以避免精疲力竭。作為一名…

CodeRush AI 助手進駐 Visual Studio:AiGen/AiFind 亮相(三)

CodeRush 是專為 Visual Studio 打造的高效開發插件&#xff0c;通過集成 AI 驅動功能&#xff08;如自然語言生成代碼的 AiGen 和智能搜索邏輯的 AiFind&#xff09;、語音交互及深度重構工具&#xff0c;直接在 IDE 內無縫完成代碼生成、修改與導航&#xff0c;消除窗口切換與…

如何從頭開始搭建屬于自己的家用nas實現內網穿透訪問

最近我在家部署了群暉NAS923&#xff0c;從而實現內網穿透&#xff0c;下面寫一個新手向教程&#xff1a; 一、硬件安裝與初始化設置 1. 硬盤安裝&#xff08;已完成可跳過&#xff09; 群暉 923 支持 4 塊 3.5 英寸硬盤&#xff0c;開箱后取出硬盤架&#xff0c;將硬盤&am…

mysql 之多表

mysql之多表已知2張基本表&#xff1a;部門表&#xff1a;dept &#xff08;部門號&#xff0c;部門名稱&#xff09;;員工表 emp&#xff08;員工號&#xff0c;員工姓名&#xff0c;年齡&#xff0c;入職時間&#xff0c;收入&#xff0c;部門號&#xff09;CREATE table dep…

【Django】-6- 登錄用戶身份鑒權

一、&#x1f6e1;? Django 鑒權 & 登錄控制 Django 自帶的鑒權系統&#xff08;用戶身份管理小管家&#xff09;鑒權系統能干啥&#xff1f;Django 自帶的鑒權系統&#xff0c;就像一個 “用戶身份管家” &#xff0c;幫你管好這些事兒&#xff1a;功能類比加密存儲用戶密…

winscp 連openwrt 返回127錯誤碼

winscp 連openwrt 24.10返回127錯誤碼。找了許多原因也沒搞清為啥&#xff08;客戶端加密方式、winscp版本過低等都試過&#xff09;&#xff0c;用SecureFx試了一下&#xff0c;發現是openwrt 24.10固件沒有安裝Sftp服器&#xff0c;用下列命令安裝即可。opkg install openssh…

Python編程基礎與實踐:Python文件處理入門

Python文件處理實戰 學習目標 通過本課程的學習&#xff0c;學員將掌握如何在Python中打開、讀取、寫入和關閉文件&#xff0c;了解文本文件和二進制文件的區別&#xff0c;以及在文件處理中的一些最佳實踐。 相關知識點 Python文件處理 學習內容 1 Python文件處理 1.1 文件的基…

Corrosion2靶機

打開靶機信息收集&#xff1a;kali里使用arp-scan -l或者netdiscover發現主機使用nmap掃描端口nmap -sS -sV -T4 -n -p- 192.168.31.20開啟了22、80、8080端口 8080發現開啟了tomcat服務掃出了他的ip以及他開放的端口&#xff0c;我們接下來拿瀏覽器訪問一下兩個頁面都沒有什么…

編程與數學 03-002 計算機網絡 18_物聯網與網絡

編程與數學 03-002 計算機網絡 18_物聯網與網絡一、物聯網的基本概念&#xff08;一&#xff09;物聯網的架構與層次&#xff08;二&#xff09;物聯網的關鍵技術二、物聯網網絡的構建&#xff08;一&#xff09;物聯網網絡的通信協議&#xff08;二&#xff09;物聯網網絡的拓…

【Kubernetes】ConfigMap配置管理:存儲配置參數,創建到容器掛載

在Kubernetes中&#xff0c;配置管理是應用部署的重要環節。ConfigMap作為存儲非敏感配置數據的資源對象&#xff0c;能幫助我們實現"配置與代碼分離"&#xff0c;讓應用部署更靈活。一、什么是ConfigMap&#xff1f; ConfigMap是Kubernetes中用于存儲非加密配置數據…

Promise和回調地獄

順序執行 vs. 異步操作&#xff1a; 當我們說“順序執行”&#xff0c;通常是指 操作按順序發生。而 異步操作 指的是操作在后臺執行&#xff0c;不會阻塞其他操作&#xff0c;通常會使用回調、Promise 或 async/await 來處理結果。 在 Promise 鏈式調用 的情況下&#xff0c;雖…

LeetCode 65:有效數字

LeetCode 65&#xff1a;有效數字問題本質與挑戰 需判斷字符串是否為有效數字&#xff0c;規則涉及整數、小數、指數&#xff08;e/E&#xff09;的復雜組合&#xff0c;如&#xff1a; 整數&#xff1a;123、-45、678小數&#xff1a;1.2、.3、4.、5.6指數&#xff1a;1e10、2…

數據結構之順序表應用與雙指針法

元素刪除通過元素移動的方式來模擬刪除操作&#xff1a;將指定下標后的所有元素依次向前移動一位&#xff0c;覆蓋要刪除的元素&#xff0c;從而達到 "刪除" 的效果。 通過自定義函數實現刪除功能&#xff0c;需要傳入數組、數組長度的指針&#xff08;因為要修改長度…

Python編程基礎與實踐:Python基礎數據類型入門

Python變量與數據類型實踐 學習目標 通過本課程的學習&#xff0c;學員可以掌握Python中變量的基本概念&#xff0c;了解并能夠使用Python的基本數據類型&#xff0c;包括整型、浮點型、字符串和布爾值。此外&#xff0c;學員還將學習如何在實際編程中聲明和使用這些數據類型。…

深入解析C/C++函數變量傳遞:棧、堆與全局變量的生命周期之旅

資料合集下載鏈接: ?https://pan.quark.cn/s/472bbdfcd014? 在編程學習中,函數是構建程序的基石,而理解變量如何在函數之間正確、安全地傳遞,則是從入門到進階的關鍵一步。我們經常會遇到這樣的困惑:為什么一個指針在某個函數里工作正常,傳遞給另一個函數后卻變成了“…

Ubuntu18網絡連接不上也ping不通網絡配置問題排查與解決方法

Ubuntu 18啟動以后發現連接不上網絡,執行 ip a命令或者ifconfig都顯示不了正確的地址(192.168.xxx.xxx)。 剛裝好系統是沒問題的,打算使用FTP開啟ftp服務與windows互傳文件,安裝了net-tools插件就突然連不上網絡了,懷疑是網絡配置被修改了。 經過了一段時間折騰終于解決了,…

【計算機網絡】Socket網絡編程

目錄 一、主機字節序列和網絡字節序列 二、套接字地址結構 1、IPv4 地址結構 (sockaddr_in) 2、IPv6 地址結構 (sockaddr_in6) 3、通用套接字地址結構 (sockaddr) 4、Unix域套接字地址結構 (sockaddr_un) 5、專用 socket 地址結構 6、套接字地址結構的轉換 字符串轉二進制地址 …

網頁操作自動化解決方案:如何用Browser-Use+CPolar提升企業運營效率

文章目錄前言1. 安裝Ollama2. Gemma3模型安裝與運行3. 虛擬環境準備3.1 安裝Python3.2. 安裝conda4. 本地部署Brower Use WebUI4.1 創建一個新conda環境4.2 克隆存儲庫4.3 安裝依賴環境4.4 安裝瀏覽器自動化工具4.5 修改配置信息5. 本地運行測試6. 安裝內網穿透6.1 配置公網地址…

Pycharm的設置過程

20250802 用于記錄pycharm的設置過程 編輯器相關 python語言設置文件注釋 在設置的編輯器部分&#xff0c;按照需求設置模板&#xff01; 函數生成注釋