Python RecordLinkage 监督机器学习

2024-10-02 04:17:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用pythonrecordlinkage库构建一个机器学习模型,其中模型将使用预先匹配的数据进行训练。在

下面是代码片段:

urltrain = "../Training_Set.data"
namestrain = ['TrueMatchID','System','ID','Col1','Col2']

golden_pair = ps.read_csv(urltrain, names=namestrain)

golden_pair = np.asarray(golden_pair).reshape(5000,5)

golden_pair = ps.DataFrame(golden_pair)

indexer = rl.BlockIndex(on='TrueMatchID')
golden_pair_index = indexer.index(golden_pair)

print(indexer)

# Initialize the classifier
logreg = rl.LogisticRegressionClassifier()
# Train the classifier
logreg.learn(golden_pair.all(), golden_pair_index)

我得到的错误是:

KeyError:“['TrueMatchID']不在索引中”

样本数据:

^{pr2}$

代码中似乎有什么问题?我对Python比较陌生,所以不确定是否传递了错误的参数。在


Tags: the数据代码模型indexrlpsclassifier
1条回答
网友
1楼 · 发布于 2024-10-02 04:17:13

这是你写的代码的注释-

golden_pair = ps.read_csv(urltrain, names=namestrain) # pandas dataframe with column names intact

golden_pair = np.asarray(golden_pair).reshape(5000,5) # converting it to numpy array makes you lose the metadata information of pandas like column names

golden_pair = ps.DataFrame(golden_pair) # here you need to bring back the column names again as it's not present in the numpy array anymore

将最后一行修改为-

^{pr2}$

您可以按原样继续其余代码:

indexer = rl.BlockIndex(on='TrueMatchID')
golden_pair_index = indexer.index(golden_pair)

print(indexer)

# Initialize the classifier
logreg = rl.LogisticRegressionClassifier()
# Train the classifier
logreg.learn(golden_pair.all(), golden_pair_index)

p.S我不明白为什么你需要重新塑造然后再把它投射回Dataframe。也许你可以避免。在

相关问题 更多 >

    热门问题