站长信息
jeffery.xu
jeffery.xu

软件工程师

欢迎访问我的个人笔记网站!我是一名热爱技术的开发者,专注于Web开发和技术分享。

811495111@qq.com
18521510875
筛选

个人笔记

4.1.3
人工智能学习

根据学习大纲补充学习目标

引言

学习目标:了解数据清洗的重要性及其在康复训练数据处理中的应用

内容:

介绍人工智能在康复训练中的应用,数据清洗在处理康复数据中的作用。

 

数据清洗基础理论

学习目标:掌握数据清洗的基本概念、常见任务及其在数据分析和模型训练中的作用。

内容:

什么是数据清洗?

数据清洗的常见任务:数据去重、缺失值处理、数据格式转换等。

数据清洗在数据分析和模型训练中的重要性。

 

常用数据清洗工具简介

学习目标:了解常见数据清洗工具的功能与适用场景,掌握其基本使用方法。

内容:

Pandas:强大的数据处理与分析工具。

NumPy:高性能科学计算和数据处理库。

OpenRefine:用于数据清洗的开源工具。

Dask:用于处理大规模数据的并行计算库。

 

环境搭建与工具安装

学习目标:掌握数据清洗相关工具的安装与环境配置,确保能够顺利进行数据处理任务

内容:

安装Python和pip包管理工具。

安装并配置Pandas、NumPy、OpenRefine、Dask。

 

Pandas实战

学习目标:掌握Pandas在数据清洗中的应用,能够进行数据导入、筛选、转换和缺失值处理

内容:

数据导入与导出:读取和保存CSV、Excel等格式的数据。

数据筛选与过滤:条件筛选、去重、缺失值处理。

数据转换:数据类型转换、时间序列处理。

实践操作:使用Pandas清洗一个康复数据集。

 

NumPy实战

学习目标:综合运用所学知识进行数据清洗项目。

内容:

项目介绍:清洗一个多来源、多格式的康复数据集。

数据采集:导入多种格式的数据。

数据清洗:使用Pandas、NumPy、OpenRefine、Dask进行清洗。

项目评审:展示清洗成果,讲解实现思路和遇到的问题。

4.1.2
人工智能学习

根据学习大纲补充学习目标

引言

学习目标:了解网页爬虫的重要性和应用场景。

内容:

介绍人工智能在金融数据采集中的应用,网页爬虫在获取上市公司财务报告中的作用。

 

网页爬虫基础理论

学习目标:理解网页爬虫的基本概念、工作流程及其遵守的规则

内容:

什么是网页爬虫?

网页爬虫的工作流程和基本结构。

机器人协议(robots.txt)的作用和遵守方法。

 

常用网页爬虫工具简介

学习目标:掌握常见网页爬虫工具的特点和适用场景,能够选择合适的工具进行数据采集。

内容:

BeautifulSoup:用于解析HTML和XML文档。

Scrapy:一个快速、高效的网页爬虫框架。

Selenium:用于模拟浏览器操作,处理动态网页。

 

环境搭建与工具安装

学习目标:掌握网页爬虫工具的安装和环境配置。

内容:

安装Python和pip包管理工具。

安装并配置BeautifulSoup、Scrapy、Selenium。

 

网页数据解析

学习目标:掌握HTML解析方法,能够使用XPath和CSS选择器提取网页中的关键信息。

内容:

使用BeautifulSoup进行HTML解析。

使用XPath和CSS选择器提取数据。

实践操作:解析一个简单的网页数据。

 

动态网页处理

学习目标:掌握处理动态网页的方法。

内容:

使用Selenium模拟浏览器操作。

处理动态加载的数据,如Ajax请求。

实践操作:爬取一个动态加载的网页数据。

 

Scrapy框架实战

学习目标:掌握Scrapy框架的使用方法,能够构建高效的爬虫项目并存储采集的数据。

内容:

Scrapy项目的创建和基本配置。

编写爬虫脚本,设置抓取规则。

数据存储与导出:将数据保存为CSV、JSON等格式。

实践操作:构建一个Scrapy爬虫项目,获取上市公司财务报告。

 

数据清洗与处理

学习目标:掌握数据清洗与预处理的方法,提高数据质量,以便后续分析和应用。

内容:

数据去重、缺失值处理。

数据格式转换与规范化。

实践操作:对获取的财务报告数据进行清洗和处理。

 

综合项目实践

学习目标:综合运用所学知识进行网页爬虫项目。

内容:

项目介绍:构建一个完整的财务报告爬虫项目。

数据采集:获取多个网站的财务报告数据。

数据处理与分析:清洗并分析获取的数据。

项目评审:展示爬虫成果,讲解实现思路和遇到的问题。

 

总结与答疑

学习目标:巩固所学内容,解决学员疑问。

内容:培训内容总结,关键点回顾,学员提问与解答。

 

评估测试

学习目标:评估学员掌握的网页爬虫技能。

内容:

理论测试:关于网页爬虫基本概念和工具使用的笔试。

实操测试:要求学员完成指定的网页爬虫任务。

4.1.1
人工智能学习

根据学习大纲补充学习目标

引言

学习目标:了解数据标注的重要性和应用场景。

内容:

介绍人工智能在康复训练中的应用,数据标注在个性化康复训练计划中的作用。

 

数据标注基础理论

学习目标:理解数据标注的基本概念、类型及其在人工智能中的作用

内容:

什么是数据标注?

数据标注的类型:文本、图像、视频、音频。

数据标注在人工智能中的作用和重要性。

 

Label Studio简介与安装

学习目标:熟悉Label Studio的功能和应用场景,掌握其安装与基本配置方法

内容:

Label Studio简介及应用场景。

安装与配置Label Studio。

Label Studio界面介绍和基本操作。

 

文本数据标注

学习目标:掌握文本数据标注的类型及方法,能够使用Label Studio完成文本标注任务

内容:

文本标注类型:命名实体识别、情感分析等。

Label Studio文本标注功能演示。

实践操作:标注一个文本数据集。

 

图像数据标注

学习目标:掌握图像数据标注的类型及方法,能够使用Label Studio完成文本标注任务

内容:

图像标注类型:图像分类、目标检测、图像分割等。

Label Studio图像标注功能演示。

实践操作:标注一个图像数据集。

 

视频数据标注

学习目标:掌握视频数据标注的类型及方法,能够使用Label Studio完成文本标注任务

内容:

视频标注类型:动作识别、事件检测等。

Label Studio视频标注功能演示。

实践操作:标注一个视频数据集。

 

音频数据标注

学习目标:掌握音频数据标注的方法和技巧。

内容:

音频标注类型:语音识别、情感分析等。

Label Studio音频标注功能演示。

实践操作:标注一个音频数据集。

 

综合项目实践

学习目标:综合运用所学知识进行数据标注项目。

内容:

项目介绍:为康复训练项目进行多模态数据标注(包括文本、图像、视频、音频)。

数据标注:学员分组进行实际数据标注任务。

项目评审:展示标注成果,讲解标注思路和遇到的问题。

 

总结与答疑

学习目标:巩固所学内容,解决学员疑问。

内容:培训内容总结,关键点回顾,学员提问与解答。

 

评估测试

学习目标:评估学员掌握的数据标注技能。

内容:

理论测试:关于数据标注基本概念和Label Studio使用的笔试。

实操测试:要求学员完成指定的数据标注任务。

3.1.1
人工智能学习

3.1.1-1 智能音箱用户行为分析报告(含 M1–M3)

一、用户使用习惯(M1)

使用最频繁的三个功能为: 调整音量、 查询新闻、查天气

二、功能使用频率分析(M2)

• 最受欢迎的功能: 调整音量

• 使用频率较低的功能: 播放音乐、控制家居

三、响应时间分析(M3)

• 响应时间最长功能: 控制家居

• 响应时间适中功能: 查询知识 调整音量 提醒事项

• 响应时间最短功能: 查询新闻

 

3.1.1-2 智能音箱优化建议与方案(M4)

优化方向一:提升语音识别准确率

解决方案: 引入多轮语义理解机制,结合上下文进行意图识别,减少误触发。

优化方向二:提升响应速度

解决方案: 对高频功能启用预加载和缓存机制,提升系统整体反应效率。

优化方向三:增强功能可见性与引导

解决方案: 通过语音提示或App通知向用户推荐冷门但实用功能,提高功能覆盖率。

2.2.5
人工智能学习

import pandas as pd

from sklearn.model_selection import train_test_split

from sklearn.tree import DecisionTreeRegressor

import pickle

from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score

# 加载数据集

df = pd.read_csv('fitness analysis.csv')

    # 显示前五行数据

print(df.head())

    # 选择相关特征进行建模

X = df[['Your gender ', 'How important is exercise to you ?', 'How healthy do you consider yourself?']]

X = pd.get_dummies(X)  # 将分类变量转为数值变量

    # 设为目标变量

y = df['daily_steps']  # 替换为实际的目标变量名称

    # 将数据集划分为训练集和测试集

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

    # 创建并训练决策树回归模型

dt_model = DecisionTreeRegressor(random_state=42)

dt_model.fit(X_train, y_train)

    # 保存训练好的模型

with open('2.2.5_model.pkl', 'wb') as model_file:

     pickle.dump(dt_model, model_file)

    # 进行预测

y_pred = dt_model.predict(X_test)

    # 将结果保存到文本文件中

results = pd.DataFrame({'实际值': y_test, '预测值': y_pred})

results_filename = '2.2.5_results.txt'

results.to_csv(results_filename, index=False, sep='\t')

    # 将测试结果保存到报告文件中

report_filename = '2.2.5_report.txt'

with open(report_filename, 'w') as f:

     f.write(f'均方误差: {mean_squared_error(y_test, y_pred)}\n')

     f.write(f'平均绝对误差: {mean_absolute_error(y_test, y_pred)}\n')

     f.write(f'决定系数: {r2_score(y_test, y_pred)}\n')

2.2.4
人工智能学习

代码:

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score
import joblib
from xgboost import XGBRegressor

    #
加载数据集
data = pd.read_excel('
大学生低碳生活行为的影响因素数据集.xlsx')
    #
显示数据集的前五行
print(data.head())
    #
删除不必要的列并处理分类变量
data_cleaned = data.drop(columns=['
序号', '所用时间'])  # 删除不必要的列
data_cleaned = pd.get_dummies(data_cleaned, drop_first=True)  #
将分类变量转换为哑变量/指示变量
#
定义目标变量和特征
target = '5.
您进行过绿色低碳的相关生活方式吗?'  # 确保这是目标变量
        #
定义自变量因变量
X = data_cleaned.drop(columns=[target])    

y = data_cleaned[target]
    #
将数据拆分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
    #
训练线性回归模型
model = LinearRegression()
model.fit(X_train, y_train)
    #
保存训练好的模型
model_filename = '2.2.4_model.pkl'
joblib.dump(model, model_filename)
    #
进行预测
y_pred = model.predict(X_test)
    #
将结果保存到文本文件中
results = pd.DataFrame({'
实际值': y_test, '预测值': y_pred})
results_filename = '2.2.4_results.txt'
results.to_csv(results_filename, index=False, sep='\t')  #
使用制表符分隔值保存到文本文件
    #
将测试结果保存到报告文件中
report_filename = '2.2.4_report.txt'
with open(report_filename, 'w') as f:
      f.write(f'
均方误差: {mean_squared_error(y_test, y_pred)}\n')
      f.write(f'
决定系数: {r2_score(y_test, y_pred)}\n')
    #
分析并纠正错误(示例:使用XGBoost)
    #
初始化XGBoost模型(设定树的数量为1000,学习率为0.05,每棵树的最大深度为5,)
xgb_model = XGBRegressor(
      n_estimators=1000,  #
增加树的数量
      learning_rate =0.05,  #
降低学习率
      max_depth=5,  #
调整树的深度
      subsample=0.8,  #
调整样本采样比例
      colsample_bytree=0.8  #
调整特征采样比例
    )
 xgb_model.fit(X_train, y_train)
    #
使用XGBoost模型进行预测
 y_pred_xg = xgb_model.predict(X_test)
    #
将XGBoost结果保存到文本文件中
 results_xg_filename = '2.2.4_results_xg.txt'
 results_xg = pd.DataFrame({'
实际值': y_test, '预测值': y_pred_xg})
 results_xg.to_csv(results_xg_filename, index=False, sep='\t')  #
使用制表符分隔值保存到文本文件
    #
将XGBoost测试结果保存到报告文件中
 report_filename_xgb = '2.2.4_report_xgb.txt'
 with open(report_filename_xgb, 'w') as f:
      f.write(f'
均方误差: {mean_squared_error(y_test, y_pred_xg)}\n')
      f.write(f'
决定系数: {r2_score(y_test, y_pred_xg)}\n')

4.2.5
人工智能学习

智能化数据标注在文化遗产数字化保护中的应用指导方案

1. 数据标注工具与方法

l  图像标注:

Ø  使用Label Studio、LabelMe、CVAT等标注工具,为文化遗产图像添加边界框、多边形、点、线段等标注。

Ø  对于复杂的文物细节,可以使用语义分割或实例分割技术,精细到每个物体的每一部分。

l  三维模型标注:

Ø  采用MeshLab或Blender等软件,对3D模型进行顶点、面、体素级别的标注。

Ø  实现对模型内部结构和外部特征的全面标注。

l  属性标签:

Ø  文物的材料、风格、时代、作者、位置等元数据,使用CSV、JSON等格式记录,并关联至相应的图像或模型。

Ø  可以使用数据库管理系统(如MySQL、MongoDB)来存储和管理这些信息。

2. 智能化辅助标注

l  深度学习模型:训练用于图像分割与目标检测的模型,如Mask R-CNN、U-Net等,用于自动识别和标记文物的特定特征。

l  模型训练数据集:构建一个包含大量已标注文化遗产图像的数据集,用于模型训练和验证。

l  模型迭代与优化:定期更新模型,引入新发现的文物类型和特征,提升识别精度。

3. 跨学科团队协作

l  组建由考古学家、艺术史家、计算机视觉专家、AI工程师组成的多学科协同工作团队,共同制定标注标准和工作流程。

l  定期举行会议,讨论标注过程中的问题,调整标注策略。

4. 数据安全与隐私保护

l  使用加密协议(如HTTPS、SSL)存储和传输数据,确保文化遗产信息不被非法获取。

l  遵守相关法律法规,特别是涉及文化遗产的所有权和使用权的规定。

5. 用户体验与公众教育

l  开发Web应用或移动应用程序,允许用户在线浏览、搜索和学习文化遗产的数字化资料。

l  利用虚拟现实(VR)或增强现实(AR)技术,为用户提供沉浸式文化遗产体验,增加教育和娱乐价值。

6. 技术融合与未来展望

l  探索区块链技术的应用,为文化遗产的数字档案提供不可篡改的记录,增强其权威性和可信度。

l  结合AI和物联网技术,监测和预警文化遗产的物理状态变化,及时采取保护措施。

2.2.3
人工智能学习

代码:

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestRegressor
import pickle
from sklearn.metrics import mean_squared_error, r2_score
import xgboost as xgb
    #
加载数据集
df = pd.read_csv('fitness analysis.csv')
    #
显示前五行数据
print(df.head())
    #
去除所有字符串字段的前后空格
df = df.applymap(lambda x: x.strip() if isinstance(x, str) else x)
    #
检查和清理列名
df.columns = df.columns.str.strip()
    #
选择相关特征进行建模
X = df[['Your gender', 'How important is exercise to you ?', 'How healthy do you consider yourself?']]
X = pd.get_dummies(X)  #
将分类变量转为数值变量
    #
将年龄段转为数值变量
y = df['Your age'].apply(lambda x: int(x.split(' ')[0]))  #
假设年龄段为整数
    #
将数据集划分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
    #
创建并训练随机森林回归模型
rf_model = RandomForestRegressor(n_estimators=100, random_state=42)
rf_model.fit(X_train, y_train)
    #
保存训练好的模型
with open('2.2.3_model.pkl', 'wb') as model_file:
    pickle.dump(rf_model, model_file)
    #
进行结果预测
y_pred = rf_model.predict(X_test)
results_df = pd.DataFrame(y_pred, columns=['
预测结果'])
results_df.to_csv('2.2.3_results.txt', index=False)
    #
使用测试工具对模型进行测试,并记录测试结果
train_score = rf_model.score(X_train, y_train)
test_score = rf_model.score(X_test, y_test)
mse = mean_squared_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)
with open('2.2.3_report.txt', 'w') as report_file:
     report_file.write(f'
训练集得分: {train_score}\n')
     report_file.write(f'
测试集得分: {test_score}\n')
     report_file.write(f'
均方误差(MSE): {mse}\n')
     report_file.write(f'
决定系数(R^2): {r2}\n')
    #
运用工具分析算法中错误案例产生的原因并进行纠正
    #
初始化XGBoost回归模型(构建100棵树)
xgb_model = xgb.XGBRegressor(n_estimators=100, random_state=42)
xgb_model.fit(X_train, y_train)
y_pred_xgb = xgb_model.predict(X_test)
results_df_xgb = pd.DataFrame(y_pred_xgb, columns=['
预测结果'])
results_df_xgb.to_csv('2.2.3_results_xgb.txt', index=False)
with open('2.2.3_report_xgb.txt', 'w') as xgb_report_file:
     xgb_report_file.write(f'XGBoost
训练集得分: {xgb_model.score(X_train, y_train)}\n')
     xgb_report_file.write(f'XGBoost
测试集得分: {xgb_model.score(X_test, y_test)}\n')
     xgb_report_file.write(f'XGBoost
均方误差(MSE): {mean_squared_error(y_test, y_pred_xgb)}\n')
     xgb_report_file.write(f'XGBoost
决定系数(R^2): {r2_score(y_test, y_pred_xgb)}\n')

2.2.2
人工智能学习

代码:

import pandas as pd

from sklearn.model_selection import train_test_split

from sklearn.linear_model import LinearRegression

from sklearn.preprocessing import StandardScaler

from sklearn.pipeline import Pipeline

import pickle

from sklearn.ensemble import RandomForestRegressor

# 加载数据集

df = pd.read_csv('auto-mpg.csv')

# 显示前五行数据

print(df.head())

# 处理缺失值

# 将 'horsepower' 列中的所有值转换为数值类型

df['horsepower'] = pd.to_numeric(df['horsepower'], errors='coerce')

# 删除包含缺失值的行

df = df.dropna()

# 选择相关特征进行建模

X = df[['cylinders', 'displacement', 'horsepower', 'weight', 'acceleration', 'model year', 'origin']]

y = df['mpg']

# 将数据集划分为训练集和测试集

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 创建包含标准化和线性回归的管道

pipeline = Pipeline([('scaler', StandardScaler()),('linreg', LinearRegression())])

# 训练模型

pipeline.fit(X_train, y_train)

# 保存训练好的模型

with open('2.2.2_model.pkl', 'wb') as model_file:

pickle.dump(pipeline, model_file)

# 预测并保存结果

y_pred = pipeline.predict(X_test)

results_df = pd.DataFrame(y_pred, columns=['预测结果'])

results_df.to_csv('2.2.2_results.txt', index=False)

# 测试模型

with open('2.2.2_report.txt', 'w') as results_file:

results_file.write(f'训练集得分: {pipeline.score(X_train, y_train)}\n')

    results_file.write(f'测试集得分: {pipeline.score(X_test, y_test)}\n')

# 训练一个随机森林回归模型,创建的决策树的数量为100

rf_model = RandomForestRegressor(n_estimators=100, random_state=42)

rf_model.fit(X_train, y_train)

# 使用随机森林模型进行预测

y_pred_rf = rf_model.predict(X_test)

# 保存新的结果

results_rf_df = pd.DataFrame(y_pred_rf, columns=['预测结果'])

results_rf_df.to_csv('2.2.2_results_rf.txt', index=False)

# 测试模型并保存得分

with open('2.2.2_report_rf.txt', 'w') as results_rf_file:

results_rf_file.write(f'训练集得分: {rf_model.score(X_train, y_train)}\n')

results_rf_file.write(f'测试集得分: {rf_model.score(X_test, y_test)}\n')

2.2.1
人工智能学习

(1) 代码:

import pandas as pd

from sklearn.model_selection import train_test_split

from sklearn.linear_model import LogisticRegression

import pickle

from sklearn.metrics import classification_report

from imblearn.over_sampling import SMOTE

 

# 加载数据

data = pd.read_csv('finance数据集.csv')

    # 显示前五行的数据

print(data.head())

    # 选择自变量和因变量

X = data.drop(['SeriousDlqin2yrs', 'Unnamed: 0'], axis=1)

y = data['SeriousDlqin2yrs']

    # 分割训练集和测试集

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

    # 训练Logistic回归模型

model = LogisticRegression(max_iter=1000)

model.fit(X_train, y_train)

    # 保存模型

with open('2.2.1_model.pkl', 'wb') as file:

     pickle.dump(model, file)

    # 预测并保存结果

y_pred = model.predict(X_test)

pd.DataFrame(y_pred, columns=['预测结果']).to_csv('2.2.1_results.txt', index=False)

    # 生成测试报告

report = classification_report(y_test, y_pred, zero_division=1)

with open('2.2.1_report.txt', 'w') as file:

     file.write(report)

    # 分析测试结果

accuracy = (y_test == y_pred).mean()

print(f"模型准确率: {accuracy:.2f}")

    # 处理数据不平衡

 smote = SMOTE(random_state=42)

 X_resampled, y_resampled = smote.fit_resample(X_train, y_train)

    # 重新训练模型

 model.fit(X_resampled, y_resampled)

    # 重新预测

 y_pred_resampled = model.predict(X_test)

    # 保存新结果

pd.DataFrame(y_pred_resampled, columns=['预测结果']).to_csv('2.2.1_results_xg.txt', index=False)

    # 生成新的测试报告

report_resampled = classification_report(y_test, y_pred_resampled, zero_division=1)

with open('2.2.1_report_xg.txt', 'w') as file:

     file.write(report_resampled)

    # 分析新的测试结果

accuracy_resampled = (y_test == y_pred_resampled).mean()

print(f"重新采样后的模型准确率: {accuracy_resampled:.2f}")