【小白啃书】统计学习方法(李航第二版)代码实现 (C++) 之 2.K近邻(2)

本文仅梳理总结自己在学习过程中的一些理解和思路,水平有限,理解粗鄙浅薄且不一定正确。文章所有观点均不保证绝对正确,请酌情参考。如果各位朋友发现任何错误请及时告诉我,大家一起讨论共同提高。
(不要问我为什么用C++写机器学习,问就是导师要求的)
希望我不鸽,咕咕

相关内容
0.导入数据
1.感知机
2.K近邻(1)

K近邻

写在前面(可以不看)

终于学会用嘴吃饭了 /手动狗头。
个人觉得修改后的代码还算是整齐清爽,一定程度体现了面向对象的思想,但很遗憾的是在读取数据的时候没能实现复用,面向对象的思想还是有些囿于形式了。
但是针对这个代码我没有打算继续修改了,一口吃不成个胖子(不,我可以,没有什么比吃成胖子更容易的事情了,成年人的世界里没有容易二字,除了容易秃和容易胖。自抱自泣.jpg),剩下的我们慢慢来。

在本程序中,我写了三个类,knn,sample和test_sample,其中,knn类中的成员Sample和Test_sample分别为sample和test_sample类型的vector。

class knn

class knn
{
   
   
public:
	knn(int a);
	~knn();

	void data_read();
	void test_read();
	void judge(int k);
	void calu_accuracy();

private:
	int k;

	string data_add = "……";
	string test_add = "……";     //需要把直接复制来的路径中的\换成/或者\\

	int feature_num = 0;
	int sample_num = 0;
	int test_num = 0;

	double accuracy = 0;

	vector<sample> Sample;
	vector<test_sample> Test_Sample;

};

其中,knn类的构造函数为

在这里插入knn::knn(int k)
{
   
   
	this->k = k;
	data_read();
	test_read();
	judge(k)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值