人工智能和机器学习之关联规则学习算法:Quantitative Association:2.人工智能与机器学习基础_第1页
人工智能和机器学习之关联规则学习算法:Quantitative Association:2.人工智能与机器学习基础_第2页
人工智能和机器学习之关联规则学习算法:Quantitative Association:2.人工智能与机器学习基础_第3页
人工智能和机器学习之关联规则学习算法:Quantitative Association:2.人工智能与机器学习基础_第4页
人工智能和机器学习之关联规则学习算法:Quantitative Association:2.人工智能与机器学习基础_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

人工智能和机器学习之关联规则学习算法:QuantitativeAssociation:2.人工智能与机器学习基础1人工智能与机器学习概览1.1人工智能的历史与发展1.1.1人工智能的历史人工智能(ArtificialIntelligence,AI)的概念最早可以追溯到20世纪50年代,当时在达特茅斯会议上,一群科学家首次提出了“人工智能”这一术语,旨在研究如何使计算机能够执行通常需要人类智能才能完成的任务。自那时起,AI经历了多次起伏,从早期的规则基础系统到后来的神经网络和深度学习,技术的不断进步推动了AI的快速发展。1.1.2人工智能的发展阶段规则基础系统阶段(1950s-1970s):这一阶段的AI主要依赖于专家系统,通过编码人类专家的知识和规则来解决问题。机器学习的兴起(1980s-1990s):随着统计学和算法的发展,机器学习开始成为AI研究的主流,特别是神经网络的复兴。深度学习革命(2000s-至今):得益于大数据和计算能力的提升,深度学习技术在图像识别、自然语言处理等领域取得了突破性进展,推动了AI的广泛应用。1.1.3当前人工智能的应用自动驾驶:利用深度学习和计算机视觉技术,实现车辆的自主驾驶。语音识别:如Siri和Alexa,通过机器学习模型识别和理解人类语音。医疗诊断:AI在辅助医生进行疾病诊断和治疗方案制定方面展现出巨大潜力。金融风控:机器学习用于预测市场趋势,以及识别欺诈行为。1.2机器学习的定义与分类1.2.1机器学习的定义机器学习(MachineLearning,ML)是AI的一个分支,它使计算机能够在没有明确编程的情况下从数据中学习并改进其性能。机器学习的核心是构建算法模型,通过数据训练模型,使其能够对新数据做出预测或决策。1.2.2机器学习的分类机器学习主要可以分为以下几类:监督学习:在监督学习中,算法通过学习带有标签的训练数据来预测新数据的标签。常见的监督学习算法包括线性回归、逻辑回归、支持向量机、决策树和随机森林等。无监督学习:无监督学习算法处理没有标签的数据,目标是发现数据中的结构或模式。聚类分析和主成分分析是无监督学习的典型应用。半监督学习:介于监督学习和无监督学习之间,算法使用少量的有标签数据和大量的无标签数据进行学习。强化学习:算法通过与环境的交互来学习如何采取行动以最大化某种奖励。强化学习在游戏、机器人控制等领域有广泛应用。1.2.3示例:监督学习中的线性回归下面是一个使用Python的scikit-learn库进行线性回归的简单示例。我们将使用一个虚构的数据集,其中包含房屋面积和价格,来预测房屋价格。#导入必要的库

importnumpyasnp

fromsklearn.model_selectionimporttrain_test_split

fromsklearn.linear_modelimportLinearRegression

fromsklearn.metricsimportmean_squared_error

#创建数据集

#房屋面积(平方米)

areas=np.array([50,60,70,100,120,150,160,200,220,250])

#房屋价格(万元)

prices=np.array([30,35,40,60,70,90,95,120,130,150])

#将数据转换为二维数组,以便于模型处理

areas=areas.reshape(-1,1)

#划分训练集和测试集

X_train,X_test,y_train,y_test=train_test_split(areas,prices,test_size=0.2,random_state=42)

#创建线性回归模型

model=LinearRegression()

#使用训练数据拟合模型

model.fit(X_train,y_train)

#预测测试集的价格

predictions=model.predict(X_test)

#计算预测的均方误差

mse=mean_squared_error(y_test,predictions)

#输出模型的系数和截距

print("模型的系数:",model.coef_)

print("模型的截距:",ercept_)

print("预测的均方误差:",mse)在这个例子中,我们首先创建了一个包含房屋面积和价格的数据集。然后,我们使用train_test_split函数将数据集划分为训练集和测试集。接着,我们创建了一个线性回归模型,并使用训练集数据对其进行训练。最后,我们使用模型对测试集数据进行预测,并计算预测结果的均方误差,以评估模型的性能。通过这个简单的示例,我们可以看到机器学习的基本流程:数据准备、模型训练、预测和评估。线性回归是一种基础的监督学习算法,适用于解决回归问题,即预测连续值输出。在实际应用中,数据集通常会更大,特征也会更多,但基本的机器学习流程是相同的。2关联规则学习基础2.1关联规则学习的概念关联规则学习是数据挖掘中的一种方法,主要用于发现数据集中的频繁项集以及这些项集之间的关联关系。在零售业、市场篮子分析、推荐系统等领域有着广泛的应用。例如,通过分析超市的销售数据,可以发现“购买尿布的顾客往往也会购买啤酒”这样的关联规则,从而优化商品布局或进行精准营销。关联规则通常表示为X->Y的形式,其中X和Y是项集,表示如果X中的商品被购买,那么Y中的商品也很可能被购买。关联规则的评估主要依赖于三个指标:支持度(Support)、置信度(Confidence)和提升度(Lift)。支持度(Support):表示项集X∪Y在数据集中出现的频率,即包含X和Y的交易占所有交易的比例。置信度(Confidence):表示在包含X的交易中,同时包含Y的交易所占的比例,即P(Y|X)。提升度(Lift):用于评估规则X->Y的独立性,计算方式为Lift=Support(X∪Y)/(Support(X)*Support(Y))。提升度大于1表示X和Y之间存在正相关关系。2.2Apriori算法详解Apriori算法是关联规则学习中最经典的算法之一,由R.Agrawal和R.Srikant在1994年提出。Apriori算法基于频繁项集的性质,即如果一个项集是频繁的,那么它的所有子集也应该是频繁的。算法通过迭代的方式,先找到所有频繁1-项集,然后逐步构建频繁2-项集、3-项集等,直到无法找到新的频繁项集为止。2.2.1Apriori算法步骤初始化:从数据集中扫描一次,找出所有频繁1-项集,即支持度大于或等于最小支持度的所有单个商品。连接步骤:基于当前的频繁项集,生成候选项集。例如,从频繁1-项集生成频繁2-项集时,将所有可能的两个商品组合在一起,形成候选2-项集。剪枝步骤:从候选项集中,再次扫描数据集,计算每个候选项集的支持度。如果支持度小于最小支持度,则从候选集中删除,剩下的即为频繁项集。重复步骤2和3:直到无法生成新的频繁项集为止。2.2.2Apriori算法代码示例假设我们有以下的交易数据集:transactions=[

['牛奶','面包','黄油'],

['面包','苹果'],

['牛奶','面包','苹果'],

['牛奶','黄油'],

['面包','苹果','黄油'],

['牛奶','苹果'],

['牛奶','面包','苹果','黄油'],

['苹果','黄油'],

['牛奶','面包'],

['牛奶','苹果','黄油']

]使用Python的mlxtend库,我们可以实现Apriori算法:frommlxtend.preprocessingimportTransactionEncoder

frommlxtend.frequent_patternsimportapriori

#数据预处理

te=TransactionEncoder()

te_ary=te.fit(transactions).transform(transactions)

df=pd.DataFrame(te_ary,columns=te.columns_)

#应用Apriori算法

frequent_itemsets=apriori(df,min_support=0.3,use_colnames=True)

print(frequent_itemsets)2.2.3代码解释数据预处理:使用TransactionEncoder将交易数据集转换为适合Apriori算法的二进制矩阵形式。应用Apriori算法:调用apriori函数,设置最小支持度为0.3,表示只有支持度大于或等于30%的项集才会被保留。2.2.4结果分析运行上述代码后,frequent_itemsets将包含所有支持度大于或等于0.3的频繁项集。通过调整最小支持度和置信度,可以发现不同强度的关联规则,为业务决策提供数据支持。Apriori算法虽然简单直观,但在处理大规模数据集时,其效率较低,因为需要多次扫描整个数据集。因此,在实际应用中,可能会考虑使用更高效的算法,如FP-growth等。3定量关联规则学习3.1QuantitativeAssociation的原理在关联规则学习中,QuantitativeAssociation(定量关联)是一种扩展,它不仅考虑了项目之间的二元关系(即项目是否存在),还考虑了项目数量的影响。这种扩展对于处理连续或数值型数据特别有用,例如在超市购物篮分析中,不仅关心商品是否被购买,还关心商品被购买的数量。3.1.1基本概念支持度(Support):一个项目集在数据集中出现的频率。置信度(Confidence):在包含项目集A的交易中,项目集B也出现的条件概率。提升度(Lift):置信度与项目集B在所有交易中出现的频率的比值,用于评估规则的独立性。在定量关联规则学习中,我们引入了以下概念:平均值(Mean):对于数值型项目,计算其在所有交易中的平均值。标准差(StandardDeviation):衡量数值型项目值的离散程度。相关系数(CorrelationCoefficient):用于衡量两个数值型项目之间的线性相关性。3.1.2算法流程数据预处理:将连续数据离散化,或直接处理数值型数据。频繁项目集挖掘:使用Apriori、FP-Growth等算法找出频繁项目集。规则生成:基于频繁项目集生成候选规则。规则评估:使用支持度、置信度、提升度等指标评估规则的有效性。规则选择:选择满足最小支持度和置信度阈值的规则。3.2QuantitativeAssociation的应用案例3.2.1超市购物篮分析假设我们有以下超市购物数据,其中包含商品名称和购买数量:交易ID商品A商品B商品C13212210313240215312我们可以使用定量关联规则学习来找出商品之间的关联规则,例如“当购买商品A的数量增加时,商品B的购买数量也倾向于增加”。3.2.2代码示例使用Python的mlxtend库进行定量关联规则学习:importpandasaspd

frommlxtend.preprocessingimportTransactionEncoder

frommlxtend.frequent_patternsimportapriori,association_rules

#示例数据

data={

'交易ID':[1,2,3,4,5],

'商品A':[3,2,1,0,3],

'商品B':[2,1,3,2,1],

'商品C':[1,0,2,1,2]

}

df=pd.DataFrame(data)

#将数值型数据转换为二元数据

deftransform_data(df,threshold):

returndf.applymap(lambdax:1ifx>=thresholdelse0)

#设置阈值

threshold=df.mean().mean()

#数据转换

df_binary=transform_data(df,threshold)

#使用Apriori算法找出频繁项目集

frequent_itemsets=apriori(df_binary,min_support=0.4,use_colnames=True)

print(frequent_itemsets)

#生成关联规则

rules=association_rules(frequent_itemsets,metric="confidence",min_threshold=0.7)

print(rules)3.2.3解释在上述代码中,我们首先创建了一个包含商品购买数量的DataFrame。然后,我们定义了一个函数transform_data,用于将数值型数据转换为二元数据,即如果商品的购买数量大于或等于平均购买数量,则标记为1,否则为0。接下来,我们使用Apriori算法找出频繁项目集,并基于这些频繁项目集生成关联规则,其中我们设置了最小支持度为0.4,最小置信度为0.7。通过这种方式,我们可以发现哪些商品的购买数量之间存在显著的关联,这对于市场篮子分析、库存管理等具有重要价值。以上内容详细介绍了定量关联规则学习的原理和一个具体的应用案例,包括代码示例和数据处理过程,展示了如何在Python中使用mlxtend库进行定量关联规则的挖掘和分析。4数据预处理技术4.1数据清洗与整合数据清洗是机器学习项目中至关重要的第一步,它涉及识别和纠正数据集中的错误和不一致性。数据可能包含缺失值、异常值、重复记录、不正确的数据类型或格式,以及不相关的特征。处理这些问题可以显著提高模型的性能和可靠性。4.1.1缺失值处理在数据集中,缺失值是一个常见问题。处理缺失值的方法包括删除、填充和预测。删除如果数据集很大,且缺失值的比例较小,可以考虑删除含有缺失值的记录。填充使用统计方法(如平均值、中位数或众数)或特定值(如0)填充缺失值。预测使用机器学习模型预测缺失值,这通常在数据集较大且特征间存在相关性时使用。4.1.2异常值检测异常值是数据集中显著偏离其他值的观测值。它们可能由测量错误、数据录入错误或真实异常引起。异常值检测方法包括:Z-score计算每个值与平均值的偏差,以标准差为单位。如果Z-score的绝对值大于某个阈值(如3),则认为该值是异常值。IQR使用四分位数范围(IQR)来识别异常值。任何低于第一四分位数减去1.5倍IQR或高于第三四分位数加上1.5倍IQR的值都被视为异常值。4.1.3重复记录处理数据集中可能包含完全相同的记录,这需要通过去重来处理。4.1.4数据类型和格式转换确保所有数据都以正确的类型和格式存储,例如,将文本日期转换为日期时间格式。4.1.5示例代码:处理缺失值和异常值importpandasaspd

fromscipyimportstats

#加载数据

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

#删除含有缺失值的记录

data=data.dropna()

#使用平均值填充缺失值

data['age']=data['age'].fillna(data['age'].mean())

#异常值检测:使用Z-score

z_scores=stats.zscore(data['age'])

abs_z_scores=np.abs(z_scores)

filtered_entries=(abs_z_scores<3)

data=data[filtered_entries]4.2特征选择与降维特征选择和降维是减少数据集复杂性、提高模型性能和解释性的过程。过多的特征不仅会增加计算成本,还可能导致模型过拟合。4.2.1特征选择特征选择方法包括:过滤方法基于统计测试(如卡方检验、ANOVA)选择特征。包裹方法使用模型的性能来评估特征子集,如递归特征消除(RFE)。嵌入方法在模型训练过程中选择特征,如LASSO回归。4.2.2降维降维技术用于减少特征数量,同时保留数据集中的重要信息。主成分分析(PCA)将数据转换到新的坐标系统中,新坐标轴(主成分)是数据的线性组合,按方差大小排序。t-SNE用于可视化高维数据,通过将数据点映射到二维或三维空间中,保持数据点之间的相似性。4.2.3示例代码:使用PCA进行降维fromsklearn.decompositionimportPCA

fromsklearn.preprocessingimportStandardScaler

#加载数据

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

#标准化数据

scaler=StandardScaler()

data_scaled=scaler.fit_transform(data)

#PCA降维

pca=PCA(n_components=2)

principal_components=pca.fit_transform(data_scaled)

#将降维后的数据转换为DataFrame

principal_df=pd.DataFrame(data=principal_components,columns=['PC1','PC2'])通过以上步骤,我们能够有效地预处理数据,为机器学习模型提供更干净、更简洁的输入,从而提高模型的性能和预测能力。5机器学习模型评估5.1模型评估指标介绍在机器学习中,模型评估是确保模型性能和泛化能力的关键步骤。评估指标的选择取决于问题的类型(分类、回归、聚类等)和业务需求。以下是一些常用的模型评估指标:5.1.1准确率(Accuracy)准确率是最直观的评估指标,它衡量分类器正确分类的样本数占总样本数的比例。然而,当数据集不平衡时,准确率可能不是最佳选择。5.1.2精确率(Precision)和召回率(Recall)精确率:在所有被分类器预测为正类的样本中,真正为正类的比例。召回率:在所有实际为正类的样本中,被分类器正确预测为正类的比例。5.1.3F1分数F1分数是精确率和召回率的调和平均数,适用于数据不平衡的情况。5.1.4混淆矩阵(ConfusionMatrix)混淆矩阵提供了模型预测结果的详细信息,包括真阳性(TP)、假阳性(FP)、真阴性(TN)和假阴性(FN)。5.1.5ROC曲线和AUC值ROC曲线用于评估二分类模型的性能,AUC值(曲线下面积)越大,模型性能越好。5.1.6均方误差(MSE)和均方根误差(RMSE)在回归问题中,MSE和RMSE用于衡量预测值与真实值之间的平均误差。5.1.7R²分数R²分数衡量模型预测值与真实值之间的相关性,值越接近1,模型拟合越好。5.2交叉验证技术交叉验证是一种评估模型性能的统计学方法,通过将数据集分为训练集和验证集的多个子集,以确保模型的稳定性和泛化能力。5.2.1K折交叉验证(K-FoldCrossValidation)K折交叉验证是最常用的交叉验证技术之一。数据集被随机分为K个相等的子集,其中K-1个子集用于训练模型,剩下的1个子集用于验证。这个过程重复K次,每次选择不同的子集作为验证集,最终模型的性能由K次验证结果的平均值决定。5.2.2示例代码:使用K折交叉验证评估逻辑回归模型importnumpyasnp

fromsklearn.model_selectionimportcross_val_score

fromsklearn.linear_modelimportLogisticRegression

fromsklearn.datasetsimportload_iris

#加载数据集

iris=load_iris()

X=iris.data

y=iris.target

#创建逻辑回归模型

model=LogisticRegression()

#使用K折交叉验证计算模型的准确率

scores=cross_val_score(model,X,y,cv=5)

print("Cross-validationscores:",scores)

print("Averagecross-validationscore:",np.mean(scores))5.2.3留一法交叉验证(Leave-One-OutCrossValidation)留一法交叉验证是一种极端的K折交叉验证,其中K等于样本数。每次只有一个样本作为验证集,其余样本用于训练。虽然这种方法可以提供模型性能的无偏估计,但计算成本极高。5.2.4示例代码:使用留一法交叉验证评估决策树模型fromsklearn.model_selectionimportLeaveOneOut

fromsklearn.treeimportDecisionTreeClassifier

fromsklearn.metricsimportaccuracy_score

#创建决策树模型

model=DecisionTreeClassifier()

#初始化留一法交叉验证

loo=LeaveOneOut()

#计算留一法交叉验证的准确率

scores=[]

fortrain_index,test_indexinloo.split(X):

X_train,X_test=X[train_index],X[test_index]

y_train,y_test=y[train_index],y[test_index]

model.fit(X_train,y_train)

predictions=model.predict(X_test)

scores.append(accuracy_score(y_test,predictions))

print("Leave-One-Outcross-validationscores:",scores)

print("AverageLeave-One-Outcross-validationscore:",np.mean(scores))5.2.5时间序列交叉验证在处理时间序列数据时,由于数据的顺序性,不能随机划分数据集。时间序列交叉验证通常采用滑动窗口或滚动预测原点的方法。5.2.6示例代码:使用时间序列交叉验证评估ARIMA模型importpandasaspd

fromstatsmodels.tsa.arima.modelimportARIMA

fromsklearn.metricsimportmean_squared_error

#加载时间序列数据

data=pd.read_csv('time_series_data.csv',parse_dates=['date'],index_col='date')

series=data['value']

#初始化时间序列交叉验证

window_size=12

forecast_horizon=1

scores=[]

foriinrange(len(series)-window_size-forecast_horizon):

train,test=series[i:i+window_size],series[i+window_size:i+window_size+forecast_horizon]

model=ARIMA(train,order=(1,1,0))

model_fit=model.fit()

predictions=model_fit.forecast(steps=forecast_horizon)

scores.append(mean_squared_error(test,predictions))

print("Timeseriescross-validationscores:",scores)

print("Averagetimeseriescross-validationscore:",np.mean(scores))通过上述指标和交叉验证技术,可以全面评估机器学习模型的性能,确保模型在未知数据上的泛化能力。6深度学习简介6.1神经网络基础在探讨深度学习之前,我们首先需要理解神经网络的基础概念。神经网络,尤其是人工神经网络(ANN),是深度学习的核心组成部分,其灵感来源于人脑的神经元结构。神经网络由输入层、一个或多个隐藏层和输出层组成,每一层包含多个神经元。神经元之间通过权重连接,权重决定了信号传递的强度。6.1.1神经元模型神经元模型是神经网络的基本单元,它接收输入信号,进行加权求和,然后通过激活函数产生输出。一个简单的神经元模型可以表示为:y其中,xi是输入信号,wi是权重,b是偏置,6.1.2激活函数激活函数是神经网络中的非线性变换,它使得神经网络能够学习和表示复杂的函数映射。常见的激活函数包括Sigmoid、ReLU和Tanh。Sigmoid函数Sigmoid函数是一种S形曲线,其数学表达式为:σimportnumpyasnp

defsigmoid(x):

"""Sigmoid激活函数"""

return1/(1+np.exp(-x))

#示例

x=np.array([1.0,2.0,3.0])

y=sigmoid(x)

print(y)ReLU函数ReLU(RectifiedLinearUnit)函数是一种线性整流函数,其数学表达式为:fdefrelu(x):

"""ReLU激活函数"""

returnnp.maximum(0,x)

#示例

x=np.array([-1.0,2.0,3.0])

y=relu(x)

print(y)Tanh函数Tanh函数是一种双曲正切函数,其数学表达式为:tanhdeftanh(x):

"""Tanh激活函数"""

returnnp.tanh(x)

#示例

x=np.array([1.0,2.0,3.0])

y=tanh(x)

print(y)6.1.3反向传播算法反向传播算法是训练神经网络的关键,它通过计算损失函数对权重的梯度,来调整权重,使网络的预测更接近实际值。这个过程涉及到链式法则,用于计算梯度。损失函数损失函数衡量了网络预测值与实际值之间的差距。常见的损失函数有均方误差(MSE)和交叉熵损失。梯度下降梯度下降是一种优化算法,用于最小化损失函数。它通过迭代更新权重,使损失函数逐渐减小。defgradient_descent(x,y,w,b,learning_rate):

"""梯度下降算法示例"""

y_pred=np.dot(x,w)+b

loss=np.mean((y-y_pred)**2)

grad_w=-2*np.mean((y-y_pred)*x)

grad_b=-2*np.mean(y-y_pred)

w-=learning_rate*grad_w

b-=learning_rate*grad_b

returnw,b,loss

#示例数据

x=np.array([1.0,2.0,3.0])

y=np.array([2.0,4.0,6.0])

#初始化权重和偏置

w=0.0

b=0.0

learning_rate=0.01

#训练过程

foriinrange(100):

w,b,loss=gradient_descent(x,y,w,b,learning_rate)

ifi%10==0:

print(f"Iteration{i}:Loss={loss},w={w},b={b}")6.2深度学习框架概览深度学习框架提供了构建和训练神经网络的工具,使得开发人员能够更高效地实现深度学习模型。以下是一些流行的深度学习框架:6.2.1TensorFlowTensorFlow是Google开发的开源深度学习框架,支持多种语言,具有强大的图形计算能力,适用于大规模的深度学习模型。6.2.2PyTorchPyTorch是Facebook开发的深度学习框架,以Python为中心,易于使用,特别适合研究和快速原型开发。6.2.3KerasKeras是一个高级神经网络API,可以作为TensorFlow的前端,提供了简洁的接口,适合初学者和快速开发。6.2.4框架示例:使用TensorFlow构建神经网络importtensorflowastf

#创建模型

model=tf.keras.models.Sequential([

tf.keras.layers.Dense(64,activation='relu',input_shape=(10,)),

tf.keras.layers.Dense(64,activation='relu'),

tf.keras.layers.Dense(1)

])

#编译模型

pile(optimizer=tf.keras.optimizers.Adam(0.01),

loss=tf.keras.losses.MeanSquaredError(),

metrics=['accuracy'])

#训练模型

model.fit(x_train,y_train,epochs=10,batch_size=32)

#评估模型

model.evaluate(x_test,y_test)在这个示例中,我们使用TensorFlow创建了一个简单的神经网络模型,包含两个隐藏层和一个输出层。模型使用Adam优化器和均方误差损失函数进行训练。通过fit方法,模型在训练数据上进行迭代训练,然后使用evaluate方法在测试数据上评估模型的性能。深度学习和神经网络的基础知识是理解更复杂模型和算法的关键,希望这个教程能够帮助你建立起对深度学习的基本认识。7实践案例分析7.1零售业的关联规则学习应用在零售业中,关联规则学习是一种非常有效的数据分析方法,用于发现商品之间的购买模式。通过分析顾客的购物篮数据,零售商可以识别出哪些商品经常一起被购买,从而制定更有效的营销策略,如商品摆放、促销活动等。7.1.1数据样例假设我们有以下的购物篮数据:交易ID商品1{牛奶,面包,黄油}2{牛奶,尿布,啤酒,面包}3{尿布,啤酒}4{牛奶,尿布,面包,黄油}5{面包,黄油}7.1.2Python代码示例使用mlxtend库中的apriori和association_rules函数来发现关联规则:importpandasaspd

frommlxtend.preprocessingimportTransactionEncoder

frommlxtend.frequent_patternsimportapriori,association_rules

#购物篮数据

data=[

['牛奶','面包','黄油'],

['牛奶','尿布','啤酒','面包'],

['尿布','啤酒'],

['牛奶','尿布','面包','黄油'],

['面包','黄油']

]

#使用TransactionEncoder进行数据预处理

te=TransactionEncode

温馨提示

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

评论

0/150

提交评论