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

目录

💗一、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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

高考分数查询结果自动推送至微信(卷II)

祝各位端午节安康!只要心中无结,每天都是节,开心最重要! 在上一篇文章高考分数查询结果自动推送至微信(卷Ⅰ)-CSDN博客中谈了思路,今天具体实现。文中将敏感信息已做处理,读者根据自…

6.全开源源码---小红书卡片-跳转微信-自动回复跳转卡片-商品卡片-发私信-发群聊-安全导流不封号-企业号白号都可以用

现在用我们的方法,可以规避违规风险,又可以丝滑引流,因为会以笔记的形式发给客户,点击之后直接跳微信,我们来看看演示效果吧(没有风险提示) 无论是引流还是销售产品都会事半功倍。

redis03 补充 redis驱动模型:事件驱动

1.文件事件 1.1 1.2 注: epoll是linux系统的底层IO多路复用技术 kqueue是mac的底层IO多路复用技术 在 Epoll 中,Epoll 就是事件通知器,可以向 Epoll 注册我们感兴趣的事件。 1.3 1.4 5. 5.1 5.2 5.35.4

onesixtyone一键扫描SNMP服务(KALI工具系列二十)

目录 1、KALI LINUX 简介 2、onesixtyone工具简介 3、在KALI中使用onesixtyone 3.1 目标主机IP(win) 3.2 KALI的IP 4、操作示例 4.1 扫描目标主机 4.2 加上团队名称 4.3 输出详细结果 4.4 扫描整个网段 5、总结 1、KALI LINUX 简介 Kali Lin…

ThinkPHP发邮件配置教程?群发功能安全吗?

ThinkPHP发邮件的注意事项?如何优化邮件发送的性能? 无论是用户注册、密码重置还是消息提醒,发送邮件都是一个常见的需求。AokSend将详细介绍如何在ThinkPHP框架中配置和发送邮件,帮助开发者轻松实现邮件功能。 ThinkPHP发邮件&…

Discuz! X3.4发帖时间修改插件批量操作版

下载地址:Discuz! X3.4发帖时间修改插件批量操作版 发帖时间与回复时间说明 1、使用本插件修改发帖时间,则帖子中的回复楼层的时间会保持同步同间隔修改,所谓同步同间隔就是如果某个回复是在主题发布之后一小时回复的,那么修改之…

MySQL—多表查询—练习(1)

一、引言 上几篇关于多表查询的基本几个部分全部学习完了。 多表查询的基本类型的查询包括以下: 1、内连接(隐式内连接、显示内连接):... [INNER] JOIN ... ON 条件; ) 2、外连接(左外连接、右外连接&…

[沉迷理论]进制链表树

往期文章推荐: 题解之最大子矩阵-CSDN博客 洛谷P1115最大子段和[神奇的题目]-CSDN博客 (一条神奇的分割线) 前言 好久没有更新的我总算在百忙之中抽出时间写了篇博客。 最近总算结束了动态规划的学习,真的是头昏脑涨啊。 最…

MySQl基础----Linux下搭建mysql软件及登录和基本使用(附实操图超简单一看就会)

绪论​ 涓滴之水可磨损大石,不是由于他力量强大,而是由于昼夜不舍地滴坠。 只有勤奋不懈地努力,才能够获得那些技巧。 ——贝多芬。新开MySQL篇章,本章非常基础包括如何在Linux上搭建(当然上面的SQL语句你在其他能执行…

初阶 《分支和循环语句》 3.循环语句

3.循环语句 while for do while 3.1 while循环 前面已经掌握了 if 语句: if(条件)   语句; 当条件满足的情况下,if语句后的语句执行,否则不执行;但是这个语句只会执行一次。 由于我们发现生活中很多的实际的例子是:同…

MYSQL 索引下推 45讲

刘老师群里,看到一位小友 问<MYSQL 45讲>林晓斌的回答 大意是一个组合索引 (a,b,c) 条件 a > 5 and a <10 and b123, 这样的情况下是如何? 林老师给的回答是 A>5 ,然后下推B123 小友 问 "为什么不是先 进行范围查询,然后在索引下推 b123?" 然后就…

Leetcode 力扣114. 二叉树展开为链表 (抖音号:708231408)

给你二叉树的根结点 root &#xff0c;请你将它展开为一个单链表&#xff1a; 展开后的单链表应该同样使用 TreeNode &#xff0c;其中 right 子指针指向链表中下一个结点&#xff0c;而左子指针始终为 null 。展开后的单链表应该与二叉树 先序遍历 顺序相同。 示例 1&#xf…

欢乐打地鼠小游戏html源码

这是一款简单的js欢乐打地鼠游戏&#xff0c;挺好玩的&#xff0c;老鼠出来用鼠标点击锤它&#xff0c;击中老鼠获得一积分。 欢乐打地鼠小游戏html源码

不同数据库背后的数据存储方案

在大数据和AI时代&#xff0c;数据库成为各类应用不可或缺的重要组成部分。而数据库中的数据依赖存储引擎进行管理&#xff0c;包括数据的存储、查询、更新和删除等。因此&#xff0c;在设计系统时&#xff0c;选择正确的数据库存储引擎方案变得尤为重要。这篇文章将以关系型、…

滑动窗口算法:巧妙玩转数据的窗外世界

✨✨✨学习的道路很枯燥&#xff0c;希望我们能并肩走下来! 文章目录 目录 文章目录 前言 一 滑动窗口是什么&#xff1f; 二 相关题目解析 1. 长度最小的子数组 &#x1f973;题目解析 &#x1f973;算法原理 ✏️思路1 暴力枚举出所有子数组之和 ✏️思路2 滑动窗…

LabVIEW调用DLL时需注意的问题

在LabVIEW中调用DLL&#xff08;动态链接库&#xff09;是实现与外部代码集成的一种强大方式&#xff0c;但也存在一些常见的陷阱和复杂性。本文将从参数传递、数据类型匹配、内存管理、线程安全、调试和错误处理等多个角度详细介绍LabVIEW调用DLL时需要注意的问题&#xff0c;…

有趣的数学 为什么绝对值和模都用两个竖线表示?

绝对值和模都可以使用两个竖线表示&#xff0c;是因为它们在数学概念上有相似的性质&#xff0c;不过是应用场景不同。 绝对值&#xff08;Absolute Value&#xff09;&#xff1a; 绝对值是一个实数的非负值。它表示一个数在数轴上距离原点的距离。例如&#xff0c; 和 。 模&…

Hadoop3:MapReduce源码解读之Map阶段的TextInputFormat切片机制(3)

Job那块的断点代码截图省略&#xff0c;直接进入切片逻辑 参考&#xff1a;Hadoop3&#xff1a;MapReduce源码解读之Map阶段的Job任务提交流程&#xff08;1&#xff09; 5、TextInputFormat源码解析 类的继承关系 它的内容比较少 重写了两个父类的方法 这里关心一下泛型参数…

基于Java+SpringBoot制作一个软考助手答题小程序

基于Java+SpringBoot制作一个软考小助手考试答题小程序。其中系统前端功能包括注册登录、公告通知、考试答题、视频课程、考试记录、题库、题目评论、错题统计、我的收藏和用户信息管理模块;系统后台功能包括用户管理、题库管理、答题管理、学习视频管理以及系统管理模块。 摘…

WINUI——Behavior(行为)小结

前言 在使用MVVM进行WINUI或WPF开发时&#xff0c;Command在某些时候并不能满足逻辑与UI分离的要求。这时肯定就需要其它技术的支持&#xff0c;Behavior就是一种。在WPF中是有Behavior直接支持的&#xff0c;转到WINUI后&#xff0c;相对有一些麻烦&#xff0c;于是在此记录之…