锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

✘three✘

时间:2023-12-26 04:07:02 功勋高压水密连接器

**一**

NumPy是数据科学计算的库。请使用NumPy库,编写Python代码解决坐标点之间的距离。启动Jupyter Notebook创建一个Notebook。(2分)随机生成100个二维坐标点,并存储在数组中arr1。(4分)计算各样本点之间的欧氏距离,并存储在数组中arr2。(4分)数组arr2的形状转换为(100, 100)。(3分)数组arr2存储是当前工作路径下的二进制文件arr2.npy。(2分)

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

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

#(2)随机生成100个二维坐标点,并存储在数组中arr1。(4分)

importnumpy as npx= np.linspace(0, 10, 100)y= np.linspace(10, 20, 100)arr1= np.array((x, y)).T # 数组arr1形状为(100, 2)#(3)计算各样本点之间的欧氏距离,并存储在数组中arr2。(4分)

arr2= []fori in range(len(arr1)):for j inrange(len(arr1)):a =np.sqrt((arr1[i, 0] - arr1[j, 0]) ** 2 (arr1[i, 1] - arr1[j, 1]) ** 2)arr2.append(a)arr2= np.array(arr2)

#(4)数组arr2的形状转换为(100, 100)。(3分)

arr2= arr2.reshape(100, 100)

# (5)将数组arr2存储是当前工作路径下的二进制文件arr2.npy。(2分) np.save('arr2.npy',arr2)

**二**

探索和分析用户用电量数据。data数据集是用户用电量数据,包括三个字段。具体特点如下:请根据用户用电数据编制Python完成以下操作:读取数据文件data.csv,并将其存储为数据框data。(2分)数据框data数据透视表转换为行索引为用户编号,列索引为时间,值为用户用电data_new。(2)采用四分位法对透视表data_new识别和处理中的异常数据。(4分)结构特征1:统计每个用户用电数据的基本统计量(包括最大值、最小值、平均值和中位数),并将结果存储在数据框中feature1。(2分)结构特征2:每个用户用电数据按日差分后,获取基本统计量(包括最大值、最小值、平均值、中位数),将结果存储在数据框中feature2。(2分)结构特征3:要求每个用户的5%分位数,并将结果存储在数据框中feature3。(2分)结构特征4:统计每个用户的日用电量为0.次数超过9倍,结果存储在数据框中feature4。合并特征1、特征2、特征3和特征4,并存储在数据框中feature。(2分)将数据框feature保存到当前工作路径下并命名为feature.csv。(2分)

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

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

importpandas as pddata= pd.read_csv('data.csv', parse_dates=['DATA_DATE'], encoding='gbk')

#(2)数据框data数据透视表转换为行索引为用户编号,列索引为时间,值为用户数据透视表data_new。(2分)

data_new= pd.pivot_table(data=data, values='KWH', index='CONS_NO', columns='DATA_DATE')

#(3)采用四分位法对透视表data_new识别和处理中的异常数据。(4分)defclear_(x=None):QL =x.quantile(0.25) # 下四分位数QU =x.quantile(0.75) # 上四分位数IQR = QU– QL # 四分位距x[((x> QU 1.5 * IQR) | (x < QL - 1.5 * IQR))] = Nonereturn xdata_new.apply(clear_,axis=0)

#(4)结构特征1:统计每个用户用电数据的基本统计量(包括最大值、最小值、平均值和中位数),并将结果存储在数据框中feature1。(2分)

feature1= data_new.agg(['max', 'min', 'mean', 'median'], axis=1)

#(5)结构特征2:按日差分每个用户的用电数据后,获取基本统计量(包括最大值、最小值、平均值、中位数),并将结果存储在数据框中feature2。(2分)

feature2= data_new.diff(axis=1).agg(['max', 'min', 'mean', 'median'], axis=1)

#(6)结构特征3:要求每个用户的5%分位数,并将结果存储在数据框中feature3。(2分)feature3= data_new.quantile(0.05, axis=1)

#(7)结构特征4:统计每个用户的日用电量为0.次数超过9倍,结果存储在数据框中feature4。(2分)

feature4= data_new.apply(lambda x: sum(x > x.max() * 0.9), axis=1)

#(8)并存储在数据框中feature。(2分)

feature= pd.concat([feature1, feature2, feature3, feature4], axis=0)

# (9)数据框feature保存到当前工作路径下并命名为feature.csv。(2分)feature.to_csv('feature.csv')

**三**

泰坦尼克号是英国白星航运公司下辖的一艘奥林匹克级 HYPERLINK"[https://baike.baidu.com/item/游轮/629860](https://baike.baidu.com/item/游轮/629860)" \t"_blank" 游轮,1909年在哈兰德和沃尔夫造船厂建成,1911年下水,1912年试航完成。泰坦尼克号是当时世界上最大、内部设施最豪华的客运船,被誉为永不沉没。泰坦尼克号是当时世界上最大、内部设施最豪华的客运船,被誉为永不沉没。不幸的是,泰坦尼克号在它的处女航空公司遭受了厄运。1912年4月14日,泰坦尼克号与冰山相撞,导致右舷船头破裂至船中部,五个水密舱进水。4月15日,泰坦尼克船体断裂成两段,沉入大西洋底部3700米处。1517人在224名船员和乘客中丧生。经过探究发现,似乎有些人比能生存。接下来,通过生存和遇难者的数据,预测乘客的生存数量。数据文件为titanic.csv,具体特征说明如下:请根据数据编写Python(1)读取数据文件titanic.csv,并将其存储为数据框titanic。(1分)(2)计算乘客生还人数,输出结果。(2分)(3)绘制男女乘客比例饼图,并添加标题男女乘客比例饼图。(3分)(4)绘制票价直方图,并添加x轴标题票价和y轴标题频率。(注:票价需要升级排序。)(3)(5)数据框titanic新列为家庭人数,并将列名设置为familysize”。(2)(6)修改数据框titanic的“Sex用数值1和0代替列Sex”列中的“male”和“female”。(2)(7)Pclass”、“Sex”和“familysize这三个特征预测乘客是否生存。将数据集分为训练集和测试集,训练集和测试集样本的比例为8:2。(4分)(8)施工KNN模型,命名为clf,并进行模型训练。(4分)(9)使用测试集数据进行模型预测,并将结果存储在数组中pre。(2分)(10)评估构建模型的性能,并输出其结果。(性能评估包括精确率的计算、召回率和F1值等分类评价指标。)(2分)

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

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

importnumpy as npimportpandas as pdtitanic= pd.read_csv('titanic.csv')

#(2)计算乘客生还人数,输出结果。(2分)

titanic['Survived'].sum()

#(3)绘制男女乘客比例饼图,并添加标题男女乘客比例饼图。(3分)importmatplotlib.pyplot as pltplt.rcParams['font.sans-serif']= 'SimHei' # 中文显示正常plt.rcParams['axes.unicode_minus']= False # 符号显示正常sex_= titanic['Sex'].value_counts()plt.pie(sex_.values,labels=['Male', 'Female'], autopct='%1.1f%%', startangle=90)plt.title(男女乘客比例饼图)plt.show()

# (4)绘制票价直方图,添加x轴标题票价和y轴标题频率。(注:票价需要先升级排序。)(3分)

df= titanic['fare'].sort_values(ascending=False)plt.figure()plt.hist(df, bins=(np.arange(0, 550, 10)))plt.xlabel(‘票价’)plt.ylabel(频率)plt.title(‘船票价格直方图’)plt.show()

#(5)在数据框中titanic新列为家庭人数,并将列名设置为familysize”。(2分)titanic['familysize'] = titanic.loc[: , 'SibSp'] titanic.loc[: , 'Parch'] 1

titanic['Sex']= titanic['Sex'].map({'female':0, 'male':1}).astype(int)

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

fromsklearn.model_selection import train_test_splitx= titanic.loc[:, ['Pclass', 'Sex', 'familysize']]y= titanic.loc[:, 'Survived']x_train,x_test, y_train, y_test = train_test_split(x, y, test_size=0.2,random_state=42)

#(8)构建KNN模型,命名为clf,并进行模型训练。(4分)

fromsklearn import neighborsclf= neighbors.KNeighborsClassifier(n_neighbors=20)clf.fit(x_train,y_train) # KNN训练

#(9)使用测试集数据进行模型预测,并将结果储存至数组pre。(2分)

pre= clf.predict(x_test) # 模型预测

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

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章