【python】在【机器学习】与【数据挖掘】中的应用:从基础到【AI大模型】

news2024/12/24 9:06:06

目录

💗一、Python在数据挖掘中的应用💕

💖1.1 数据预处理💞

💖1.2 特征工程💕

💗二、Python在机器学习中的应用💕

💖2.1 监督学习💞

💖2.2 非监督学习💞

💗三、Python在深度学习中的应用💕

💖3.1 深度学习框架💞

💗四、Python在AI大模型中的应用💕

💖4.1 大模型简介💞

💖4.2 GPT-4o实例💞

💗五、实例验证💕

💖5.1 数据集介绍💞

💖5.2 模型构建与训练💞

💖5.3 模型优化💞

💗六、总结💕


在大数据时代,数据挖掘与机器学习成为了各行各业的核心技术。Python作为一种高效、简洁且功能强大的编程语言,得到了广泛的应用。

💗一、Python在数据挖掘中的应用💕

cb120410bbd14d46a1b702c6484653ae.png

💖1.1 数据预处理💞

数据预处理是数据挖掘中不可或缺的一步。它包括数据清洗、数据变换、数据归一化等步骤。Python的pandas库提供了强大的数据处理功能。

import pandas as pd
from sklearn.preprocessing import StandardScaler

# 读取数据
data = pd.read_csv('data.csv')

# 数据清洗
data = data.dropna()  # 去除缺失值
data = data.drop_duplicates()  # 去除重复值

# 数据变换
data['date'] = pd.to_datetime(data['date'])  # 日期格式转换

# 数据归一化
scaler = StandardScaler()
data[['feature1', 'feature2']] = scaler.fit_transform(data[['feature1', 'feature2']])

读取了一个CSV文件,然后使用pandas库进行数据清洗,包括去除缺失值和重复值。接着,我们将日期列转换为日期格式,并对两个特征列进行归一化处理,使其符合标准正态分布。

💖1.2 特征工程💕

特征工程是提升模型性能的重要手段。Python提供了多种工具来实现特征选择和特征提取。

from sklearn.feature_selection import SelectKBest, f_classif

# 特征选择
X = data.drop('target', axis=1)
y = data['target']
selector = SelectKBest(score_func=f_classif, k=5)
X_new = selector.fit_transform(X, y)

# 特征提取
from sklearn.decomposition import PCA

pca = PCA(n_components=2)
X_pca = pca.fit_transform(X)

首先进行了特征选择,使用了SelectKBest选择评分最高的5个特征。通过主成分分析(PCA)进行特征提取,将特征降维到两个维度。

💗二、Python在机器学习中的应用💕

c6c67eee5ae6409d966e123e84509cf0.png

💖2.1 监督学习💞

监督学习是机器学习的主要方法之一,包括分类和回归。Scikit-learn是Python中常用的机器学习库,提供了丰富的模型和工具。

from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 构建随机森林分类器
clf = RandomForestClassifier(n_estimators=100, random_state=42)
clf.fit(X_train, y_train)

# 预测
y_pred = clf.predict(X_test)

# 评估
accuracy = accuracy_score(y_test, y_pred)
print(f'Accuracy: {accuracy:.2f}')

使用随机森林分类器进行分类任务。首先,将数据集划分为训练集和测试集,然后构建随机森林分类器并进行训练,最后在测试集上进行预测并计算准确率。

💖2.2 非监督学习💞

非监督学习主要用于聚类和降维。KMeans和DBSCAN是常用的聚类算法。

from sklearn.cluster import KMeans
import matplotlib.pyplot as plt

# 构建KMeans模型
kmeans = KMeans(n_clusters=3, random_state=42)
data['cluster'] = kmeans.fit_predict(data)

# 可视化聚类结果
plt.scatter(data['feature1'], data['feature2'], c=data['cluster'])
plt.xlabel('Feature 1')
plt.ylabel('Feature 2')
plt.title('KMeans Clustering')
plt.show()

使用KMeans算法进行聚类,并将结果可视化。首先,构建KMeans模型并进行聚类,然后使用matplotlib库绘制聚类结果的散点图。

💗三、Python在深度学习中的应用💕

340f9e14f9244ceb9dface78149c2139.png

💖3.1 深度学习框架💞

TensorFlow和PyTorch是Python中最常用的深度学习框架。它们提供了构建和训练神经网络的丰富工具。

import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense

# 构建神经网络模型
model = Sequential([
    Dense(128, activation='relu', input_shape=(X_train.shape[1],)),
    Dense(64, activation='relu'),
    Dense(1, activation='sigmoid')
])

# 编译模型
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])

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

# 评估模型
loss, accuracy = model.evaluate(X_test, y_test)
print(f'Accuracy: {accuracy:.2f}')

使用TensorFlow构建了一个简单的全连接神经网络。模型包括两个隐藏层和一个输出层。我们使用Adam优化器和二元交叉熵损失函数,并在训练集上进行训练,最终在测试集上进行评估。

💗四、Python在AI大模型中的应用💕

💖4.1 大模型简介💞

AI大模型如GPT-4o和BERT已经在自然语言处理、图像识别等领域取得了突破性进展。构建和训练这些大模型需要强大的计算资源和先进的算法。

💖4.2 GPT-4o实例💞

OpenAI的GPT-4o是目前最先进的自然语言处理模型之一。使用GPT-4o可以进行文本生成、翻译、摘要等任务。

import openai

# 设置API密钥
openai.api_key = 'YOUR_API_KEY'

# 使用GPT-4o生成文本
response = openai.Completion.create(
    engine="gpt-4",
    prompt="Once upon a time in a land far, far away",
    max_tokens=50
)

print(response.choices[0].text.strip())

使用OpenAI的GPT-4o模型进行文本生成。通过设置API密钥并调用GPT-4o的文本生成接口,我们可以生成连续的文本。

💗五、实例验证💕

💖5.1 数据集介绍💞

使用UCI机器学习库中的Iris数据集来进行分类任务的实例验证。

from sklearn.datasets import load_iris
import pandas as pd

# 加载Iris数据集
iris = load_iris()
X = pd.DataFrame(iris.data, columns=iris.feature_names)
y = pd.Series(iris.target, name='target')

# 显示数据集信息
print(X.head())
print(y.head())

Iris数据集是一个经典的数据集,包含三种鸢尾花的特征和类别信息。我们首先加载数据集并将其转换为pandas的DataFrame和Series格式,方便后续处理。

💖5.2 模型构建与训练💞

构建一个决策树模型来分类Iris数据集。

from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 构建决策树模型
clf = DecisionTreeClassifier(random_state=42)
clf.fit(X_train, y_train)

# 预测
y_pred = clf.predict(X_test)

# 评估
accuracy = accuracy_score(y_test, y_pred)
print(f'Accuracy: {accuracy:.2f}')

使用决策树分类器进行分类任务。首先,将数据集划分为训练集和测试集,然后构建决策树模型并进行训练,最后在测试集上进行预测并计算准确率。

💖5.3 模型优化💞

通过调整模型参数和使用交叉验证来优化模型性能。

from sklearn.model_selection import GridSearchCV

# 定义参数网格
param_grid = {
    'max_depth': [3, 5, 7, None],
    'min_samples_split': [2, 5, 10],
    'min_samples_leaf': [1, 2, 4]
}

# 网格搜索
grid_search = GridSearchCV(estimator=clf, param_grid=param_grid, cv=5, n_jobs=-1, verbose=2)
grid_search.fit(X_train, y_train)

# 最优参数和模型
best_params = grid_search.best_params_
best_clf = grid_search.best_estimator_

# 评估最优模型
y_pred = best_clf.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print(f'Optimized Accuracy: {accuracy:.2f}')
print(f'Best Parameters: {best_params}')

使用网格搜索来优化决策树模型的参数。通过定义参数网格并进行交叉验证,找出最优参数组合并训练最优模型,最终在测试集上进行评估。

💗六、总结💕

Python在数据挖掘和机器学习中的应用,涵盖了数据预处理、特征工程、监督学习、非监督学习和深度学习。Python凭借其强大的库和工具,成为了数据科学家和机器学习工程师的首选语言,不仅提供了丰富的功能,还拥有广泛的社区支持和不断更新的生态系统,使其在快速发展的AI领域中始终处于领先地位。ef673d7407724f32881917b7330d75a2.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1809180.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ue5创建地图瓦片

先在虚幻商城下载免费的paperzd插件,并启用。 导入资源后,先通过应用paper2d纹理资源,将去掉导入ue时产生的边缘模糊,再点击下面的创建瓦片集, 打开瓦片集,发现选中不对, 改变瓦片大小为16*…

如何学习自动化测试?(附教程)

🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 自动化测试介绍 自动化测试(Automated Testing),是指把以人为驱动的测试行为转化为…

汇聚荣科技有限公司实力怎么样?

汇聚荣科技有限公司,一家专注于高新技术研发和应用的企业,在业界享有一定的声誉。那么,这家公司的实力究竟如何?我们将从公司概况、技术研发、市场表现、企业文化和未来展望五个方面进行详细探讨。 一、公司概况 汇聚荣科技有限公司经过多年…

【Python核心数据结构探秘】:元组与字典的完美协奏曲

文章目录 🚀一、元组⭐1. 元组查询的相关方法❤️2. 坑点🎬3. 修改元组 🌈二、集合⭐1. 集合踩坑❤️2. 集合特点💥无序性💥唯一性 ☔3. 集合(交,并,补)🎬4. …

月薪6万,想离职...

大家好,我是无界生长,国内最大AI付费社群“AI破局俱乐部”初创合伙人。这是我的第 39 篇原创文章——《月薪6万,想离职...》 是的,你没有看错,我月薪6万,却想离职,很不可思议吧?周围…

如何为色盲适配图形用户界面

首发日期 2024-05-25, 以下为原文内容: 答案很简单: 把彩色去掉, 测试. 色盲, 正式名称 色觉异常. 众所周知, 色盲分不清颜色. 如果用户界面设计的不合理, 比如不同项目只使用颜色区分, 而没有形状区分, 那么色盲使用起来就会非常难受, 甚至无法使用. 色盲中最严重的情况称为…

车载电子电气架构 - 智能座舱技术及功能应用

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节…

【MySQL】(基础篇六) —— 过滤数据

过滤数据 本文将讲授如何使用SELECT语句的WHERE子句指定搜索条件。 WHERE子句 数据库表一般包含大量的数据,很少需要检索表中所有行。通常只会根据特定操作或需要提取表数据的子集。只检索所需数据需要指定搜索条件(search criteria)&…

FedAvg论文

论文:Communication-Efficient Learning of Deep Networks from Decentralized Data 原code Reproducing 通过阅读帖子进行的了解。 联邦平均算法就是最典型的平均算法之一。将每个客户端上的本地随机梯度下降和执行模型的平均服务器结合在一起。 联邦优化问题 数…

08 Dataset and DataLoader (加载数据集)

本节内容是学习 刘二大人的《PyTorch深度学习实践》的 08 Dataset and DataLoader (加载数据集)。 上节内容:07 Multiple Dimension Input (处理多维特征的输入)-CSDN博客 这节内容: 目录 一、Epoch,Batch-Size,Iterations 二、DataLoad…

【quarks系列】基于Dockerfile构建native镜像

目录 Dockerfile构建代码测试 Dockerfile FROM quay.io/quarkus/ubi-quarkus-native-image:22.3-java11 AS buildWORKDIR /workspace COPY . .RUN ./mvnw -DskipTeststrue clean package -Dnative -U# Stage 2: Create the minimal runtime image FROM registry.access.redhat…

linux的持续性学习

安装php 第一步:配置yum源 第二步:下载php。 yum install php php-gd php-fpm php-mysql -y 第三步:启动php。 systemctl start php-fpm 第四步:检查php是否启动 lsof -i :9000 计划任务 作用&am…

ollama webui 11434 connection refused

报错:host.docker.internal:11434 ssl:default [Connection refused] 将/etc/systemd/system/ollama.service中加上如下红框两行 然后 systemctl daemon-reload systemctl restart ollama然后删掉之前的container。 最后 sudo docker run -d -p 4000:8080 --add-…

初识volatile

volatile:可见性、不能保证原子性(数据不安全)、禁止指令重排 可见性:多线程修改共享内存的变量的时候,修改后会通知其他线程修改后的值,此时其他线程可以读取到修改后变量的值。 指令重排:源代码的代码顺序与编译后字…

十大排序

本文将以「 通俗易懂」的方式来描述排序的基本实现。 🧑‍💻阅读本文前,需要一点点编程基础和一点点数据结构知识 本文的所有代码以cpp实现 文章目录 排序的定义 插入排序 ⭐ 🧐算法描述 💖具体实现 &#x1f…

一文了解SpringBoot

1 springboot介绍 1)springboot是什么? Spring Boot是一个用于简化Java应用程序开发的框架。它基于Spring框架,继承了Spring框架原有的优秀特性,比如IOC、AOP等, 他并不是用来代替Spring的解决方案,而是和Spring框架紧密结合,进一步简化了Spring应用的整个搭建和开发过程…

操作系统真象还原:内存管理系统

第8章-内存管理系统 这是一个网站有所有小节的代码实现,同时也包含了Bochs等文件 8.1 Makefile简介 8.1.1 Makefile是什么 8.1.2 makefile基本语法 make 给咱们提供了方法,可以在命令之前加个字符’@’,这样就不会输出命令本身…

网络分析(ArcPy)

一.前言 GIS中的网络分析最重要的便是纠正拓扑关系,建立矫正好的网络数据集,再进行网络分析,一般大家都是鼠标在arcgis上点点点,今天说一下Arcpy来解决的方案,对python的要求并不高,具体api参数查询arcgis帮助文档即可…

Java_Map集合

认识Map集合 Map集合称为双列集合,格式:{key1value,key2value2,key3value3,…},一次需要存一对数据作为一个元素。 Map集合的每个元素“Keyvalue” 称为一个键值对/键值对对象/一个Entry对象,Map集合也被叫做“键值对集合” Map集…

Simscape Multibody与RigidBodyTree:机器人建模

RigidBodyTree:主要用于表示机器人刚体结构的动力学模型,重点关注机器人的几何结构、质量和力矩,以及它们如何随时间变化。它通常用于计算机器人的运动和受力情况。Simscape Multibody:作为Simscape的一个子模块,专门用…