数据清洗
挑选5000多条美国专利数据进行关联分析,首先设置支持度为0.01,找寻5000多条数据中被引用次数在50条以上的专利,认为其为核心专利技术
首先用excel对参考专利数据进行简单的数据清洗,并使用nltk库进行分词
import pandas as pd
from nltk import word_tokenize
data=pd.read_csv("Desktop\\python_work\\435_2.csv")
txt=data['UREF:PNO']#工作簿
print("开始")
print("分词---------------------")
words1=[]
for i in txt:
words = word_tokenize(str(i))
words1.insert(0,words)
cutwords7=pd.DataFrame({
'PNO':data['PATN:PNO'],'Time':data['PATN:ISD'],'words':words1})
cutwords7
Apriori
from numpy import *
# 构造数据
def loadSetData(Data):
return Data
# 将所有元素转换为frozenset型字典,存放到列表中
def createC1(dataSet):
C1 = []
for t in dataSet:
for item in t:
if not [item] in C1:
C1.append([item])
C1.sort()
# 使用frozenset是为了后面可以将这些值作为字典的键
return list(map(frozenset, C1)) # frozenset一种不可变的集合,set可变集合
# 过滤掉不符合最小支持度0.08的集合
# 返回 频繁项集列表retList 所有元素的支持度字典
def scanD(D, Ck