✘two✘

**一**

国际象棋棋盘是个正方形,由横纵向各8格、颜色一深一浅交错排列的64个小方格组成,深色格为黑格,浅色格为白格,棋子就在这些格子中移动。接下来创建一个与国际象棋棋盘相似的8×8矩阵。启动Jupyter Notebook创建一个Notebook。(2分)创建一个8×8的全0数组,并储存至数组arr。(3分)将数组arr的奇数行奇数列和偶数行偶数列的元素设置为1。(4分)将数组arr转换为矩阵matr1。(2分)将矩阵matr1转置为矩阵matr2,并判断矩阵mate1与矩阵matr2是否完全相同。(3分)将矩阵matr2存储为当前工作路径下的一个二进制格式的文件matr2.npy。(2分)

-----------------分割线------------------

#(1)启动JupyterNotebook创建一个Notebook。(2分)

#(2)创建一个8×8的全0数组,并储存至数组arr。(3分)

importnumpy as nparr= np.zeros((8, 8)) # 创建一个8*8数组

#(3)将数组arr的奇数行奇数列和偶数行偶数列的元素设置为1。(4分)

fori in range(8): # 按行循环for j inrange(8): # 按列循环if(i + j) % 2 == 0:# 找出行索引与列索引之和为偶数的元素arr[i][j] = 1 # 将其设置为1

#(4)将数组arr转换为矩阵matr1。(2分)matr1= np.matrix(arr)

#(5)将矩阵matr1转置为矩阵matr2,并判断矩阵mate1与矩阵matr2是否完全相同。(3分)

matr2= matr1.T print((matr1 == matr2).all())

# (6)将矩阵matr2存储为当前工作路径下的一个二进制格式的文件matr2.npy。(2分) np.save('matr2.npy',matr2)

**二**

招聘数据探索与分析。读取数据文件job_info.csv,并储存为数据框job_info。(2分)将数据框job_info的列名称从左至右依次修改为“公司”“岗位”“工作地点”“工资”“发布日期”。(2分)统计数据中需求最多的岗位招聘,并输出其结果。(2分)获取数据中9月3日发布的招聘信息,并输出其结果。(3分)获取工作地点在深圳的数据分析师招聘信息,并输出其结果。(3分)获取在“工资”列中,以“千/月”或“千/年”或“万/月”或“万/年”结尾的数据所在的行的数据,并储存至数据框job_info_new。(3分)根据“工资”列,在数据框job_info_new中,新增最低工资和最高工资两列,列名分别设置为“最低工资(元/月)”和“最高工资(元/月)”。(注意:这两列数据的单位是“元/月”,例如:若2-2.5万/月,则最低工资为20000,最高工资为25000。)(5分)

-----------------分割线------------------

#(1)读取数据文件job_info.csv,并储存为数据框job_info。(2分)

importpandas as pdimportrejob_info= pd.read_csv('job_info.csv', encoding='GBK', header=None)job_info.head()

#(2)将数据框job_info的列名称从左至右依次改修为“公司”“岗位”“工作地点”“工资”“发布日期”。(2分)

job_info.columns= ['公司', '岗位', '工作地点', '工资', '发布日期']job_info.head()

#(3)统计数据中需求最多的岗位招聘,并输出其结果。(2分)

print(job_info['岗位'].value_counts().index[0])

#(4)获取数据中9月3日发布的招聘信息,并输出其结果。(3分)print(job_info[job_info['发布日期'] == '09-03'])

#(5)获取工作地点在深圳的数据分析师招聘信息,并输出其结果。(3分)job_info.loc[(job_info['工作地点'].apply(lambda x: '深圳' in x)) & (job_info['岗位'] == '数据分析师'), :]

#(6)获取在“工资”列中,以“千/月”或“千/年”或“万/月”或“万/年”结尾的数据所在的行的数据,并储存至数据框job_info_new。(3分)job_info['工资'].str[-1].value_counts()job_info['工资'].str[-3].value_counts()index1= job_info['工资'].str[-1].apply(lambdax: x in ['月', '年'])index2= job_info['工资'].str[-3].apply(lambdax: x in ['千', '万'])job_info_new= job_info[index1 & index2]job_info_new.shape

#(7)根据“工资”列,在数据框job_info_new中,新增最低工资和最高工资两列,列名分别设置为“最低工资(元/月)”和“最高工资(元/月)”。(注意:这两列数据的单位是“元/月”,例如:若2-2.5万/月,则最低工资为20000,最高工资为25000。)(5分)defget_max_min_value(x):try:if x[-3] == '万':a = [float(i) *10000 for i in re.findall('\d+.?\d*', x)]elif x[-3] == '千':a = [float(i) * 1000for i in re.findall('\d+\.?\d*', x)]if x[-1] == '年':a = [i / 12 for i ina]except:passreturn asalary= job_info_new['工资'].apply(get_max_min_value)job_info_new['最低工资'] = salary.str[0]job_info_new['最高工资'] = salary.str[1]

**三**

sklearn库不仅囊括了很多机器学习的算法,而且也自带了许多经典的数据集,鸢尾花数据集就是其中之一。鸢尾花数据集包含150个数据样本,分为3类,每类50个数据,每个数据包含4个特征,分别为SepalLength(花萼长度)、SepalWidth(花萼宽度)、PetalLength(花瓣长度)、PetalWidth(花瓣宽度)。通过这4个特征可划分鸢尾花的类别。请根据鸢尾花数据,编写Python代码完成下列操作:使用sklearn库加载鸢尾花数据和数据标签,将鸢尾花数据储存至数据框data,数据标签储存至数据框label。(3分)统计数据中鸢尾花的类别数,并输出其结果。(3分) 以花萼长度为x轴,花萼宽度为y轴,绘制并展示散点图。(3分)将加载好的鸢尾花数据集划分成训练集和测试集两部分,训练集和测试集样本数比例为8:2,并将训练集数据、测试集数据、训练集标签和测试集标签分别储存至数据框x_train,数据框x_test,数据框y_train和数据框y_test。(4分)对数据框x_train和数据框x_test进行离差标准化,将标准化后的训练集和测试集数据分别储存至数据框scaler_x_train和数据框scaler_x_test。(注意:测试集数据需使用和训练集数据相同的规则进行标准化。)(4分)构建决策树分类模型,命名为model,并进行模型训练。(4分)对构建的模型进行性能评估,并输出其结果。(性能评估包括计算精确率、召回率和F1值等分类评估指标。)(4分)

-----------------分割线------------------

#(1)使用sklearn库加载鸢尾花数据和数据标签,将鸢尾花数据储存至数据框data,数据标签储存至数据框label。(3分)fromsklearn.datasets import load_irisiris= load_iris()data= iris['data'] label = iris['target']

#(2)统计数据中鸢尾花的类别数,并输出其结果。(3分)

print(len(set(label)))

#(3)以花萼长度为x轴,花萼宽度为y轴,绘制并展示散点图。(3分)importmatplotlib.pyplot as pltplt.scatter(data[:, 0], data[: , 1])plt.show()

#(4)将加载好的鸢尾花数据集划分成训练集和测试集两部分,训练集和测试集样本数比例为8:2,并将训练集数据、测试集数据、训练集标签和测试集标签分别储存至数据框x_train,数据框x_test,数据框y_train和数据框y_test。(4分)

fromsklearn.model_selection import train_test_splitx_train,x_test, y_train, y_test = train_test_split(data, label, test_size=0.2)

#(5)对数据框x_train和数据框x_test进行离差标准化,将标准化后的训练集和测试集数据分别储存至数据框scaler_x_train和数据框scaler_x_test。(注意:测试集数据需使用和训练集数据相同的规则进行标准化。)(4分)

fromsklearn.preprocessing import MinMaxScalerscaler= MinMaxScaler().fit(x_train)scaler_x_train= scaler.transform(x_train)scaler_x_test= scaler.transform(x_test)

#(6)构建决策树分类模型,命名为model,并进行模型训练。(4分)

fromsklearn.tree import DecisionTreeClassifiermodel= DecisionTreeClassifier()model.fit(scaler_x_train,y_train)

#(7)对构建的模型进行性能评估,并输出其结果。(性能评估包括计算精确率、召回率和F1值等分类评估指标。)(4分)fromsklearn.metrics import classification_report # 模型评估pre=model.predict(scaler_x_test)res= classification_report(y_test, pre)print(res)

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值