【Python】使用 Scikit-Learn 庫(機器學習)

2025年02月17日03:42:05 科技 1098

【Python】使用 Scikit-Learn 庫(機器學習) - 天天要聞

加載數據集

與您的機器學習實驗數據集一起工作

from sklearn import datasets
iris = datasets.load_iris()
X, y = iris.data, iris.target

2. 將數據分為訓練集和測試集

將您的數據劃分,分配部分用於訓練和評估:

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

3. 訓練模型

使用 randomForestClassifier 訓練 ML 模型:

from sklearn.ensemble import randomForestClassifier
model = RandomForestClassifier()
model.fit(X_train, y_train)

4. 進行預測

訪問模型預測:

predictions = model.predict(X_test)

5. 評估模型性能

為了評估您的模型,測量其在預測中的準確性:

from sklearn.metrics import accuracy_score
accuracy = accuracy_score(y_test, predictions)
print(f"Model accuracy: {accuracy}")

6. 使用交叉驗證

使用交叉驗證:

from sklearn.model_selection import cross_val_score
scores = cross_val_score(model, X, y, cv=5)
print(f"Cross-validation scores: {scores}")

7. 特徵縮放

創建您特徵的適當比例,使模型能夠更有效地學習:

from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)

8. 網格搜索參數調整

為了優化您模型的參數,尋求最佳組合:

from sklearn.model_selection import GridSearchCV
param_grid = {'n_estimators': [10, 50, 100], 'max_depth': [None, 10, 20]}
grid_search = GridSearchCV(model, param_grid, cv=5)
grid_search.fit(X_train, y_train)

9. 管道創建

為了簡化您的數據處理和建模步驟,打造一個無縫的流程:

from sklearn.pipeline import Pipeline
pipeline = Pipeline([
    ('scaler', StandardScaler()),
    ('classifier', RandomForestClassifier())
])
pipeline.fit(X_train, y_train)

10. 保存和加載模型

為了保護您的模型:

import joblib
# Saving the model
joblib.dump(model, 'model.joblib')
# Loading the model
loaded_model = joblib.load('model.joblib')

使用 Plotly 庫(交互式數據可視化

創建基本折線圖

創建折線圖:

import plotly.graph_objs as go
import plotly.io as pio
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
fig = go.Figure(data=go.Scatter(x=x, y=y, mode='lines'))
pio.show(fig)

創建散點圖

創建散點圖:

fig = go.Figure(data=go.Scatter(x=x, y=y, mode='markers'))
pio.show(fig)

3. 創建柱狀圖

創建柱狀圖:

categories = ['A', 'B', 'C', 'D', 'E']
values = [10, 20, 15, 30, 25]
fig = go.Figure(data=go.Bar(x=categories, y=values))
pio.show(fig)

4. 創建餅圖

創建餅圖:

labels = ['Earth', 'Water', 'Fire', 'Air']
sizes = [25, 35, 20, 20]
fig = go.Figure(data=go.Pie(labels=labels, values=sizes))
pio.show(fig)

5. 創建直方圖

創建直方圖:

data = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]
fig = go.Figure(data=go.Histogram(x=data))
pio.show(fig)

6. 創建箱線圖

創建箱線圖:

data = [1, 2, 2, 3, 4, 4, 4, 5, 5, 6]
fig = go.Figure(data=go.Box(y=data))
pio.show(fig)

7. 創建熱圖

創建熱圖:

import numpy as np
z = np.random.rand(10, 10)  # Generate random data
fig = go.Figure(data=go.Heatmap(z=z))
pio.show(fig)

8. 創建 3D 曲面圖

創建 3D 曲面圖:

z = np.random.rand(20, 20)  # Generate random data
fig = go.Figure(data=go.Surface(z=z))
pio.show(fig)

9. 創建子圖

創建子圖:

from plotly.subplots import make_subplots
fig = make_subplots(rows=1, cols=2)
fig.add_trace(go.Scatter(x=x, y=y, mode='lines'), row=1, col=1)
fig.add_trace(go.Bar(x=categories, y=values), row=1, col=2)
pio.show(fig)

10. 創建交互式時間序列

與時間序列一起工作:

import pandas as pd
dates = pd.date_range('20230101', periods=5)
values = [10, 11, 12, 13, 14]
fig = go.Figure(data=go.Scatter(x=dates, y=values, mode='lines+markers'))
pio.show(fig)

科技分類資訊推薦

風靡市場!CEWEY DS18無線吸塵器火爆全網!以性能贏得用戶口碑! - 天天要聞

風靡市場!CEWEY DS18無線吸塵器火爆全網!以性能贏得用戶口碑!

近期,家居清潔領域迎來一款極具競爭力的新品——CEWEY DS18無線吸塵器。DS18一經上線,便以其超規格的吸力參數、場景化的設計思路,以及覆蓋多類清潔難題的解決方案,在多個平台迅速走紅,成為「百元價位段高性能吸塵器」的代表之一。據多位家電行業分析人士指出,DS18的推出,不僅是CEWEY品牌在清潔賽道上的一次技術釋放...
享道出行完成C輪13億元融資,創近三年行業融資新紀錄 - 天天要聞

享道出行完成C輪13億元融資,創近三年行業融資新紀錄

5月9日,上汽集團移動出行戰略品牌享道出行宣布完成超13億元C輪融資。這是國內出行行業近三年來單筆融資金額最大的一次,享道出行也將繼續保持「車企資源、技術底座和場景生態」一體化上的行業領先地位。C輪融資完成,享道出行進一步明晰了個人出行、企業出行、未來出行三大主線並行,技術服務雙輪驅動的發展戰略,將從深化...
一卡通考勤門禁道閘系統主要技術模塊 - 天天要聞

一卡通考勤門禁道閘系統主要技術模塊

一卡通考勤門禁道閘系統的主要技術模塊包括以下幾種:一卡通考勤門禁道閘系統  1、人事系統:該一卡通考勤門禁道閘系統主要包括部門管理設置、人員管理設置和卡管理。部門管理設置用於設置公司的主要架構;人員管理設置用於錄入人員信息並分配部門;卡管理
Meta發佈開源項目《North Star》, 展示Quest頂尖視覺與交互 - 天天要聞

Meta發佈開源項目《North Star》, 展示Quest頂尖視覺與交互

近日,Meta 宣布開源項目《North Star》(北極星)正式上線,通過 Meta Quest 頭顯呈現了一場在 MR 場景下的視覺盛宴與交互新體驗。目前,用戶可前往 Meta Horizon 商店免費下載這一項目。據悉,《North Star》精心打造了一個沉浸式冒險世界,玩家將化身為航海與探索黃金時代的「北極星號」新晉水手。在這片浩瀚無垠的虛擬...
從陪跑個體到企業培訓,我的IP陪跑之路,越走越寬了 - 天天要聞

從陪跑個體到企業培訓,我的IP陪跑之路,越走越寬了

大家好,我是Tina。來繼續通過文章,分享我的自媒體創業生涯。來說說最近在乾的事兒。一今天給江南布衣的全國經銷商做了小紅書的業務輔導培訓。很難想像6年的時間,我從一名職場人,慢慢成長為一個自媒體人,然後成為超級個體,到最後一步步做到可以給企