团队项目冲刺第五天 KNN算法的实现
2021/5/25 1:24:50
本文主要是介绍团队项目冲刺第五天 KNN算法的实现,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
KNN算法的实现
在数据集准备完成之后 开始进行算法的实现
其中本次项目分为3个部分
数据的获取
其中数据已经保存到了txt文件
直接读取
print('(1) load texts...') train_texts = open('../dataset_train/x_train.txt', encoding='utf-8').read().split('\n') train_labels = open('../dataset_train/y_train.txt', encoding='utf-8').read().split('\n') test_texts = open('../dataset_test/x_test.txt', encoding='utf-8').read().split('\n') test_labels = open('../dataset_test/y_test.txt', encoding='utf-8').read().split('\n') all_text = train_texts + test_texts
特征值抽取
特征值的抽取
使用的是词袋和TifIdf算法
其中有一点注意就是对于词袋 词语特征的提取是从总文档的词语中抽取
然后对测试集和训练集分别进行特征抽取
然后得到两个矩阵
然后进行Tfidf算法
count_v0 = CountVectorizer(); counts_all = count_v0.fit_transform(all_text); count_v1 = CountVectorizer(vocabulary=count_v0.vocabulary_); counts_train = count_v1.fit_transform(train_texts); print("the shape of train is " + repr(counts_train.shape)) count_v2 = CountVectorizer(vocabulary=count_v0.vocabulary_); counts_test = count_v2.fit_transform(test_texts); print("the shape of test is " + repr(counts_test.shape)) tfidftransformer = TfidfTransformer(); train_data = tfidftransformer.fit(counts_train).transform(counts_train); test_data = tfidftransformer.fit(counts_test).transform(counts_test); x_train = train_data y_train = train_labels x_test = test_data y_test = test_labels
KNN算法实现
在特征值抽取之后
利用KNN算法建模
使用训练集进行建模
然后使用测试集进行模型的套用
然后的到结果
然后进行结果的比对
然后得到正确率
# KNN算法建模 for x in range(1, 15): knnclf = KNeighborsClassifier(n_neighbors=x) knnclf.fit(x_train, y_train) preds = knnclf.predict(x_test); num = 0 preds = preds.tolist() for i, pred in enumerate(preds): if int(pred) == int(y_test[i]): num += 1 print('K= ' + str(x) + ', precision_score:' + str(float(num) / len(preds)))
这篇关于团队项目冲刺第五天 KNN算法的实现的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-07-02springboot项目无法注册到nacos-icode9专业技术文章分享
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)