登录/注册

机器学习代码命令大全

更多

以下是一份机器学习常用代码命令大全(Python语言,基于主流库如Scikit-learn、TensorFlow/Keras、PyTorch),涵盖数据预处理、模型训练、评估、保存等全流程:


一、数据预处理

# 数据加载
import pandas as pd
df = pd.read_csv('data.csv')  # 从CSV加载
df = pd.read_excel('data.xlsx')  # 从Excel加载

# 基础处理
df.drop(['无用列'], axis=1, inplace=True)  # 删除列
df.dropna(inplace=True)  # 删除缺失值
df.fillna(value, inplace=True)  # 填充缺失值

# 特征工程
from sklearn.preprocessing import StandardScaler, LabelEncoder
scaler = StandardScaler()
df['数值特征'] = scaler.fit_transform(df[['数值特征']])  # 标准化

encoder = LabelEncoder()
df['类别特征'] = encoder.fit_transform(df['类别特征'])  # 标签编码

# 拆分数据集
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(
    df.drop('目标列', axis=1), df['目标列'], 
    test_size=0.2, random_state=42
)

二、经典机器学习模型(Scikit-learn)

# 线性回归
from sklearn.linear_model import LinearRegression
lr = LinearRegression()
lr.fit(X_train, y_train)

# 逻辑回归(分类)
from sklearn.linear_model import LogisticRegression
clf = LogisticRegression(max_iter=1000)
clf.fit(X_train, y_train)

# 决策树
from sklearn.tree import DecisionTreeClassifier
dt = DecisionTreeClassifier(max_depth=5)
dt.fit(X_train, y_train)

# 随机森林
from sklearn.ensemble import RandomForestClassifier
rf = RandomForestClassifier(n_estimators=100)
rf.fit(X_train, y_train)

# SVM
from sklearn.svm import SVC
svm = SVC(kernel='rbf', C=10)
svm.fit(X_train, y_train)

# 模型预测
y_pred = rf.predict(X_test)

三、模型评估指标

from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score
from sklearn.metrics import mean_squared_error, r2_score

# 分类任务
print("准确率:", accuracy_score(y_test, y_pred))
print("精确率:", precision_score(y_test, y_pred, average='macro'))
print("召回率:", recall_score(y_test, y_pred, average='macro'))
print("F1分数:", f1_score(y_test, y_pred, average='macro'))

# 回归任务
print("MSE:", mean_squared_error(y_test, y_pred))
print("R²:", r2_score(y_test, y_pred))

# 交叉验证
from sklearn.model_selection import cross_val_score
scores = cross_val_score(rf, X_train, y_train, cv=5)
print("交叉验证分数:", scores.mean())

四、深度学习(TensorFlow/Keras)

# 全连接网络
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense

model = Sequential([
    Dense(64, activation='relu', input_shape=(X_train.shape[1],)),
    Dense(32, activation='relu'),
    Dense(1, activation='sigmoid')  # 二分类输出层
])

model.compile(
    optimizer='adam',
    loss='binary_crossentropy',
    metrics=['accuracy']
)

# 训练模型
history = model.fit(
    X_train, y_train,
    epochs=50,
    batch_size=32,
    validation_split=0.2
)

# 模型预测
y_prob = model.predict(X_test)
y_pred = (y_prob > 0.5).astype(int)

五、深度学习(PyTorch)

import torch
import torch.nn as nn

# 定义网络
class Net(nn.Module):
    def __init__(self, input_size):
        super().__init__()
        self.fc1 = nn.Linear(input_size, 64)
        self.fc2 = nn.Linear(64, 10)

    def forward(self, x):
        x = torch.relu(self.fc1(x))
        x = self.fc2(x)
        return x

# 初始化模型和优化器
model = Net(X_train.shape[1])
optimizer = torch.optim.Adam(model.parameters(), lr=0.001)
criterion = nn.CrossEntropyLoss()

# 训练循环
for epoch in range(10):
    inputs = torch.tensor(X_train.values, dtype=torch.float32)
    labels = torch.tensor(y_train.values, dtype=torch.long)

    optimizer.zero_grad()
    outputs = model(inputs)
    loss = criterion(outputs, labels)
    loss.backward()
    optimizer.step()

六、模型保存与加载

# Scikit-learn
import joblib
joblib.dump(rf, 'model.joblib')  # 保存
rf_loaded = joblib.load('model.joblib')  # 加载

# TensorFlow
model.save('tf_model.keras')  # 保存
loaded_model = tf.keras.models.load_model('tf_model.keras')  # 加载

# PyTorch
torch.save(model.state_dict(), 'pytorch_model.pt')  # 保存
model.load_state_dict(torch.load('pytorch_model.pt'))  # 加载

七、常用工具

# 混淆矩阵可视化
from sklearn.metrics import plot_confusion_matrix
plot_confusion_matrix(rf, X_test, y_test)

# 特征重要性(随机森林)
importances = rf.feature_importances_
# PCA降维
from sklearn.decomposition import PCA
pca = PCA(n_components=2)
X_pca = pca.fit_transform(X_train)

以上涵盖了机器学习80%的常用场景,可作为快速参考手册。根据具体任务选择工具库和模型即可! ?

Docker Volume管理命令大全

Docker Volume管理命令大全

2025-05-28 17:14:44

Linux实用命令大全

Linux实用命令大全

2024-10-23 13:50:09

mysql数据库命令大全

MySQL是一种关系型数据库管理系统,它拥有丰富的命令来管理和操作数据库。以下是一份详尽、详实、细致的MySQL数据库命令大全,希望对您有所帮助

2023-11-16 16:39:46

C++ Socket网络编程大全代码下载

C++ Socket网络编程大全源代码下载

资料下载 佚名 2021-06-21 09:36:12

机器学习必学的Python代码示例集

机器学习必学的Python代码示例集

资料下载 鸭子定律_ 2021-06-21 09:35:46

Visusl Studio Code快捷键命令大全

Visusl Studio Code快捷键命令大全

资料下载 卢卫国 2021-06-03 09:17:32

结合动态行为和机器学习的恶意代码检测方法

目前恶意代码出现频繁且抗识别性加强,现有基于签名的恶意代码检测方法无法识别未知与隐藏的恶意代码。提出一种结合动态行为和

资料下载 佚名 2021-03-23 16:24:19

机器学习实战的源代码资料合集

本文档机器学习实战的源代码资料合集

资料下载 佚名 2021-03-01 09:28:00

Linux 命令大全建议收藏

本文为 Linux 命令大全,从 A 到 Z 都有总结,建议大家收藏以便查用,或者查漏补缺!

2023-05-12 10:53:09

【网络编程】从ifconfig命令中取得机器的ip地址

【网络编程】Linux平台如何使用代码实现从ifconfig命令中取得机器的ip地址

2022-08-31 13:15:24

机器学习的基础内容汇总

人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习

2022-02-28 06:12:58

超实用CAD快捷键命令大全

的使用。下面就让小编来给大家分享一下超实用的CAD快捷键命令大全吧!CAD快捷键命令大

2021-01-27 17:48:34

Linux命令及说明大全

Linux命令及说明大全(195页)不容错过

2020-07-25 08:00:00

CAD快捷键命令大全:PL、DI和LI命令的使用技巧

经常使用浩辰CAD制图软件进行CAD图纸绘制的朋友都知道,我们在绘制直线的时候可以使用快捷命令:PL,同时在进行测量的时候可以使用快捷命令DI。接下来详细给大家介绍一下CAD快捷键

2019-10-30 16:12:40

Linux命令大全总结

Linux常用命令大全

2019-10-25 17:06:00
7天热门专题 换一换
相关标签