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

最低0.47元/天 解锁文章
410

被折叠的 条评论
为什么被折叠?



