房屋价格预测

机器学习——房屋价格预测

点击链接查看文档代码

在这里插入图片描述

一.项目概述及计划

项目背景 :影响房屋价格的因素众多,如房屋面积、房屋层数、配套设施等等。

项目要求 :利用竞赛提供的数据,通过分析影响房屋价格的诸多因素来对房屋价格进行预测。

项目数据 :项目数据分成训练数据(train.txt)和测试数据(test.txt),其中字段” LotConfig”、“ LandSlope”等79个字段是特征变量(不包括ID和SalePrice列),”SalePrice”字段是目标变量。

评估指标 :本项目结果评估指标为均方误差(Mean Squared Error, MSE)。

该项目的基本思路如下图所示。项目所有流程均基于Python实现。

1:这是一个预测房价的项目,首先查看数据的行列情况,显示数据的信息,通过对数据进行分析,把训练集和测试集中NaN中占比高的列同时删除。

2:把数据中的列分为数值类型的列和分类类型的列,统计数据中数值类型和分类类型中包含NaN的列的数量。

3:然后针对空缺值进行处理
(1)第一种方法:只要该行中有空缺值就删除该行,发现留下的数据很少,该方法不可行。
(2)第二种方法:训练集和测试集中数值类型空缺值用中位数替代,分类类型空缺值用None替代。

4:对分类类型列进行LabelEncoding。举例:A, B, C, D, E --LabelEncoding–> 0, 1, 2, 3, 4。

5:把训练集中的数据构建成训练集和验证集。创建回归模型
(1):线性回归;
(2):K折交叉验证;
(3):随机森林;
(4):lightGBM;
(5):XGBoost;

6:根据前面得到的预测误差值,选取lightGBM算法。通过训练集中建造年份、房屋面积等属性列来训练模型。然后对测试集进行测试,输出结果,把结果数据用图像显示出来,最后把结果保存在 LGBR_base_model.csv中。

7:对lightGBM算法进行调参,通过训练集中建造年份、楼层面积等属性列来训练模型。然后对测试集进行测试,输出结果,把结果数据用图像显示出来,最后把结果保存在 LGBR_model2.csv中。

8:比较调参前和调参后的结果,发现两个结果的变化并不大,于是我猜测应该是训练数据量太少的原因。

二.问题描述

让购房者描述他们梦想中的房子,他们可能不会从地下室天花板的高度或与东西铁路的接近程度开始。 但是这个游乐场比赛的数据集证明,与卧室数量或白色栅栏相比,对价格谈判的影响要大得多。
凭借 79 个解释变量(几乎)描述了爱荷华州艾姆斯住宅的各个方面,这项竞赛挑战您预测每栋房屋的最终价格。
该项目要求利用给定的数据(共包括79个解释变量,数值型特征和类别型特征均有)来对房屋价格进行预测,因此考虑采用回归方法进行预测。同时,为了提高预测的准确率(尽量降低RMSE),考虑基于集成学习思想的多个回归模型集成方法。

三.模型建模

基本流程:
在这里插入图片描述模型选择:
在这里插入图片描述在这里插入图片描述

模型介绍:

在这里插入图片描述在这里插入图片描述

模型训练:
在这里插入图片描述特征分析:

在这里插入图片描述在这里插入图片描述

超参调优:

在这里插入图片描述

1:算法建模、训练、验证
1-1:数据集分类
1-1-1:对分类类型列进行LabelEncoding,举例:A, B, C, D, E --LabelEncoding–> 0, 1, 2, 3, 4。

#%%
from sklearn.preprocessing import LabelEncoder
LE = LabelEncoder()
for col in category_columns:train[col] = LE.fit_transform(train[col])test[col] = LE.fit_transform(test[col])
#%%

1-1-2:把训练集中的数据构建成训练集和验证集。

#%%
# 说明:Id不是特征,SalePrice是标签,需要屏蔽
X = train.drop(columns=['Id', 'SalePrice'], axis=1).values 
# 标签 SalePrice
y = train['SalePrice'].values 
#%%

1-2:数据集分离

#%%
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, shuffle=True) # 验证集占比30%,打乱顺序
#%%
# 查看训练集中数据的行列情况
X_train.shape
#%%
# 查看验证集中数据的行列情况
X_test.shape
#%%

在这里插入图片描述

2:创建回归模型
2-1:线型回归

#%%
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_absolute_error
'''
MSE: Mean Squared Error
均方误差是指参数估计值与参数真值之差平方的期望值;
MSE可以评价数据的变化程度,MSE的值越小,说明预测模型描述实验数据具有更好的精确度。
'''
LR = LinearRegression()
# 训练
LR.fit(X_train, y_train) 
# 预测
y_pred = LR.predict(X_test)
# 将预测的房屋价格值和真实的房屋价格值传入MSE评估指标方法中,得到MSE
print(f'Root Mean Squared Error : {np.sqrt(mean_absolute_error(np.log(y_test), np.log(y_pred)))}')
#%%

在这里插入图片描述

2-2:K折交叉验证

#%%
from sklearn.model_selection import KFold
# 10折
kf = KFold(n_splits=10)
# 用来保存10折运行的结果
rmse_scores = []
# 分割元数据,生成索引
for train_indices, test_indices in kf.split(X): # 训练集和验证集X_train, X_test = X[train_indices], X[test_indices] # 训练标签集和验证标签集y_train, y_test = y[train_indices], y[test_indices] # 初始化线性回归模型对象LR = LinearRegression(normalize=True)# 训练LR.fit(X_train, y_train) # 预测y_pred = LR.predict(X_test) # 评估rmse = np.sqrt(mean_absolute_error(np.log(y_test), np.log(abs(y_pred)))) # 累计每一轮的验证结果rmse_scores.append(rmse) 
# 得到10组均方根误差
print("rmse scores : ", rmse_scores)
# 得到均方根误差平均值
print(f'average rmse score : {np.mean(rmse_scores)}')
#%%

在这里插入图片描述

2-3:随机森林

#%%
from sklearn.ensemble import RandomForestRegressor
# K折交叉验证
kf = KFold(n_splits=10)
# 用来保存10折运行的结果
rmse_scores = [] 
for train_indices, test_indices in kf.split(X):X_train, X_test = X[train_indices], X[test_indices]y_train, y_test = y[train_indices], y[test_indices]# 初始化模型RFR = RandomForestRegressor() # 基模型# 训练/fit拟合RFR.fit(X_train, y_train)# 预测y_pred = RFR.predict(X_test)# 评估rmse = mean_absolute_error(y_test, y_pred)# 累计结果rmse_scores.append(rmse)
# 得到10组均方根误差
print("rmse scores : ", rmse_scores)
# 得到均方根误差平均值
print(f'average rmse scores : {np.mean(rmse_scores)}')
#%%

在这里插入图片描述

2-4:lightGBM

#%%
import lightgbm as lgb
# K折交叉验证
kf = KFold(n_splits=10)
# 用来保存10折运行的结果
rmse_scores = [] 
for train_indices, test_indices in kf.split(X):X_train, X_test = X[train_indices], X[test_indices]y_train, y_test = y[train_indices], y[test_indices]# 初始化模型LGBR = lgb.LGBMRegressor() # 基模型# 训练/fit拟合LGBR.fit(X_train, y_train)# 预测y_pred = LGBR.predict(X_test)# 评估rmse = mean_absolute_error(y_test, y_pred)# 累计结果rmse_scores.append(rmse)
# 得到10组均方根误差
print("rmse scores : ", rmse_scores)
# 得到10组均方根误差平均值
print(f'average rmse scores : {np.mean(rmse_scores)}')
#%%

在这里插入图片描述

2-5:XGBoost

#%%
import xgboost as xgb
# K折交叉验证
kf = KFold(n_splits=10)
# 用来保存10折运行的结果
rmse_scores = [] 
for train_indices, test_indices in kf.split(X):X_train, X_test = X[train_indices], X[test_indices]y_train, y_test = y[train_indices], y[test_indices]# 初始化模型XGBR = xgb.XGBRegressor() # 基模型# 训练/fit拟合XGBR.fit(X_train, y_train)# 预测y_pred = XGBR.predict(X_test)# 评估rmse = mean_absolute_error(y_test, y_pred)# 累计结果rmse_scores.append(rmse)
# 得到10组均方根误差
print("rmse scores : ", rmse_scores)
# 得到10组均方根误差平均值
print(f'average rmse scores : {np.mean(rmse_scores)}')
#%%

在这里插入图片描述根据上述结果可知采用lightGBM算法训练模型是最好的方式。

LightGBM是微软开发的一款快速、分布式、高性能的基于决策树的梯度Boosting框架。其拥有基于Histogram 的决策树算法,直方图做差加速,带深度限制的Leaf-wise的叶子生长策略,直接支持类别特征,基于直方图的稀疏特征优化,多线程优化的改进。主要有更快的训练效率、低内存使用、更好的准确率、支持并行学习、可处理大规模数据等优势。

3:模型预测

#%%
# 测试集的行列数
test.shape
#%%
# 显示测试集数据,没标明默认显示前5行数据
test.head()
#%%
# 根据前面的预测结果,选取lightGBM算法,在整个数据集上训练
LGBR.fit(X, y) 
# 测试集中Id并不是特征,这里需要删除,然后开始训练
test_pred = LGBR.predict(test.drop('Id',axis=1).values)
#%%
# 创建一个只有一列为一列为SalePrice的DataFrame型数据result_df
result_df = pd.DataFrame(columns=['SalePrice'])
# 把刚刚训练得到的数据放到result_df中
result_df['SalePrice'] = test_pred
# 把数据导出到LGBR_base_model.csv中
result_df.to_csv('LGBR_base_model.csv', index=None, header=True)
#%%
# 显示result_df中的数据
result_df
#%%
# 用图表示result_df中的数据
result_df['SalePrice'].plot(figsize=(16,8))
#%%

在这里插入图片描述在这里插入图片描述在这里插入图片描述

4:lightGBM算法调参

#%%
train_data = lgb.Dataset(X_train, label=y_train) # 训练集
test_data = lgb.Dataset(X_test, label=y_test, reference=train_data) # 验证集
#%%
# 参数
params = {'objective':'regression', # 目标任务'metric':'rmse', # 评估指标'learning_rate':0.1, # 学习率'max_depth':15, # 树的深度'num_leaves':20, # 叶子数
}
# 创建模型对象
model = lgb.train(params=params,train_set=train_data,num_boost_round=300,early_stopping_rounds=30,valid_names=['test'],valid_sets=[test_data])
#%%
# 最后一次为MES最小的值score
score = model.best_score['test']['rmse']
# 输出score
score
#%%
# 测试集中Id并不是特征,这里需要删除,然后开始训练
test_pred = model.predict(test.drop('Id',axis=1).values)
#%%
# 创建一个只有一列为一列为SalePrice的DataFrame型数据result_df2
result_df2 = pd.DataFrame(columns=['SalePrice'])
# 把刚刚训练得到的数据放到result_df2中
result_df2['SalePrice'] = test_pred
# 把数据导出到LGBR_model2.csv中
result_df2.to_csv('LGBR_model2.csv', index=None, header=True)
#%%
# 用图表示result_df2中的数据,
result_df2['SalePrice'].plot(figsize=(16,8))
#%%

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

四.实验分析

4.1 数据分析
(1):读取数据集

#%%
# 读取数据集
train = pd.read_csv("train.csv")
test = pd.read_csv("test.csv")
#%%

(2):查看数据的行列情况

#%%
# 查看训练集数据的行列情况
train.shape
#%%
# 查看测试集数据的行列情况
test.shape
#%%

在这里插入图片描述

(3):显示训练集数据的信息和显示训练集数据描述

#%%
# 显示训练集数据的信息
train.info()
#%%
# 数据描述
train.describe()
#%%

在这里插入图片描述在这里插入图片描述

#%%
# 统计训练集每一列NaN的数量
train.isnull().sum().sort_values(ascending=False)
#%%
# 训练集每一列中,NaN所占比例
train.isnull().sum().sort_values(ascending=False) / train.shape[0]
#%%
# 测试集每一列中,NaN所占比例
test.isnull().sum().sort_values(ascending=False) / test.shape[0] 
#%%
# 将训练集和测试集中 PoolQC,MiscFeature,Alley,Fence 列删除
train.drop(columns=['PoolQC','MiscFeature','Alley','Fence'], axis=1, inplace=True)
test.drop(columns=['PoolQC','MiscFeature','Alley','Fence'], axis=1, inplace=True)
#%%

在这里插入图片描述在这里插入图片描述在这里插入图片描述

(5):统计数据的数值类型的列和分类类型的列,并输出两种列的数量

#%%
# 统计train,test所有列中的:数值类型的列和分类类型的列
number_columns = [ col for col in train.columns if train[col].dtype != 'object']
category_columns = [col for col in train.columns if train[col].dtype == 'object']
#%%
# 数值类型的列的数量
len(number_columns)
#%%
# 分类类型的列的数量
len(category_columns)
#%%

在这里插入图片描述在这里插入图片描述

(6):用图形显示数值类型列的数据分布并分别绘制建造年份、楼层面积与售价之间的关系图

#%%
# 绘制显示数值类型列的数据分布
fig, axes = plt.subplots(nrows=13, ncols=3, figsize=(20, 18))
axes = axes.flatten()
for i, col in zip(range(len(number_columns)), number_columns):sns.distplot(train[col], ax=axes[i])plt.tight_layout()
#%%
# 建造年份YearBuilt与售价SalePrice 的关系
plt.figure(figsize=(16, 8)) # 画布大小
plt.title("YearBuilt vs SalePrice")
sns.scatterplot(train.YearBuilt, train.SalePrice)
plt.show()
#%%
# 楼层面积1stFlrSF与售价SalePrice 的关系
plt.figure(figsize=(16, 8))
sns.scatterplot(x='1stFlrSF', y='SalePrice', data=train)
plt.show()
#%%

在这里插入图片描述在这里插入图片描述在这里插入图片描述

(7):通过箱线图绘制数据较为离散的特征

在这里插入图片描述在这里插入图片描述
在这里插入图片描述根据图形结果分析可得,verallQual(总体评价)对于价格的影响真的巨大,所以买卖口碑真的是非常重要,其他离散特征与目标变量间的联系也是具有很明显的趋势的。

(8):绘制分类类型列的数据分布图

#%%
# 绘制显示分类类型列的数据分布
fig, axes = plt.subplots(13, 3, figsize=(25, 20))
axes = axes.flatten()
for i, col in enumerate(category_columns):sns.stripplot(x=col, y='SalePrice', data=train, ax=axes[i])
plt.tight_layout()
plt.show()
#%%

在这里插入图片描述

(9):统计训练集中有哪些列包含NaN,输出训练集中数据类型和分类类型中包含NaN的列的数量

#%%
# 统计训练集中有哪些列包含NaN
train_nan_num = [] # train中数值类型包含NaN的列
train_nan_cat = [] # train中分类类型包含NaN的列
for col in number_columns:if train[col].isnull().sum() > 0:train_nan_num.append(col)
for col in category_columns:if train[col].isnull().sum() > 0:train_nan_cat.append(col)
#%%
# 训练集中数值类型包含NaN的列的数量
len(train_nan_num)
#%%
# 训练集中分类类型包含NaN的列的数量
len(train_nan_cat)
#%%

在这里插入图片描述在这里插入图片描述

(10):统计测试集中有哪些列包含NaN,输出测试集中数据类型和分类类型中包含NaN的列的数量

#%%
# 统计测试集中有哪些列包含NaN
test_nan_num = [] # test中数值类型的列
test_nan_cat = [] # test中分类类型的列
# 注意:需要将SalePrice清理,因为test中没有SalePrice
number_columns.remove('SalePrice')
for col in number_columns:if test[col].isnull().sum() > 0:test_nan_num.append(col)
for col in category_columns:if test[col].isnull().sum() > 0:test_nan_cat.append(col)
#%%
# 测试集中数值类型包含NaN的列的数量
len(test_nan_num)
#%%
# 测试集中分类类型包含NaN的列的数量
len(test_nan_cat)
#%%

在这里插入图片描述
在这里插入图片描述

(11):针对数据中有NaN的情况
方法(1):简单粗暴:直接删除

#%%
# 只要该行中有空缺值就删除该行,发现留下的数据很少,该方法不可行
train_one = train.dropna(axis=0)
test_one = test.dropna(axis=0)
print(train_one.shape)
print(test_one.shape)
#%% 

在这里插入图片描述

方法(2):折中法:对于数值类型列,取中位数;对于分类类型列,取None

#%%
# 训练集中数值类型空缺值用中位数替代,分类类型空缺值永None替代
for col in train_nan_num:train[col].fillna(train[col].median(), inplace=True) 
for col in train_nan_cat:train[col].fillna('None', inplace=True)
#%%
#%%
# 测试集中数值类型空缺值用中位数替代,分类类型空缺值用None替代
for col in test_nan_num:test[col].fillna(test[col].median(), inplace=True) # 中位数
for col in test_nan_cat:test[col].fillna('None', inplace=True)
#%%

4.2 实验环境
Windows 10
PyCharm 2019.2.5
Python 3.8.1
Anaconda3
Jdk1.8

4.3 实验结果
1:选取lightGBM算法,通过训练集中建造年份、房屋面积等属性列来训练模型。对测试集进行测试得到的结果为:
在这里插入图片描述在这里插入图片描述

2:对lightGBM算法进行调参后,通过训练集中建造年份、房屋面积等属性列来训练模型。对测试集进行测试得到的结果为:

在这里插入图片描述
在这里插入图片描述

3:比较调参前和调参后的结果,发现两个结果的变化并不大,于是我猜测应该是训练数据量太少的原因。

4.4 实验对比(竞赛排名)
在这里插入图片描述在这里插入图片描述点击链接查看文档代码

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据分析项目——深圳二手房价分析及价格预测

目录 一、需求说明 1.1基本任务 1.2 任务目的 1.3测试数据 二、概要设计说明 三、详细设计 3.1 数据检测模块 3.2 因变量分析模块 3.3 自变量分析模块 3.4 可视化模块 3.5 建立预测模型模块 3.6预测模块 一、需求说明 深圳二手房数据分析及价格预测的总体目标&#xff1a…

波士顿房价预测(终版讲解)

代码段分四个部分:库的引入、加载数据(函数)、配置网络结构(类)、运行部分(获取数据,创建网络,启动训练,作图) 我的是基础版,库只用到了numpy和ma…

基于大数据的房价数据可视化分析预测系统

温馨提示:文末有 CSDN 平台官方提供的博主 Wechat / QQ 名片 :) 1. 项目背景 房地产是促进我国经济持续增长的基础性、主导性产业,二手房市场是我国房地产市场不可或缺的组成部分。由于二手房的特殊性,目前市场上实时监测二手房市场房价涨幅的…

Kaggle房价预测详解

Kaggle房价预测详解 1.导入数据2.查看各项主要特征与房屋售价的关系查看中央空调与售价关系查看装修水平与房价关系查看建造日期与售价关系不同地段与房价关系查看地皮面积与房价关系查看地下室总面积与房价关系查看关联性 3.训练集数据预处理训练数据预处理创建机器学习模型得…

数据集:波士顿地区房价预测

数据集:波士顿地区房价预测 数据集下载地址 本文以线性回归模型预测为主 1. 数据集说明 变量名变量描述CRIM城镇人均犯罪率ZN住宅地超过25000平方英尺的比例INDUS城镇非零售商用土地的比例CHAS查理斯河空变量(如果边界是河流,则为1&#x…

AI for Science的上半场:人工智能如何重新定义科学研究新范式?

AI发展七十余年,每一技术性突破都将给人类未来开辟新一种可能性。而它与科学研究的深度融合,则会裂变出无数或无穷种可能性。 来源 :36氪 万众瞩目下,今年10月,有着诺贝尔奖“嫡传”之称的诺贝尔化学奖终于揭晓,授予了…

【分享NVIDIA GTC 23大会干货】加速生成式AI在生物学和医疗领域的应用

【分享NVIDIA GTC 23大会干货】加速生成式AI在生物学和医疗领域的应用 1. NVIDIA医疗领域AI计算平台——NVIDIA CLARA2. NVIDIA CLARA医学影像子平台——MONAI3. NVIDIA CLARA医疗设备子平台——Holoscan4. NVIDIA基因组学解决方案Parabricks5. NVIDIA药物研发解决方案6. 个人思…

GTC 2023 万字纪要 | Don‘t Miss This Defining Moment in AI

「Don’t Miss This Defining Moment in AI」 「切勿错过 AI 的决定性时刻」 北京时间 2023 年 3 月 21 日 23:00,「皮衣刀客」黄教主在 GTC 2023 发表主题如上的 Keynote 演讲,并称「这将是我们迄今为止最重要的一次 GTC」,NVIDIA官方 Twi…

「国际科技信息中心SCITIC论坛」细胞,基因和人工智能:探索医学研究的未来...

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 随着科技的不断进步,我们现在拥有了许多前所未有的工具和技术,可以更深入地研究和了解人体内部的细胞和基因。人工智能技术的发展,也为医学研究带来了全新的机遇。例如&#…

明天10:00「国际科技信息中心SCITIC论坛」细胞,基因和人工智能:探索医学研究的未来...

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 随着科技的不断进步,我们现在拥有了许多前所未有的工具和技术,可以更深入地研究和了解人体内部的细胞和基因。人工智能技术的发展,也为医学研究带来了全新的机遇。例如&#…

Nat. Biotechnol. | 生成式AI在生物科学领域发展迅速

在过去的一年中,人工智能迎来了突破性的技术,它们来自OpenAI的DALL-E2和ChatGPT。 Link: https://openai.com/dall-e-2 Link: https://openai.com/blog/chatgpt 或许你在网络上已经或多或少了解了一些,甚至已经在无意中使用过了这些技术所带来…

OpenAI新模型惊艳了!对话问答能力逆天

编|昕朋 Aeneas源|新智元 OpenAI新模型来了!全新对话模型ChatGPT,可以回答用户问题,还能挑出问题的错误之处。面对不懂的问题,还会承认错误并拒绝回答! 当人们翘首期待GPT-4时,OpenA…

买股不如买基?Python实现快速追踪基金的收益情况!谁还不是个买基高手?

​ 大家知道,近几年,不少同学都是经由基金进入到股市中的。去年就很流行“买股不如买基”的说话,至于股票和基金到底谁更好,这个仁者见仁智者见智,恐怕一时半会儿也说不清楚。 今天,阳哥给大家分享的主题是…

研报精选230505

目录 【行业230505国信证券】风电or电网产业链周评(4月第5周):海风开发资源集中释放,黑色类原材料价格持续下行 【行业230505天风证券】通信AI系列之:人工智能之火点燃算力需求,AI服务器迎投资机遇 【行业2…

你最关心的4个零代码问题,ChatGPT 帮你解答了!

作为人工智能(AI)新型聊天机器人模型 ChatGPT,刚上线5天就突破100万用户,两个多月全球用户量破亿,不愧为业界最炙热的当红炸子鸡。 ChatGPT 是一种语言生成模型,由 OpenAI 开发和训练。它是基于 Transform…

问ChatGPT:零基础如何学好.Net Core?

更多开源项目请查看:一个专注推荐.Net开源项目的榜单 ChatGPT横空出世,一下子让全球互联网企业都慌了,纷纷表示:马上跟进发布ChatGPT,媒体纷纷报道大有改变教培行业。 下面我们问问ChatGPT:零基础如何学好…

GPT-4刚发布就有手机APP接入,上传照片视频一键解读,还当起了美版知乎的问答bot...

萧箫 发自 凹非寺量子位 | 公众号 QbitAI GPT-4刚发布,就已经有手机应用接入了! 只需要上传图像,再用语音提出需求,GPT-4就能帮助视障人士“看清”眼前的世界。 随时随地,实时解读,就像聊天对话一样自然。 …

whisper:robust speech recognition via large-sacle weak supervision

OpenAI Whisper 精读【论文精读45】_哔哩哔哩_bilibili更多论文:https://github.com/mli/paper-reading, 视频播放量 68331、弹幕量 327、点赞数 2332、投硬币枚数 1192、收藏人数 983、转发人数 394, 视频作者 跟李沐学AI, 作者简介 ,相关视频&#xff…

《通义听悟能这么用?大佬语音面试音频通义AI总结》

此文章更适用与:有会议记录、直播记录、面试记录的朋友和知识内容博主等 1、把录音视频文件上传到电脑 2、上传音视频入口 3、上传音视频 4、选择语言是否翻译 5、选择是否区分发言人 我这里是某大佬的语音面试音频文件,选择了2人对话。 6、效果展示 总…

强到离谱!2023年必备的21款AI工具

2022年是AI技术大发展的一年,特别是ChatGPT的很空出世,让AI工具迎来大爆发,今天就给大家整理出21款免费且实用的AI工具推荐,无论是做设计还是日常学习工作都能用得到。2023年已经开始,让这些AI工具帮你提升生产效率&am…