赞
踩
D.[1,4,9,16,25,36,49,64,81]
16.下列不属于HTTP/1.1协议请求方法的是( D ).
A.GET
B.POST
C.DELETE
D.PUSH
51.数据挖据的主要任务是从数据中发现潜在的规则,从而能更好地完成描述数据和预测数据等任务。( ✔ )
53.在Python环境中,被三引号包围的一定是字符串( ✔ )
54.在train_test_split函数中,test_size参数表示测试集的大小( ✔ )
55.Hadoop框架是用Java实现的( ✔ )
56.在服务端HTTP的响应状态码中,403表示服务器无法找到请求页面。( ✘ )
57.K-Means算法一般采用欧式距离作为样本间相似性的度量,即认为两个样本的距离城近,其相以性就越大( ✔ )
58.Linux操作系统的管理员权限和普通用户权限相同( ✘ )
67.在正则表达式语法中,“.”可以匹配任意字符。(✘ )
68.在MySQL中,拥有最高权限的超级用户的用户名为Administrator。( ✘ )
(2)创建一个数值从0至1,间隔为0.01的数组arr1。
import numpy as np
arr1=np.arange(0,1.01,0.01)
(3)创建一个包含101个服从正态分布的随机数的数组arr2。(注意:数组arr2为一维数组)
arr2=np.random.randn(101)
print('和是:\n',arr1+arr2)
print('差是:\n',arr1-arr2)
print('积是:\n',arr1*arr2)
print('商是:\n',arr1/arr2)
(5)对数组arr2进行简单的统计分析,并输出其结果。(统计分析包括对数组进行升序排序、求和、求均值、求标准差和求最小值操作)。
print('排序后:\n',np.sort(arr2))
print('和:\n',np.sum(arr2))
print('均值:\n',np.mean(arr2))
print('标准差:\n',np.std(arr2))
print('最小值:\n',np.min(arr2)
np.savez('arr.npz',arr1,arr2)
2.请编写Python代码,对鸢尾花数据完成下列操作:
(1)读取数据文件iris.csv,储存为数据框iris,并将数据框的列名称从左至右依次修改为"sepal_length""sepal_width""petal_length""petal_width""class".
import pandas as pd
iris = pd.read_csv('iris.csv',header = None)
iris.columns = ['sepal_length','sepal_width','petal_length','petal_width','class']
iris.loc[0:9,'petal_length']= None
(3)将数据框iris中"petal_length"列的缺失值全部替换为1.0。
iris['petal_length'].fillna(1.0,inplace=True)
del iris['class']
(5)将数据框iris的前3行设置为缺失值。
iris.iloc[0:3,:]= None
(6)删除数据框isir中存在缺失值的行。
iris.dropna(how ='any',inplace=True)
(7)重新设置数据框iris的行索引.
iris.reset_index(drop=True,inplace=True)
iris.to_csv('iris_new.csv')
3.葡萄酒是以葡萄为原料酿造的一种果酒。葡萄酒的品种很多,因葡萄的栽培、葡萄酒生产工艺条件的不同,产品风格各不相同。Wine数据集包含3种不同的葡萄酒的记录共178条。其中,每个特征对应葡萄酒的每种化学成分,并且都属于连续型数据,诵过对wine数据集的数据进行聚类,实现葡萄酒的类别划分.
请依据wine数据集,编写Python代码完成下列操作:
(1)读取数据文件wine.csv,并储存为数据框wine。
.import pandas as pd
wine = pd.read_csv('wine.csv',encoding='gb18030')
(2)查询据框wine中是否存在缺失值。若存在缺失值,则需对其进行处理;反之,则无需处理。
print(wine.isnull().sum())
(3)在wine数据集中,"Cass"列为葡萄酒的类别,分别为1、2和3。绘制各类别的数量占比饼图.
wine_class =wine['Class'].value_counts()
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']='SimHei'
plt.rcParams['axes.unicode_minus']=False
plt.pie(wine_class,labels=wine_class.index,autopct='%.2f%%')
plt.title('各红酒类别占比图')
plt.show()
(4)将数据框wine的数据和标签进行折分,分别储存至数据框wine_data和数据框wine_label.
wine_data = wine.iloc[:,1:14]
wine_label = wine.iloc[:,0]
(5)将数据划分为训练集和测试集,训练集和测试集样本数比例为8:2,并将训练集数据、测试集数据、训练集标签和测试集标签分别储存至数据框wine_train、数据框wine_test、数据框wine_train_labelt和数据框wine_test_label.
from sklearn.model_selection import train_test_split
wine_train,wine_test,wine_train_label,wine_test_label= train_test_split\
(wine_data,wine_label,test_size=0.2,random_state=42)
(6)构建聚类数目为3的K-Means模型,并命名为kmeans。
from sklearn.cluster import KMeans
kmeans =KMeans(n_clusters =3,random_state=123).fit(wine_train)
(7)对比真实标签和聚类标签,求取FMI(FMI为聚类模型的评价指标),并输出其结果.
from sklearn.metrics import fowlkes_mallows_score
score =fowlkes_mallows_score(wine_train_label.tolist(),kmeans.labels_)
print('wine数据集的类中心为3时,其FMI的评价分值为:%f'%score)
(8)当聚类数目为2~10类时,确定最优聚类数目。
for i in range(2,11):
kmeans =KMeans(n_clusters=i,random_state=123).fit(wine_train)
score= fowlkes_mallows_score(wine_train_label,kmeans.labels_)
print('wine数据聚%d类FMI评价分值为:%f' %(i,score))
4.国际象棋棋盘是个正方形,由横纵向各8格、颜色一深一浅交错制排列的64个小方格组成,深色格为黑格,浅色格为白格,棋子就在这些格子中移动。接下来创建一个与国际象棋棋盘相似的8×8矩阵。
(1)启动Jupyter Notebook创建一个Notebook。
(2)创健一个8×8的全0数组,并储存至数组arr。
import numpy as np
arr =np.zeros((8,8))
(3).将数组arr的奇数行奇数列和偶数行偶数列的元素设置为1。
for i in range(8):
for j in range(8):
if(i+j)%2 ==0:
arr[i][j] =1
(4).将数组arr转换为矩阵matr1。
matr1 =np.matrix(arr)
(5).将矩阵matr1转置为矩阵matr2,并判断矩阵mate1与矩阵matr2是否完全相同。
matr2=matr1.T
print((matr1 ==matr2).all())
(6)将柜阵matr2存储为当前工作路径下的一个二进制格式的文件matr2.npy。
np.save('matr2.npy',matr2)
5.招聘数据探索与分析。
(1)读取数据文件job_info.csv,并储存为数据框job_info.
import pandas as pd
import re
job_info =pd.read_csv('job_info.csv',encoding='GBK',header=None)
job_info.head()
(2)将数据框job_info的列名称从左至右依次修改为”公司”“岗位”"工作地点”“工资”“发布日期”。
job_info.columns=['公司','岗位','工作地点','工资','发布日期']
job_info.head()
(3)统计数据中需求最多的岗位招聘,并输出其结果。
print(job_info['岗位'].value_counts().index[0])
(4).获取数据中9月3日发布的招聘信息,并输出其结果。
print(job_info[job_info['发布日期']=='09-03'])
(5).获取工作地点在深圳的数据分析师招聘信息,并输出其结果。
job_info.loc[(job_info['工作地点'].apply(lambda x:'深圳' in x ))&(job_info['岗位']=='数据分析师'),:]
(6)获取在“工资”列中,以“千/月”或“千/年”或“万/月”或“万/年”结尾的数据所在的行的数据,并储存至数据框ob_info_new。
job_info['工资'].str[-1].value_counts()
job_info['工资'].str[-3].value_counts()
index1=job_info['工资'].str[-1].apply(lambda x:x in ['月','年'])
index2=job_info['工资'].str[-3].apply(lambda x:x in ['千','万'])
job_info_new =job_info[index1 & index2]
job_info_new.shape
(7)根据“工资”列,在数据框job_info_new中,新增最低工资和最高工资两列,列名分别设置为“最低工资(元/月)”和“最高工资(元/月)”。(注意:这两列数据的单位是“元/月”,例如:若2-2.5万/月,则最低工资为20000,最高工资为25000.)
def get_max_min_value(x):
try:
if x[-3] == '万':
a = [float(i)* 10000 for i in re.findall('\c+\.?\c*',x)]
elif x[-3]== '千':
a = [float(i)* 1000 for i in re.findall('\c+\.?\c*',x)]
if x[-1] == '年':
a = [i/12 for i in a ]
except:
pass
return a
salary = job_info_new['工资'].apply(get_max_min_value)
job_info_new['最低工资'] = salary.str[0]
job_info_new['最高工资'] = salary.str[1]
6.sklean库不仅囊括了很多机器学习的算法,而但也自带了许多经典的数据集,鸢尾花数据集就是其中之一。鸢尾花数据集包含150个数据样本,分为3类,每类50个数据,每个数据包含4个特征,分别为SepalLength(花萼长度)、SepaIWidth(花萼宽度)、PetalLength(花瓣长度)、PetalWidth(花瓣宽度),通过这4个特征可划分鸢尾花的美的类别。
请根据鸢尾花数据,编写Python代码完成下列操作:
(1)使用sklearn库加载鸢尾花数据和数据标签,将鸢尾花数据储存至数据框data,数据标签储存至数据框label。
from sklearn.datasets import load_iris
iris =load_iris()
data =iris['data']
label=iris['target']
(2)统计数据中鸢尾花的类别数,并输出其结果。
print(len(set(label)))
(3)以花萼长度为x轴,花萼宽度为y轴,绘制并展示散点图。
import matplotlib.pyplot as plt
plt.scatter(data[:,0],data[:,1])
plt.show()
(4).将加载好的鸢尾花数据集划分成训练集和测试集两部分,训练集和测试集样本数比例为8:2,井将训练集数据、测试集数据.训练集标签和测试集标签分别储存至数据框x_train,数据框x_test,数据框y_train和数据框y_tes.
from sklearn.model_selection import train_test_split
x_train,x_test,y_train,y_test =train_test_split(data,label,test_size=0.2)
(5)对数据框x_train和数据框x_test进行离差标准化,将标准化后的训练集和测试集数据分别储存至数据框scaler_x_train和数据框scler_x_test(注意:测试集数据需使用和训练集数据相同的规职则进行标准化。)
from sklearn.preprocessing import MinMaxScaler
scaler =MinMaxScaler().fit(x_train)
scaler_x_train =scaler.transform(x_train)
scaler_x_test = scaler.transform(x_test)
(6).构建决策树分类模型,命名为model,并进行模型训练.
from sklearn.tree import DecisionTreeClassifier
model=DecisionTreeClassifier()
model.fit(scaler_x_train,y_train)
(7)对构建的模型进行性能评估,并输出其结果。(性能评估包括计算精确率、召回率和F1值等分类评估指标、)
from sklearn.metrics import classification_report
pre=model.predict(scaler_x_test)
res=classification_report(y_test,pre)
print(res)
7.NumPy是用于数据科学计算的库。请使用NumPy库,编写Python代码求解各坐标点之间的距离。
(1)启动Jupyter Notebook创建一个Notebook。
(2).随机生成100个二维坐标点,并储存至数组arr1。
import numpy as np
x =np.linspace(0,10,100)
y =np.linspace(10,20,100)
arr1 =np.array((x,y)).T
(3)计算各样本点之间的欧氏距离,并储存至数组arr2。
arr2 =[]
for i in range(len(arr1)):
for j in range(len(arr1)):
a = np.sqrt((arr1[i,0] - arr1[j,0]) ** 2 +(arr1[i,1])** 2)
arr2.append(a)
arr2 =np.array(arr2)
(4)将数组arr2的形状转换为(100,100)。
arr2=arr2.reshape(100,100)
(5)将数组arr2存储为当前工作路径下的一个二进制格式的文件arr2.npy。
np.save('arr2.npy',arr2)
8.用户用电量数据探索与分析。
data数据集为用户用电量数据,其中包含3个字段,具体特征说明如下:
特征名称 | 特征说明 |
CONS_NO | 表示用户编号1-200的200位电力用户 |
DATA_DATE | 表示时间,如2015/1/1表示2015年1月1日 |
KWE | 表示用户电量 |
请根据用户用电量数据,编写Python代码完城下列操作:
(1)读取数据文件data.csv,并储存为数据框data。
import pandas as pd
data = pd.read_csv('data.csv',parse_dates=['DATA_DATE'],encoding='gbk')
data_new = pd.pivot_table(data=data,values='KWH',index='CONS_NO',columns='DATA_DATE')
(3)采用四分位法对透视表data_new中的异常数据进行识别并处理。
def clear_(x=None):
QL=x.quantile(0.25)
QU=x.quantile(0.75)
IQR = QU -QL
x[((x > QU +1.5 * IQR)| (x < QU -1.5 * IQR))] = None
return x
data_new.apply(clear_,axis=0)
(4)构造持证1:统计每个用户用电数据的基本统计量(基本统计量包括最大值、最小值、均值、中位数),并将结果储存至数据框feature1。
feature1 = data_new.agg(['max','min','mean','median'],axis=1)
(5)构造特证2:将每个用户用电数据按日差分后,求取基本统计量(基本统计量包括最大值、最小值、均值.中位数),将结果储存至数据框feature2。
feature2 =data_new.diff(axis=1).agg(['max','min','mean','median'],axis=1)
feature3 =data_new.quantile(0.05 ,axis=1)
(7)构造特征4:统计每个用户的日用电量在其最大值0.9倍以上的次数,并将结果储存至数据框feature3.
feature4 =data_new.apply(lambda x: sum(x> x.max() *0.9),axis=1)
feature=pd.concat([feature1,feature2,feature3,feature4],axis=0)
feature.to_csv('feature.csv')
9.泰坦尼克号是英国白星航运公司下辖的一搜奥林匹克级HYPERLINK
https://baike.baidu.com/item/%E6%B8%B8%E8%BD%AE/629860”\t"_blank”游轮,1909年在哈兰德与沃尔夫造船厂动工建造.1911年下水,1912年完工试航
泰坦尼克号是当时世界上体积最庞大、内部设施最豪华的客运轮船,有“永l不沉没”的美誉。然而不幸的是,在它的处女航中,泰坦尼克号便遭厄运。1912年4月14日,泰坦尼克号与一座冰山相撞,造成右舷船艏至船中部破裂,五间水密舱进水.4月15日,泰坦尼克船体断裂成两截后沉入大西洋底3700米处。2224名船员及乘客中,1517人丧生。经过探究发现,似乎有些人比其他人更有生存的可能。接下来通过其生存与遇难的人的数据,预测乘客生还人数。
数据文件为titanic.csv,具体特征说明如下:
特征名称 | 特征说明 |
PassengerId | 乘客编号 |
Survived | 是否生还。1为生还,0为未生还 |
Pclass | 船舱号 |
Sex | 性别 |
Fare | 船票价格 |
SibSp | 兄妹个数 |
Parch | 父母子女个数 |
请根据数据,编写Python代码完成下列要求:
(1)读取数据文件titanic.csv,并储存为数据框titanic.
import numpy as np
import pandas as pd
titanic =pd.read_csv('titanic.csv')
titanic['Survived'].sum()
import matplotlib.pyplot as plt
plt.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()
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"。
titanic['familysize']=titanic.loc[:,'SibSp']+titanic.loc[:,'Parch']+1
(6)修改数据框titanic的”Sex”列,使用数值”1”和”0”分别代替”Sex”列中的”male”和”female”。
titanic['Sex']=titanic['Sex'].map({'female':0,'male':1}).astype(int)
(7)根据“Pclass”、“Sex”和“familysize”这三个特征预测乘客是否生还。将数据集划分成训练集和测则试集两部分,训练集和测试集样本数比例为8:2
from sklearn.model_selection import train_test_split
x= 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)
from sklearn import neighbors
clf = neighbors.KNeighborsClassifier(n_neighbors=20)
clf.fit(x_train,y_train)
pre =clf.predict(x_test)
from sklearn.metrics import classification_report
res = classification_report(y_test,pre)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。