数据挖掘:特征选择:相关性分析与特征筛选_第1页
数据挖掘:特征选择:相关性分析与特征筛选_第2页
数据挖掘:特征选择:相关性分析与特征筛选_第3页
数据挖掘:特征选择:相关性分析与特征筛选_第4页
数据挖掘:特征选择:相关性分析与特征筛选_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据挖掘:特征选择:相关性分析与特征筛选1数据挖掘概述1.1数据挖掘的基本概念数据挖掘(DataMining)是一种从大量数据中提取有用信息的过程,这些信息可以是模式、关联、趋势或异常。数据挖掘技术广泛应用于商业智能、科学研究、金融分析、医疗诊断等多个领域,通过自动化或半自动化的方式,帮助人们发现数据中的隐藏知识,从而做出更明智的决策。数据挖掘的流程通常包括数据清洗、数据集成、数据转换、数据挖掘、模式评估和知识表示等步骤。其中,数据清洗和数据集成用于处理数据的不一致性和缺失值,数据转换则将原始数据转换为适合挖掘的形式,而数据挖掘是核心步骤,涉及应用统计学、机器学习和数据库技术来发现数据中的模式。1.1.1示例:数据清洗假设我们有以下数据集,包含了一些错误和缺失值:importpandasaspd

data={'Name':['Alice','Bob','Charlie','David','Eve'],

'Age':[26,32,None,22,29],

'Income':[50000,60000,45000,None,55000]}

df=pd.DataFrame(data)

print(df)输出:NameAgeIncome

0Alice2650000

1Bob3260000

2CharlieNone45000

3David22None

4Eve2955000我们可以使用Pandas库进行数据清洗,处理缺失值:#使用平均值填充Age列的缺失值

df['Age'].fillna(df['Age'].mean(),inplace=True)

#使用中位数填充Income列的缺失值

df['Income'].fillna(df['Income'].median(),inplace=True)

print(df)输出:NameAgeIncome

0Alice26.050000.0

1Bob32.060000.0

2Charlie27.545000.0

3David27.555000.0

4Eve29.055000.01.2特征选择的重要性在数据挖掘过程中,特征选择(FeatureSelection)是一个关键步骤,它涉及从原始数据集中选择最相关的特征,以提高模型的性能和解释性。特征选择的重要性在于:减少维度:在高维数据中,不是所有特征都对预测目标有贡献,冗余或不相关的特征会增加计算复杂度,也可能引入噪声,影响模型的准确性。提高模型性能:通过去除无关特征,可以减少过拟合的风险,使模型更加泛化,提高预测精度。增强模型解释性:较少的特征意味着模型更简单,更容易理解和解释。1.2.1示例:使用相关性分析进行特征选择假设我们有一个包含多个特征的数据集,我们想要找出与目标变量最相关的特征:importpandasaspd

importnumpyasnp

fromsklearn.datasetsimportload_boston

#加载波士顿房价数据集

boston=load_boston()

df=pd.DataFrame(boston.data,columns=boston.feature_names)

df['PRICE']=boston.target

#计算特征与目标变量的相关性

correlation_matrix=df.corr().round(2)

correlations_with_price=correlation_matrix['PRICE'].sort_values(ascending=False)

print(correlations_with_price)输出将显示每个特征与目标变量(房价)的相关性,我们可以根据相关性系数的大小来选择特征。1.3结论数据挖掘是一个复杂但强大的过程,通过理解其基本概念和掌握特征选择的技巧,可以显著提高数据分析和预测模型的效率和准确性。特征选择不仅有助于减少数据的维度,还能提高模型的性能和解释性,是数据预处理阶段不可或缺的一部分。2数据挖掘:特征选择:相关性分析与特征筛选2.1相关性分析基础2.1.1相关性的定义相关性分析是数据挖掘中一个关键步骤,用于评估两个或多个变量之间的关系强度和方向。在特征选择中,相关性分析帮助我们识别哪些特征与目标变量(或响应变量)有较强的相关性,从而决定哪些特征应该被保留,哪些可以被剔除。相关性可以是正的(两个变量同向变化),也可以是负的(一个变量增加时,另一个变量减少)。2.1.2相关性分析的方法2.1.2.1皮尔逊相关系数皮尔逊相关系数(Pearsoncorrelationcoefficient)是衡量两个变量线性相关程度的统计量。其值范围在-1到1之间,1表示完全正相关,-1表示完全负相关,0表示没有线性相关。代码示例:importnumpyasnp

fromscipy.statsimportpearsonr

#示例数据

x=np.array([1,2,3,4,5])

y=np.array([2,4,6,8,10])

#计算皮尔逊相关系数

corr,_=pearsonr(x,y)

print('Pearsoncorrelation:',corr)解释:在这个例子中,我们使用了numpy和scipy.stats库来计算两个数组x和y之间的皮尔逊相关系数。由于y是x的两倍,我们可以预期得到一个完全正相关的系数,即1。2.1.2.2斯皮尔曼等级相关系数斯皮尔曼等级相关系数(Spearmanrankcorrelationcoefficient)是一种非参数统计方法,用于衡量两个变量之间的单调相关性,而不仅仅是线性相关性。它基于变量的等级,而不是变量的实际值。代码示例:fromscipy.statsimportspearmanr

#示例数据

x=np.array([1,2,3,4,5])

y=np.array([5,4,3,2,1])

#计算斯皮尔曼等级相关系数

corr,_=spearmanr(x,y)

print('Spearmanrankcorrelation:',corr)解释:这里我们使用scipy.stats库中的spearmanr函数来计算x和y之间的斯皮尔曼等级相关系数。尽管x和y是完全反向的,但它们的等级是完全相关的,因此我们得到-1的系数,表示完全负相关。2.1.2.3互信息互信息(MutualInformation,MI)是一种基于信息论的方法,用于衡量两个随机变量之间的依赖性。它能够捕捉非线性关系,因此在特征选择中特别有用,尤其是在处理分类变量时。代码示例:fromsklearn.feature_selectionimportmutual_info_classif

importpandasaspd

#示例数据

data={

'Feature1':['A','B','A','B','A'],

'Feature2':['X','X','Y','Y','Y'],

'Target':[0,1,0,1,0]

}

df=pd.DataFrame(data)

#计算互信息

mi_scores=mutual_info_classif(df.drop('Target',axis=1),df['Target'])

print('MutualInformationscores:',mi_scores)解释:在这个例子中,我们使用了sklearn.feature_selection模块中的mutual_info_classif函数来计算Feature1和Feature2与Target之间的互信息。数据被组织成一个pandasDataFrame,其中Target列是分类目标变量。2.1.2.4卡方检验卡方检验(Chi-squaredtest)用于评估分类特征与分类目标之间的相关性。它基于观察值和期望值之间的差异,适用于特征和目标都是分类变量的情况。代码示例:fromsklearn.feature_selectionimportchi2

fromsklearn.preprocessingimportMinMaxScaler

#示例数据

X=np.array([[1,1],[2,4],[3,9],[4,16],[5,25]])

y=np.array([0,1,0,1,0])

#数据预处理,卡方检验需要非负数据

scaler=MinMaxScaler(feature_range=(0,10))

X_scaled=scaler.fit_transform(X)

#计算卡方检验

chi2_scores,_=chi2(X_scaled,y)

print('Chi-squaredscores:',chi2_scores)解释:此示例展示了如何使用sklearn.feature_selection中的chi2函数来计算分类特征与分类目标之间的卡方检验得分。由于卡方检验要求数据为非负,我们使用MinMaxScaler对数据进行了预处理。2.2特征筛选特征筛选是基于相关性分析的结果,选择最相关的特征进行模型训练的过程。这有助于减少模型的复杂性,提高训练速度,同时避免过拟合。2.2.1过滤方法过滤方法(Filtermethods)在特征选择中是最直接的,它不依赖于任何机器学习算法。常见的过滤方法包括基于相关系数的筛选、卡方检验、互信息等。2.2.2包裹方法包裹方法(Wrappermethods)使用机器学习算法来评估特征子集的质量。它通过训练模型并评估模型性能来决定哪些特征应该被保留。这种方法通常更准确,但计算成本也更高。2.2.3嵌入方法嵌入方法(Embeddedmethods)在模型训练过程中进行特征选择,如LASSO回归、随机森林中的特征重要性等。这些方法结合了过滤和包裹方法的优点,同时减少了计算成本。2.3总结相关性分析与特征筛选是数据挖掘中特征选择的重要组成部分。通过使用不同的相关性分析方法,我们可以有效地识别出与目标变量最相关的特征,从而优化模型性能。特征筛选方法的选择应基于数据的性质和模型的需求。3数据挖掘:特征选择:相关性分析与特征筛选3.1特征筛选技术3.1.1过滤式特征选择过滤式特征选择是一种基于特征与目标变量之间的统计相关性来评估特征重要性的方法。这种方法不依赖于任何机器学习模型,而是使用如卡方检验、互信息、相关系数等统计测试来独立评估每个特征。3.1.1.1示例:使用皮尔逊相关系数进行特征选择假设我们有一组数据,包含多个特征和一个目标变量,我们可以通过计算特征与目标变量之间的皮尔逊相关系数来筛选特征。importpandasaspd

importnumpyasnp

fromscipy.statsimportpearsonr

#创建示例数据

data={

'Feature1':[1,2,3,4,5],

'Feature2':[5,4,3,2,1],

'Feature3':[1,2,3,4,5],

'Target':[2,4,6,8,10]

}

df=pd.DataFrame(data)

#计算相关系数

correlations=df.corr()['Target'].abs()

#选择相关性高于阈值的特征

threshold=0.5

selected_features=correlations[correlations>threshold].index.tolist()

print("SelectedFeatures:",selected_features)解释:上述代码首先创建了一个包含三个特征和一个目标变量的示例数据集。然后,使用pandas的corr函数计算了所有特征与目标变量之间的皮尔逊相关系数。最后,通过设定一个阈值(例如0.5),我们筛选出与目标变量相关性高于该阈值的特征。3.1.2包裹式特征选择包裹式特征选择方法使用机器学习模型的性能作为特征子集的评估标准。这种方法通常涉及一个搜索过程,通过尝试不同的特征组合来找到最优的特征子集。3.1.2.1示例:使用递归特征消除(RFE)进行特征选择递归特征消除(RFE)是一种包裹式特征选择方法,它基于模型的系数来递归地消除最不重要的特征。fromsklearn.datasetsimportmake_classification

fromsklearn.feature_selectionimportRFE

fromsklearn.linear_modelimportLogisticRegression

#创建示例数据

X,y=make_classification(n_samples=100,n_features=10,n_informative=5)

#定义模型

model=LogisticRegression()

#定义RFE

rfe=RFE(model,n_features_to_select=5)

#拟合模型

rfe.fit(X,y)

#输出选择的特征

selected_features=rfe.support_

print("SelectedFeatures:",selected_features)解释:在这个例子中,我们首先使用sklearn的make_classification函数生成了一个分类数据集,其中包含10个特征,但只有5个是信息丰富的。然后,我们定义了一个逻辑回归模型和一个RFE对象,指定要选择的特征数量为5。通过拟合模型,RFE会递归地消除最不重要的特征,直到剩下5个特征。最后,我们输出了被选择的特征的布尔数组。3.1.3嵌入式特征选择嵌入式特征选择方法在模型训练过程中同时进行特征选择,通常通过正则化技术实现,如LASSO和Ridge回归。3.1.3.1示例:使用LASSO回归进行特征选择LASSO回归通过施加L1正则化来实现特征选择,它能够将一些特征的系数压缩至零,从而自动排除这些特征。fromsklearn.datasetsimportload_boston

fromsklearn.linear_modelimportLasso

fromsklearn.model_selectionimporttrain_test_split

#加载数据

boston=load_boston()

X=boston.data

y=boston.target

#划分数据集

X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.3,random_state=42)

#定义LASSO模型

model=Lasso(alpha=0.1)

#拟合模型

model.fit(X_train,y_train)

#输出非零系数的特征

selected_features=np.where(model.coef_!=0)[0]

print("SelectedFeatures:",selected_features)解释:在这个例子中,我们使用了波士顿房价数据集。首先,我们将数据集划分为训练集和测试集。然后,定义了一个LASSO回归模型,并设置了正则化参数alpha。通过拟合模型,LASSO回归会自动将一些特征的系数压缩至零,我们通过检查模型系数来确定哪些特征被保留。3.2结论特征选择是数据挖掘中一个关键步骤,它能够帮助我们减少模型的复杂性,提高模型的解释性,同时避免过拟合。通过使用过滤式、包裹式和嵌入式特征选择方法,我们可以根据数据的特性选择最合适的特征子集。在实际应用中,选择哪种方法取决于数据的规模、特征的性质以及模型的类型。4相关性分析实践在数据挖掘中,特征选择是一个关键步骤,它帮助我们识别哪些特征与目标变量最相关,从而提高模型的预测性能和效率。相关性分析是特征选择中的一种方法,用于量化特征之间的关联程度。本教程将深入探讨三种常用的相关性分析技术:皮尔逊相关系数、斯皮尔曼等级相关系数和肯德尔等级相关系数。4.1皮尔逊相关系数皮尔逊相关系数(Pearsoncorrelationcoefficient)是一种度量两个变量线性相关性的统计量。它适用于测量两个连续变量之间的相关性。皮尔逊相关系数的值范围从-1到1,其中1表示完全正相关,-1表示完全负相关,0表示没有线性相关性。4.1.1示例代码假设我们有一组数据,包含两个特征feature1和feature2,以及一个目标变量target。我们将使用Python的scipy库来计算皮尔逊相关系数。importnumpyasnp

fromscipy.statsimportpearsonr

#示例数据

feature1=np.array([1,2,3,4,5])

feature2=np.array([2,4,6,8,10])

target=np.array([3,6,9,12,15])

#计算特征1和特征2之间的皮尔逊相关系数

corr,_=pearsonr(feature1,feature2)

print('Pearsoncorrelationcoefficientbetweenfeature1andfeature2:',corr)

#计算特征1和目标变量之间的皮尔逊相关系数

corr,_=pearsonr(feature1,target)

print('Pearsoncorrelationcoefficientbetweenfeature1andtarget:',corr)4.1.2解释在上述代码中,我们首先导入了必要的库,然后创建了三个数组:feature1、feature2和target。我们使用pearsonr函数计算了feature1与feature2以及feature1与target之间的皮尔逊相关系数。由于feature1和feature2是完全线性相关的(feature2是feature1的两倍),我们得到了1作为相关系数,表示完全正相关。同样,feature1和target之间的相关系数也是1,因为target是feature1的三倍。4.2斯皮尔曼等级相关系数斯皮尔曼等级相关系数(Spearman’srankcorrelationcoefficient)是一种非参数统计量,用于测量两个变量之间的单调相关性,而不仅仅是线性相关性。它适用于等级数据或非正态分布的连续数据。4.2.1示例代码我们将使用相同的示例数据,但这次我们将计算斯皮尔曼等级相关系数。fromscipy.statsimportspearmanr

#计算特征1和特征2之间的斯皮尔曼等级相关系数

corr,_=spearmanr(feature1,feature2)

print('Spearmanrankcorrelationcoefficientbetweenfeature1andfeature2:',corr)

#计算特征1和目标变量之间的斯皮尔曼等级相关系数

corr,_=spearmanr(feature1,target)

print('Spearmanrankcorrelationcoefficientbetweenfeature1andtarget:',corr)4.2.2解释斯皮尔曼等级相关系数的计算结果与皮尔逊相关系数相同,因为我们的数据是单调增加的。然而,如果数据包含非线性但单调的关系,斯皮尔曼等级相关系数将更准确地反映这种关系。4.3肯德尔等级相关系数肯德尔等级相关系数(Kendallrankcorrelationcoefficient)是另一种用于测量两个变量之间单调相关性的非参数统计量。它特别适用于处理小样本数据,且对异常值不敏感。4.3.1示例代码再次使用示例数据,我们将计算肯德尔等级相关系数。fromscipy.statsimportkendalltau

#计算特征1和特征2之间的肯德尔等级相关系数

corr,_=kendalltau(feature1,feature2)

print('Kendallrankcorrelationcoefficientbetweenfeature1andfeature2:',corr)

#计算特征1和目标变量之间的肯德尔等级相关系数

corr,_=kendalltau(feature1,target)

print('Kendallrankcorrelationcoefficientbetweenfeature1andtarget:',corr)4.3.2解释肯德尔等级相关系数的结果与前两种相关系数相同,因为数据是单调的。然而,肯德尔等级相关系数在处理小样本数据时更为有效,且对数据中的异常值不敏感,这使得它在某些情况下成为更优的选择。4.4特征筛选相关性分析可以帮助我们识别与目标变量高度相关的特征,从而进行特征筛选。特征筛选是数据预处理的一个重要步骤,它有助于减少模型的复杂性,提高训练速度,同时避免过拟合。4.4.1示例代码我们将使用皮尔逊相关系数来筛选与目标变量高度相关的特征。importpandasaspd

#创建数据框

data=pd.DataFrame({

'feature1':feature1,

'feature2':feature2,

'target':target

})

#计算相关性矩阵

corr_matrix=data.corr()

#选择与目标变量相关性大于0.5的特征

high_corr_features=corr_matrix['target'][abs(corr_matrix['target'])>0.5].index

print('Highlycorrelatedfeatures:',high_corr_features)4.4.2解释在代码中,我们首先创建了一个包含feature1、feature2和target的数据框。然后,我们计算了数据框中所有变量之间的相关性矩阵。最后,我们选择了与target变量相关性绝对值大于0.5的特征,这将帮助我们识别哪些特征对预测目标变量至关重要。通过上述示例,我们可以看到,相关性分析和特征筛选是数据挖掘中特征选择的重要组成部分。选择正确的相关性度量方法(如皮尔逊、斯皮尔曼或肯德尔等级相关系数)取决于数据的性质和分析的需求。特征筛选则基于这些相关性度量,帮助我们构建更高效、更准确的预测模型。5数据挖掘:特征选择:相关性分析与特征筛选5.1特征筛选应用5.1.1基于相关性的特征选择5.1.1.1原理在数据挖掘中,特征选择是一个关键步骤,用于识别数据集中对预测目标最有价值的特征。基于相关性的特征选择方法主要关注特征与目标变量之间的相关性,以及特征之间的相互关系。这种方法假设与目标变量高度相关的特征对模型的预测能力有更大的贡献。常见的相关性分析包括皮尔逊相关系数、斯皮尔曼等级相关系数和肯德尔秩相关系数。5.1.1.2内容皮尔逊相关系数:适用于线性关系的连续变量。系数范围在-1到1之间,绝对值越大表示相关性越强。斯皮尔曼等级相关系数:适用于非线性关系的连续或等级变量。肯德尔秩相关系数:适用于等级变量,对异常值不敏感。5.1.1.3示例代码假设我们有一个数据集data.csv,包含多个特征和一个目标变量target。importpandasaspd

importnumpyasnp

fromscipy.statsimportpearsonr,spearmanr,kendalltau

#读取数据

data=pd.read_csv('data.csv')

#计算皮尔逊相关系数

defcalculate_pearson_correlation(x,y):

corr,_=pearsonr(x,y)

returncorr

#计算斯皮尔曼等级相关系数

defcalculate_spearman_correlation(x,y):

corr,_=spearmanr(x,y)

returncorr

#计算肯德尔秩相关系数

defcalculate_kendall_correlation(x,y):

corr,_=kendalltau(x,y)

returncorr

#应用相关性分析

correlations={}

forfeatureindata.columns:

iffeature!='target':

pearson_corr=calculate_pearson_correlation(data[feature],data['target'])

spearman_corr=calculate_spearman_correlation(data[feature],data['target'])

kendall_corr=calculate_kendall_correlation(data[feature],data['target'])

correlations[feature]={

'Pearson':pearson_corr,

'Spearman':spearman_corr,

'Kendall':kendall_corr

}

#打印相关性结果

forfeature,corr_dictincorrelations.items():

print(f"Feature:{feature}")

formethod,corrincorr_dict.items():

print(f"{method}Correlation:{corr}")5.1.2基于模型的特征选择5.1.2.1原理基于模型的特征选择利用特定的机器学习模型来评估特征的重要性。这些模型可以是决策树、随机森林、支持向量机等,它们在训练过程中能够提供特征重要性的度量。通过这些度量,可以识别出对模型预测贡献最大的特征。5.1.2.2内容决策树:通过计算特征在树中的分裂次数来评估特征重要性。随机森林:平均所有树的特征重要性。支持向量机:使用系数的绝对值来衡量特征的重要性。5.1.2.3示例代码使用随机森林进行特征选择。importpandasaspd

fromsklearn.ensembleimportRandomForestClassifier

fromsklearn.model_selectionimporttrain_test_split

#读取数据

data=pd.read_csv('data.csv')

#分割数据

X=data.drop('target',axis=1)

y=data['target']

X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.2,random_state=42)

#训练随机森林模型

model=RandomForestClassifier(n_estimators=100,random_state=42)

model.fit(X_train,y_train)

#获取特征重要性

importances=model.feature_importances_

#打印特征重要性

forfeature,importanceinzip(X.columns,importances):

print(f"Feature:{feature},Importance:{importance}")5.1.3基于算法的特征选择5.1.3.1原理基于算法的特征选择通常涉及使用特定的算法来评估特征集,如递归特征消除(RFE)、LASSO回归、Ridge回归等。这些算法通过迭代地移除最不重要的特征来确定最佳特征子集。5.1.3.2内容递归特征消除(RFE):通过递归地移除特征并训练模型来确定特征的重要性。LASSO回归:使用L1正则化,能够将不重要的特征的系数压缩至零,从而实现特征选择。Ridge回归:使用L2正则化,虽然不会将特征系数压缩至零,但可以降低不重要特征的影响力。5.1.3.3示例代码使用递归特征消除(RFE)进行特征选择。importpandasaspd

fromsklearn.feature_selectionimportRFE

fromsklearn.linear_modelimportLogisticRegression

fromsklearn.model_selectionimporttrain_test_split

#读取数据

data=pd.read_csv('data.csv')

#分割数据

X=data.drop('target',axis=1)

y=data['target']

X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.2,random_state=42)

#创建模型

model=LogisticRegression()

#创建RFE选择器

rfe=RFE(estimator=model,n_features_to_select=5)

#训练选择器

rfe.fit(X_train,y_train)

#获取选择的特征

selected_features=X_train.columns[rfe.support_]

#打印选择的特征

print("SelectedFeatures:",selected_features)以上示例展示了如何使用Python中的pandas和scikit-learn库进行基于相关性、基于模型和基于算法的特征选择。通过这些方法,可以有效地减少数据集的维度,提高模型的预测性能。6数据挖掘:特征选择:相关性分析与特征筛选6.1案例研究与实践6.1.1案例分析:鸢尾花数据集鸢尾花数据集(Irisdataset)是数据挖掘和机器学习领域中一个著名的数据集,由英国统计学家和生物学家RonaldFisher在1936年收集并用于模式识别研究。数据集包含150个样本,每个样本有4个特征:萼片长度(sepallength)、萼片宽度(sepalwidth)、花瓣长度(petallength)和花瓣宽度(petalwidth),以及一个类别标签,表示鸢尾花的种类,共有三种:Setosa、Versicolor和Virginica。6.1.1.1相关性分析在特征选择中,相关性分析是一种评估特征与目标变量之间关系强度的方法。通过计算特征之间的相关系数,可以识别哪些特征与目标变量高度相关,哪些特征之间存在冗余。在鸢尾花数据集中,我们可以使用皮尔逊相关系数来分析特征之间的线性关系。6.1.1.2代码示例:计算鸢尾花数据集的特征相关性importpandasaspd

fromsklearn.datasetsimportload_iris

importseabornassns

importmatplotlib.pyplotasplt

#加载鸢尾花数据集

iris=load_iris()

iris_df=pd.DataFrame(data=iris.data,columns=iris.feature_names)

#计算特征之间的皮尔逊相关系数

correlation_matrix=iris_df.corr()

#使用热力图可视化相关性矩阵

plt.figure(figsize=(10,8))

sns.heatmap(correlation_matrix,annot=True,cmap='coolwarm')

plt.title('鸢尾花数据集特征相关性热力图')

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论