Sklearn详细案例

示例 1:鸢尾花分类(分类任务)

# 步骤 1:加载数据集
from sklearn.datasets import load_iris

# 加载鸢尾花数据集
iris = load_iris()
X = iris.data  # 特征数据
y = iris.target  # 目标标签

# 步骤 2:数据预处理
from sklearn.preprocessing import StandardScaler

# 初始化标准化器
scaler = StandardScaler()

# 对特征数据进行标准化
X_scaled = scaler.fit_transform(X)

# 步骤 3:划分数据集
from sklearn.model_selection import train_test_split

# 划分训练集和测试集,比例为80%训练集和20%测试集
X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.2, random_state=42)

# 步骤 4:训练模型
from sklearn.linear_model import LogisticRegression

# 初始化逻辑回归模型
model = LogisticRegression()

# 使用训练数据训练模型
model.fit(X_train, y_train)

# 步骤 5:评估模型
from sklearn.metrics import accuracy_score, classification_report

# 使用测试数据进行预测
y_pred = model.predict(X_test)

# 计算并打印准确率
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy}")

# 打印分类报告
report = classification_report(y_test, y_pred)
print(report)

示例 2:波士顿房价预测(回归任务)

# 步骤 1:加载数据集
from sklearn.datasets import load_boston

# 加载波士顿房价数据集
boston = load_boston()
X = boston.data  # 特征数据
y = boston.target  # 目标标签

# 步骤 2:数据预处理
from sklearn.preprocessing import StandardScaler

# 初始化标准化器
scaler = StandardScaler()

# 对特征数据进行标准化
X_scaled = scaler.fit_transform(X)

# 步骤 3:划分数据集
from sklearn.model_selection import train_test_split

# 划分训练集和测试集,比例为80%训练集和20%测试集
X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.2, random_state=42)

# 步骤 4:训练模型
from sklearn.linear_model import LinearRegression

# 初始化线性回归模型
model = LinearRegression()

# 使用训练数据训练模型
model.fit(X_train, y_train)

# 步骤 5:评估模型
from sklearn.metrics import mean_squared_error, r2_score

# 使用测试数据进行预测
y_pred = model.predict(X_test)

# 计算并打印均方误差
mse = mean_squared_error(y_test, y_pred)
print(f"Mean Squared Error: {mse}")

# 计算并打印R^2得分
r2 = r2_score(y_test, y_pred)
print(f"R^2 Score: {r2}")

示例 3:客户分群(聚类任务)

# 步骤 1:生成示例数据集
import numpy as np

# 生成示例客户数据(特征:年龄、收入)
np.random.seed(42)
X = np.random.rand(100, 2) * [50, 100000]  # 年龄在0-50岁之间,收入在0-10万之间

# 步骤 2:数据预处理
from sklearn.preprocessing import StandardScaler

# 初始化标准化器
scaler = StandardScaler()

# 对特征数据进行标准化
X_scaled = scaler.fit_transform(X)

# 步骤 3:训练聚类模型
from sklearn.cluster import KMeans

# 初始化KMeans模型,设定聚类数量为3
kmeans = KMeans(n_clusters=3, random_state=42)

# 使用标准化后的数据进行聚类
kmeans.fit(X_scaled)

# 获取聚类标签
labels = kmeans.labels_

# 步骤 4:评估聚类模型
from sklearn.metrics import silhouette_score

# 计算并打印轮廓系数
silhouette_avg = silhouette_score(X_scaled, labels)
print(f"Silhouette Score: {silhouette_avg}")

# 打印聚类中心
print(f"Cluster Centers: {kmeans.cluster_centers_}")
  • 14
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
当然,我可以给你一些关于scikit-learn (sklearn)的案例。scikit-learn是一个用于机器学习的Python库,提供了多种机器学习算法和工具。以下是一些示例: 1. 分类问题:使用支持向量机(SVM)算法对手写数字图像进行分类。你可以使用sklearn.datasets中的digits数据集,通过构建一个分类器来识别手写数字图像。 ```python from sklearn import svm, datasets from sklearn.model_selection import train_test_split # 加载手写数字数据集 digits = datasets.load_digits() # 划分特征和目标变量 X = digits.data y = digits.target # 划分训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 创建一个SVM分类器并进行训练 clf = svm.SVC() clf.fit(X_train, y_train) # 预测测试集结果 y_pred = clf.predict(X_test) ``` 2. 回归问题:使用线性回归模型对波士顿房价数据集进行预测。你可以使用boston数据集来训练一个线性回归模型来预测波士顿地区的房价。 ```python from sklearn import datasets from sklearn.linear_model import LinearRegression from sklearn.model_selection import train_test_split from sklearn.metrics import mean_squared_error # 加载波士顿房价数据集 boston = datasets.load_boston() # 划分特征和目标变量 X = boston.data y = boston.target # 划分训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 创建一个线性回归模型并进行训练 regressor = LinearRegression() regressor.fit(X_train, y_train) # 预测测试集结果 y_pred = regressor.predict(X_test) # 计算均方误差 mse = mean_squared_error(y_test, y_pred) ``` 这只是一小部分sklearn的示例。sklearn还提供了许多其他算法和工具,可以用于分类、回归、聚类、降维等任务。你可以根据自己的需求选择适当的算法并使用相应的数据集进行实践。希望对你有所帮助!如果需要更多例子或有其他问题,请随时告诉我。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PeterClerk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值