版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
房价预测实训手册【项目目标】本项目旨在通过一个完整的房价预测分析任务,引导学生使用真实的二手房数据,体验机器学习解决实际问题的全过程。项目基Python语言,利用Pandas库进行数据预处理,借助Matplotlib工具实现数据可视化,并运用Scikit-learn库构建一元线性回归与多元线性回归模型,分别进行房价预测,实现从数据处理、模型训练到预测结果的完整流程。本项目具体目标如下:(1)了解从原始数据到预测模型的全流程开发步骤;(2)掌握使用Pandas进行数据清洗、筛选与重组的基本方法;(3)掌握使用Matplotlib绘制散点图、柱状图、饼图等,实现数据可视化的能力;(4)掌握使用Scikit-learn构建、训练并调用线性回归模型进行预测的核心技能。注:本项目重点为机器学习回归分析,深度学习相关案例将在项目6、7的项目实训中展开。任务一Pandas基础房价预测实训Pandas一个强大的分析结构化数据的工具集,可以对数据进行运算操作,比如筛选、归并、重组,还有数据清洗和数据加工。Pandas广泛应用在学术、金融、统计学等各个数据分析领域,因此本项目使用Pandas工具对数据进行数据清洗、处理、分析。房价预测实训步骤一:Pandas数据结构以及入门程序Pandas的主要数据结构是Series(一维数据)与DataFrame(二维数据)。Series是一种类似于一维数组的对象,它由一组数据(各种Numpy数据类型)以及一组与之相关的数据标签(即索引)组成。DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值)。DataFrame既有行索引也有列索引,它可以被看做由Series组成的字典(共同用一个索引)。下面通过一个入门的Pandas程序来展示数据结构。定义两列数据:班级名称、班级人数,每行数据一共存取3个班级的记录,如图4-12所示。示例代码如下:importpandasaspdmydataset={'班级名称':["人工智能1班","人工智能2班","人工智能3班"],'班级人数':[50,60,70]}myvar=pd.DataFrame(mydataset)print(myvar)图4-12pandas数据步骤二:Pandas数据结构Series使用方法PandasSeries类似表格中的一个列(column),类似于一维数组,可以保存任何数据类型。Series由索引(index)和列组成,函数如下:pandas.Series(data,index,dtype,name,copy)参数说明:data:一组数据(ndarray类型)。index:数据索引标签,如果不指定,默认从0开始。dtype:数据类型,默认会自己判断。name:设置名称。copy:拷贝数据,默认为False。通过定义一个列表a,转为对应Series数据类型,即定义一个列数据。示例代码如下:a=[1,2,3]myvar=pd.Series(a)print(myvar)运行效果如图4-13所示:图4-13Series数据类型如果没有指定索引,会自动添加索引值,索引值就从0开始,可以根据索引值读取数据。importpandasaspda=[1,2,3]myvar=pd.Series(a)print(myvar[1])输出结果值为2在定义数据时,可以自己定义索引值index,读取数据需要根据索引值获取数据。a=["人工智能1班","人工智能2班","人工智能3班"]myvar=pd.Series(a,index=["x","y","z"])print(myvar)print(myvar["y"])运行效果如图4-14所示:图4-14运行结果步骤三:Pandas数据结构dataFrame使用方法PandasdataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值),如图4-15所示。图4-15Pandas数据组成DataFrame既有行索引也有列索引,它可以被看做由Series组成的字典(共同用一个索引),如图4-16所示。图4-16DataFrame与Series关系DataFrame构造方法如下:pandas.DataFrame(data,index,columns,dtype,copy),参数说明如表4-1所示。表4-1DataFrame构造方法参数说明data一组数据(ndarray、series,map,lists,dict等类型)index索引值,或者可以称为行标签columns列标签,默认为RangeIndex(0,1,2,…,n)dtype数据类型copy拷贝数据,默认为FalsePandasDataFrame是一个二维的数组结构,类似二维数组。下面的代码将一个定义好的列表数据转为DataFrame数据,Pandas可以使用loc属性返回指定行的数据,如果没有设置索引,默认第一行索引为0,第二行索引为1,以此类推。示例代码如下:importpandasaspddata={"班级":["人工智能1班","人工智能2班","人工智能3班"],"人数":[49,60,62]}#数据载入到DataFrame对象df=pd.DataFrame(data)print(df)#返回第一行print(df.loc[0])#返回第二行print(df.loc[1])运行结果如图4-17所示:图4-17DataFrame数据类型任务二数据预处理步骤一:数据读取北京的房价信息表名为bj_house_information.csv,此表通过爬虫爬取的房价数据,包括:朝向,地点,电梯,楼层,小区名称,Id,户型,房屋总价,区域,装修,建筑面积,楼龄等信息,如图4-18所示。图4-18房价信息表名CSV(Comma-SeparatedValues)是一种常用的文本文件格式,用于存储表格数据。它以逗号或制表符作为字段之间的分隔符,每行表示一条记录,记录之间通过换行符分隔。CSV文件可以使用记事本、Excel等常见软件直接打开和编辑,所有记录具有相同的字段结构,适合存储结构化数据。在Python中,一般使用Pandas库来读取和处理CSV文件。Pandas提供了与CSV结构高度兼容DataFrame数据类型,能够方便地进行数据加载、查看与初步分析。代码如下:importpandasaspd#导入二手房数据house_price_df=pd.read_csv('bj_house_information.csv')#打印前5行数据print(house_price_df.head())#打印列名print(house_price_df.columns)运行结果如图4-19所示:图4-19CSV数据可以使用下表的Pandas的数据函数得到对应数据信息,如表4-2所示。表4-2房价Pandas信息打印函数功能house_price_df.describe()给出行数和列数house_price_df.head(3)打印出数据的前3行。house_price_df.tail()打印对应数据的最后5行。house_price_df.loc[8]打印出第八行house_price_df.loc[8,column_1]打印第八行名为「column_1」的列house_price_df.loc[range(4,6)]第4到第6行(左闭右开)的数据子集步骤二:筛选重要字段原始数据集包含12个字段,其中一些字段(如id、楼龄等)对房价的影响较弱,或与预测目标关联性较低。为提高模型效率与可解释性,通常需要进行特征选择,即保留关键字段、移除非必要字段。本步骤演示通过drop()方法删除对房价预测影响较小的列。首先可通过columns属性查看所有字段名称,再根据业务理解与建模需求,选择需删除的字段['Id','朝向','电梯','装修','楼层','小区名称','地点','楼龄']。该操作有助于简化数据集,突出核心特征(如面积、区域、户型等),为后续建模做好准备。代码如下:importpandasaspd#二手房数据house_price_df=pd.read_csv('bj_house_information.csv')#删除一些不重要的列to_drop=['Id','朝向','电梯','装修','楼层','小区名称','地点','楼龄']house_price_df_clean=house_price_df.drop(to_drop,axis=1)#显示列名print(house_price_df_clean.columns)print(house_price_df_clean.head())运行结果如图4-20所示,看到只显示与房价关系大的数据列。图4-20显示与房价关系大的数据列Drop函数其他用法如下:表4-3Drop函数用法函数功能df.drop(5)删除第5行df.drop([1,4])或者df.drop(index=[1,4])删除第1和第4行df.drop(5,axis=1)删除第5列df.drop(['列1','列2'],axis=1)或者df.drop(columns=['列1','列2'])删除第1和第2列步骤三:调整列位置为便于数据查看及后续建模,将预测目标(即“房屋总价”)调整至数据表的首列。这样做既能使目标变量在浏览时更加醒目,也符合一般机器学习任务中特征与标签分开处理的惯例。调整列序后,可进一步输出数据集的总样本量,以帮助了解数据规模。进行列数据位置处理的代码:importpandasaspd#二手房数据house_price_df=pd.read_csv('bj_house_information.csv')#删除一些不重要的列to_drop=['Id','朝向','电梯','装修','楼层','小区名称','地点','楼龄']house_price_df_clean=house_price_df.drop(to_drop,axis=1)#显示列名print(house_price_df_clean.columns)print(house_price_df_clean.head())#重新摆放列位置columns=['房屋总价','建筑面积','区域','户型']house_price_df_clean=pd.DataFrame(house_price_df_clean,columns=columns)print(house_price_df_clean.head())house_total_num=house_price_df_clean['建筑面积'].count()print('房价数据集总数量为:'+str(house_total_num))运行结果如图4-21所示:如图4-21调整重要列数据步骤四:数据清洗为探究房价与面积之间的关系,我们从数据集中提取“建筑面积”与“房屋总价”两列数据,使用Matplotlib的scatter()方法绘制散点图。从散点图中可初步观察到:房价与建筑面积之间大致呈正相关趋势,即随着面积增大,房屋总价整体上升。代码如下:importmatplotlib.pyplotaspltarea=house_price_df_clean['建筑面积']price=house_price_df_clean['房屋总价']#支持中文,如果不加此句将无法显示中文plt.rc('font',family='SimHei',size=13)plt.scatter(area,price)plt.xlabel("建筑面积")plt.ylabel("房屋总价")plt.show()如图4-22房价散点图图4-22中同时可见部分明显异常样本,如“建筑面积”为0的记录。这类异常通常源于数据采集错误或信息缺失,若保留在数据集中将干扰模型训练,影响预测准确性,甚至导致后续计算错误,因此必须在建模前予以清洗。为进一步分析,我们可计算房屋单价作为新特征,即房屋单价df['房屋单价']=df['房屋总价']/df['建筑面积'],该特征可用于后续数据筛选与深入分析。#数据清洗df=house_price_df_cleandf['房屋单价']=df['房屋总价']/df['建筑面积']#去除有缺失项的df.dropna(how='any')#去重重复项df.drop_duplicates(keep='first',inplace=True)#一些别墅的房屋单价有异常,删选价格大于25万一平的df=df.loc[df['房屋单价']<25]area=df['建筑面积']price=df['房屋总价']#支持中文,如果不加此句将无法显示中文plt.rc('font',family='SimHei',size=13)plt.rcParams['font.sans-serif']=['SimHei']plt.scatter(area,price)plt.xlabel("建筑面积")plt.ylabel("房屋总价")plt.show()运行结果如图4-23所示:图4-23去掉异常房价散点图任务三数据可视化步骤一:各区域房价统计与条形图展示通过对北京区各区域的二手房的平均价格与数量进行统计,采用竖值条形图进行展示。通过使用df.groupby将所有样本点按照一个或多个属性划分为多个组,按照二手房区域分组对比二手房数量和每平米房价,示例代码如下所示:df_house_count=df.groupby('区域')['房屋总价'].count().sort_values(ascending=False)df_house_mean=df.groupby('区域')['房屋单价'].mean().sort_values(ascending=False)plt.bar主要生成条形图界面,具体参数如表4-4所示:表4-4条形图界面bar参数参数说明类型Xx坐标整形int,浮点型floatHeight条形的高度整形int,浮点型floatWidth条形的宽度0到1之间1,默认为0.8Botton条形的起始位置也是y轴的起始坐标Align条形的中心位置中心“center”,边缘"lege"Color条形的颜色红色“r",蓝色"b",绿色"g",默认为“b"Edgecolor边框的颜色同上Linewidth边框的宽度像素,默认无,整型inttick_label下标的标签可以是元组类型的字符组合Logy轴使用科学计算法表示布尔型BoolOrientation是竖直条还是水平条竖直:"vertical",水平条:"horizontal"代码如下:importnumpyasnpimportmatplotlib.pyplotaspltimportmatplotlib#将全局的字体设置为黑体matplotlib.rcParams['font.family']='SimHei'#数据N=5y=[20,10,30,25,15]x=np.arange(N)#绘图x轴,以y值作为条形图的高度。p1=plt.bar(x,height=y,width=0.5)#展示图形plt.show()运行效果如图4-24所示:图4-24简单竖值条形图通过使用subplot设置两个子图对房价进行分析,代码如下:df_house_count=df.groupby('区域')['房屋总价'].count().sort_values(ascending=False)df_house_mean=df.groupby('区域')['房屋单价'].mean().sort_values(ascending=False)plt.figure(figsize=(20,10))plt.rcParams['font.sans-serif']=['MicrosoftYaHei']plt.style.use('ggplot')#各区域二手房数量对比plt.subplot(212)plt.title(u'各区域二手房数量对比',fontsize=20)plt.ylabel(u'二手房总数量(单位:间)',fontsize=15)rect1=plt.bar(df_house_count.index,df_house_count.values,color='c')x=df_house_count.indexy=df_house_count.valuesfora,binzip(x,y):plt.text(a,b+50,b,ha='center')#各区域二手房平均价格对比plt.subplot(211)plt.title(u'各区域二手房平均价格对比',fontsize=20)plt.ylabel(u'二手房平均价格(单位:万/平米)',fontsize=15)#区域名称,每个区域的二手房平均价格rect2=plt.bar(df_house_mean.index,df_house_mean.values,color='c')x=df_house_mean.indexy=df_house_mean.values#将柱子的高度值写在柱子上——改掉实验手册里比较复杂的调用函数fora,binzip(x,y):plt.text(a,b+0.1,round(b,2),ha='center')plt.show()运行结果如图4-25所示:图4-25房价简单竖值条形图步骤二:各区域二手房数量百分比饼图展示使用plt.pie实现画饼状图,将各个区域上的二手房数量百分比进行显示。代码如下:#导入模块importmatplotlib.pyplotasplt#数据labels=["A","B","c","d"]fracs=[15,30,45,10]#画图plt.pie(x=fracs,labels=labels)#展示plt.show()运行结果如图4-26所示:图4-26简单饼图将房价按区域进行单价与数据的显示。importmatplotlib.pyplotaspltplt.rcParams['font.sans-serif']=['MicrosoftYaHei']plt.style.use('ggplot')plt.figure(figsize=(10,10))plt.title(u'各区域二手房数量百分比',fontsize=18)plt.pie(df_house_count,radius=3,autopct='%1.f%%',shadow=True,labels=df_house_count.index)plt.axis('equal')plt.show()运行结果如图4-27所示:图4-27房价饼图任务四线性回归模型训练与预测步骤一:一元线性回归预测房价一元线性回归:线性回归是用法非常简单、用处非常广泛、含义也非常容易理解的一类算法,是机器学习的入门比较容易的一种算法。一元线性回归就是要找一条直线,并且让这条直线尽可能地拟合图中的数据点。因此先根据建筑面积和房屋总价利用一元线性回归拟合一条房价预测曲线。代码如下:#先根据建筑面积和房屋总价训练模型(一元线性回归)fromsklearn.linear_modelimportLinearRegressionimportnumpyasnp#定义自变量:房屋面积;自变量:房屋价格area=df['建筑面积']price=df['房屋总价']area=np.array(area).reshape(-1,1)#这里需要注意新版的sklearn需要将数据转换为矩阵才能进行计算print(area)price=np.array(price).reshape(-1,1)#定义一个线性回归对象linearlinear=LinearRegression()#训练模型,linear需要输入二维数组model=linear.fit(area,price)#打印截距和回归系数:截距就是b,回归系数就是kprint('0:',ercept_,model.coef_)#线性回归可视化(数据拟合)linear_p=model.predict(area)plt.figure(figsize=(12,6))plt.scatter(area,price,c="blue")plt.plot(area,linear_p,'red')plt.xlabel("建筑面积")plt.ylabel("房屋总价")plt.show()运行结果如图4-28所示:图4-28一元线性回归步骤二:多元线性回归预测房价在一元性线回归过程中只考虑了建筑面积和房屋总价之间的关系,但是实际影响房价还有其他很多因素,因此引入四个自变量(['建筑面积','区域','装修','电梯'])进行多元线性回归。1、导入第三方库、读入数据、数据整理importpandasaspdfromsklearn.linear_modelimportLinearRegressionimportnumpyasnpimportmatplotlib.pyplotasplt#二手房数据house_price_df=pd.read_csv('bj_house_information.csv')#册除一些不重要的列to_drop=['Id','楼层','小区名称','地点','楼龄','户型','朝向']house_price_df_clean=house_price_df.drop(to_drop,axis=1)#显示列名print(house_price_df_clean.columns)print(house_price_df_clean.head())#重新摆放列位置columns=['房屋总价','建筑面积','区域','电梯','装修',]house_price_df_clean=pd.DataFrame(house_price_df_clean,columns=columns)print(house_price_df_clean.head())lianjia_total_num=house_price_df_clean['建筑面积'].count()print('房价数据集总数量为:'+str(lianjia_total_num))2、数据清洗#数据清洗df=house_price_df_cleandf['房屋单价']=df['房屋总价']/df['建筑面积']#对汇总数据再次清洗df.dropna(how='any')df.drop_duplicates(keep='first',inplace=True)#inplace=True直接修改df#一些别墅的房屋单价有异常,删选价格大于25万一平的df=df.loc[df['房屋单价']<25]print(df.head())len(df)3、训练数据预处理#汉字到数字的映射字典loc_map={'东城':1,'西城':2,'朝阳':3,'海淀':4,'丰台':5,'石景山':6,'通州':7,'昌平':8,'大兴':9,'亦庄开发区':10,'顺义':11,'房山':12,'门头沟':13,'平谷':14,'怀柔':15,'密云':16,'延庆':17,'燕郊':18,'香河':19}renovation_map={'简装':0,'精装':1,'其它':2}elevator_map={'有电梯':1,'无电梯':0}#数据集映射和清洗df=df.copy()df['区域']=df['区域'].map(loc_map)df['装修']=df['装修'].map(renovation_map)df['电梯']=df['电梯'].map(elevator_map)df=df.dropna(how='any')print(df.head())cols=['建筑面积','区域','装修','电梯']x=df[cols]#定义自变量print(x.head())y=df['房屋总价']#定义因变量print(y.head())print(type(x))print(type(y))4、构建线性回归模型,并训练模型#使用train_test_split进行交叉验证fromsklearn.model_selectionimporttrain_test_split#random_state=12随机数种子固定,为了使每次划分数据集相同,方便验证x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.2,random_state=12)print("训练集大小"+str(x_train.shape)+str(y_train.shape))print("测试集大小"+str(x_test.shape)+str(y_test.shape))#模型训练linear=LinearRegression()#定义线性回归对象model=linear.fit(x_train,y_train)print(ercept_,model.coef_)#模型性能评分price_end=model.predict(x_test)score=model.score(x_test,y_test)print("模型得分:",score)#一般模型在0.6以上就表现的不错5、利用训练好的模型预测房价——所有的数据#线性回归可视化(数据拟合)linear_p=model.predict(x)plt.figure(figsize=(12,6))plt.rc('font',family='SimHei',size=13)plt.scatter(x['建筑面积'],y,s=1,c="g")plt.scatter(x['建筑面积'],linear_p,s=1,c="b")#假设我要买一套房子,房子面积120平米,区域东城,精装,有电梯my_house=pd.DataFrame({'建筑面积':[120],'区域':[1],#对应区域东城'装修':[1],#对应精装'电梯':[1]#对应有电梯})my_house_price=model.predict(my_house)print(my_house_price)#预测价格plt.scatter([120],my_house_price,s=50,c="r")plt.xlabel("建筑面积")plt.ylabel("房屋总价")plt.show()运行代码,实现根据['建筑面积','区域','装修','电梯']和房屋总价训练多元线性回归模型。运行效果如图4-29所示:图4-29多元线性回归如图4-28所示,图中绿色点表示原始的房价点,蓝色点是多元线性回归模型预测值,图中红色是输入自己房子的属性(房子面积120平米,区域东城,精装,有电梯)得到房屋总价预测值。项目总结本项目完成了使用机器学习方法实现对房价数据的预测,通过对数据进行读取、处理、清洗、展示,构建机器学习一元线性回归以及多元线性回归模型完成对房价预测。对模型进行训练后,并对模型做了调用与测试。通过本实验可以完整的体验利用机器学习算法实现房价预测的整个应用开发流程。
项目总结报告项目名称姓名学号小组名称(适合小组项目)实施过程记录测试结果总结后期改进思考成员分工(适合小组项目)姓名职责完成情况组长评分考核评价评价标准:1.执行力:按时完成项目任务。2.学习力:知识技能的掌握情况。3.表达力:实施报告详实、条理清晰。4.创新力:在完成基本任务之外,有创新、有突破者加分。5.协作力:团队分工合理、协作良好,组员得分在项目组得分基础上根据组长评价上下浮动。语音助理实验手册【项目目标】本项目是在PC机上实现语音助手功能,用户可与PC机进行语音交互,并通过语音控制PC机打开记事本、计算器、画图板等应用程序。项目采用Python语言,通过调用百度AI平台的语音识别和语音合成API接口实现。项目操作手册与代码可通过扫描本节右侧的二维码获得。本项目具体目标如下:体验语音识别、语音合成效果;了解语音助手应用开发流程;掌握百度AI云平台语音模块API接口调用方法。项目实现效果如图5-15所示,可通过语音控制PC打开记事本、计算器、画图板。图5-15语音助手实现效果项目开发流程如图5-16所示,主要步骤有录音、语音识别、语音合成、播放、集成处理,下面我们将按照流程一步一步完成项目开发。图5-16语音助手项目流程图任务一录音与播放语音助手首先要能够采集语音(录音),并回复语音(播放),在Python编程环境下,通常采用PyAudio库来完成录制和播放音频。PyAudio是一个跨平台的音频处理库,支持录制和播放wav、mp3等格式的音频文件。录音与播放任务的实验手册可以通过扫描二维码获得,本任务运行“录音与播放.ipynb”程序文件,实现录制一段5秒的音频并播放出来。步骤一:创建工程打开“JupyterNotebook”,进入工程文件夹“智能语音助手”,打开“录音与播放.ipynb”文件并运行,即可实现录音5秒,并保存到“test.wav”文件,再播放该录音文件。运行结果如图5-17所示:图5-17任务一运行结果主要代码讲解:1.导入库frompyaudioimportPyAudio,paInt16importnumpyasnpimportwave2.定义全局变量NUM_SAMPLES=2000#pyaudio内置缓冲大小SAMPLING_RATE=16000#取样频率TIME_COUNT=5#录音时间,单位s3.打开音频输入流实例化一个PyAudio对象,并用open方法打开音频输入流,同时设置采样率等参数。pa=PyAudio()#实例化PyAudio对象#打开音频流stream=pa.open(format=paInt16,#取样值的量化格式,常用格式有paFloat32,paInt32,paInt24,paInt16等channels=1,#声道数,1为单声道,2为双声道rate=self.SAMPLING_RATE,#采样频率input=True,#输入流标志,设置为True时,启动输入流frames_per_buffer=self.NUM_SAMPLES)#底层缓存块的大小4.采集音频time_count=self.TIME_COUNT#录音时间5scount=0#初始化计数器为0whilecount<time_count*10:#开始采集音频,循环关闭条件为计数超过5sstring_audio_data=stream.read(self.NUM_SAMPLES)self.Voice_Buff.append(string_audio_data)count+=15.关闭音频流,保存音频文件stream.stop_stream()#停止音频流的数据传输stream.close()#关闭音频流,释放系统资源pa.terminate()#终止PyAudio会话,释放资源self.savewave(filename)#保存音频文件6.播放音频文件chunk=1024#打开录制的音频文件wf=wave.open(filename,'rb')pa=PyAudio()#打开一个数据流对象,解码而成的帧将直接通过它播放出来,我们就能听到声音stream=pa.open(format=pa.get_format_from_width(wf.getsampwidth()),channels=wf.getnchannels(),rate=wf.getframerate(),output=True)#读取第一帧数据data=wf.readframes(chunk)#播放音频#结束的标志为读到了空的帧whiledata!=b'':#将帧写入数据流对象中stream.write(data)#继续读取后面的帧data=wf.readframes(chunk)7.定义主程序入口。实例化录音record对象,开始录音,并保存录音到test.wav文件,最后播放test.wav文件。if__name__=="__main__":r=recorder()#实例化一个录音的对象r.recorder("test.wav")#开始录音,并保存到test.wav文件r.playwav("test.wav")#播放test.wav文件任务二语音识别语音识别和语音合成功能调用百度AI云平台接口,首先要在百度平台创建自己的应用,按照下面步骤实现。步骤一:领取“语音识别”“语音合成”免费资源首先登陆/,进入“开放能力”->“语音技术”->“短语音识别”,然后点击“立即使用”;系统会要求登陆百度AI云平台,可用百度账号登陆,如果没有账号,需要先注册,登陆后进入网页右上角“用户中心”,填写实名认证信息,实名认证后才可使用云平台的AI技能,如图5-18。图5-18登陆百度AI云平台实名认证后,进入“语音技术”界面后,在“概览”页面,“服务列表”中,可以查看的免费资源使用时间和使用次数,如图5-19。图5-19领取免费资源步骤二:创建语音应用领用免费技能资源后,需要创建自己的应用。网页左侧选择“应用列表”,然后点击“创建应用”,填入应用信息。填写内容可参考表5-1:表5-1创建应用参考内容选项填写内容应用名称语音助手接口选择默认无需更改语音包名不需要应用归属个人应用描述语音识别和语音合成实操实验图5-20创建应用及应用查看创建应用后,点击该应用,可进入“应用详情”查看应用内容,这里需要记录“APIKey”和“SecretKey”,在后面程序中使用。在应用详情界面还可以点击“查看文档”,查看百度提供的帮助文件,以及接口调用说明以及Demo示例代码,如图5-20。步骤三:修改asr_raw.py文件中的“APIKey”和“SecretKey”查看项目代码包,本任务使用“asr_raw.py”和“语音识别.ipynb”两个程序文件。其中“asr_raw.py”是调用百度语音识别接口示例文件,需要将文件中的“APIKey”和“SecretKey”替换为自己创建应用中的字符串,在第30、31行,如图5-21所示。图5-21替换“APIKey”和“SecretKey”步骤四:识别录音内容用“JupyterNotebook”打开“语音识别.ipynb”文件,程序内容包括导入依赖包、录音5s、保存文件、识别录音、打印录音结果。#导入依赖包importasr_rawasar#百度语音识别包fromRecordPlayimportrecorder#录音包#录音5s,保存音频到test.wav文件r=recorder()r.recorder("test.wav")#识别录音结果result_str=ar.Voice2Text("test.wav")#识别语音#打印录音结果print("语音识别结果="+result_str)#打印识别结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 冬防筑平安安全伴我行-冬季防火安全主题班会
- 焙烧压煮工岗前设备维护考核试卷含答案
- 火工品管理工班组建设模拟考核试卷含答案
- 香料制造工常识强化考核试卷含答案
- 煤制气工技术实务水平考核试卷含答案
- 听觉口语师岗中技术应用考核试卷含答案
- 水产蛋白提炼工技术实务竞赛考核试卷含答案
- 包装设计师安全管理测试考核试卷含答案
- 变压变温吸附装置操作工班组协作水平考核试卷含答案
- 玉石检验员创新思维能力考核试卷含答案
- 2026年校招:中国银行试题及答案
- 四川省泸州市泸县第五中学2026-2027学年高一上学期9月考试英语试卷
- 海南省海口市2027届高三年级摸底考试生物试题(含解析)
- 2026年物业管理条例考核试题及答案
- 公共娱乐场所电气消防安全培训
- 2026秋新版道德与法治五年级上册教学课件:第七课第1课时 社会主义好-自力更生结硕果 有多个微课视频
- 2026岳阳观盛投资发展有限公司及下属管理企业秋季联合招聘25人笔试备考题库及答案详解
- 第5课 中国人民站起来了 第1课时 课件(内嵌视频)2026-2027学年道德与法治五年级上册统编版
- 制造业公司绩效考核含全套KPI指标库
- 2026年《资料员》考试题库带答案(考试直接用)
- 办公楼物业服务标准(保洁服务类)
评论
0/150
提交评论