机器学习 | 机器学习100天(5) --- k-近邻算法(k-NN)
2019-01-15 19:26
253 查看
机器学习100天系列学习笔记基于机器学习100天(中文翻译版),机器学习100天(英文原版)
所有代码使用iPython Notebook实现
目录
实验综述
数据集
1.数据预处理
[code]'''1. 导入相关库''' import numpy as np import pandas as pd import matplotlib.pyplot as plt %matplotlib inline '''2. 导入数据集''' data = pd.read_csv('Social_Network_Ads.csv') print(data.head()) #分离特征矩阵X和标签向量Y X = data.iloc[:,2:-1].values #只使用年龄和预估薪资两个特征 Y = data.iloc[:,-1].values '''3. 检查缺失数据''' #没有缺失数据 '''4. 解析分类数据''' #没有分类数据 不需要数字化/转化one-hot编码 '''5. 避免虚拟变量陷阱''' #没有虚拟变量 '''6. 分割数据集为训练集和测试集''' from sklearn.model_selection import train_test_split X_train,X_test,Y_train,Y_test = train_test_split(X,Y,test_size=0.25,random_state=0) '''7. 特征缩放''' from sklearn.preprocessing import StandardScaler #实例化StandardScaler类的对象 sc = StandardScaler() #用对象调用类内的特征缩放方法 X_train = sc.fit_transform(X_train) X_test = sc.fit_transform(X_test)
2.使用k-NN对训练集进行训练
[code]#导入kNN分类器类 from sklearn.neighbors import KNeighborsClassifier #实例化类对象 指定k值/距离度量方式 classifier = KNeighborsClassifier(n_neighbors = 5,metric='minkowski',p=2) #训练 classifier = classifier.fit(X_train,Y_train) #classifier.fit(X_train,Y_train)
3.对测试集进行预测
[code]#用训练好的模型在测试集上预测 y_pred = classifier.predict(X_test)
4.生成混淆矩阵
[code]#评估模型效果 from sklearn.metrics import confusion_matrix cm = confusion_matrix(Y_test,y_pred) print(cm) #计算准确率 num_correct = np.sum(Y_test==y_pred) accuracy = float(num_correct)/len(y_pred) print(accuracy)
相关文章推荐
- 机器学习 & python 使用k-近邻算法改进约会网站的配对效果
- 【机器学习】k-近邻算法以及算法实例
- 机器学习笔记--K-近邻算法(三)
- [机器学习实战]K-近邻算法
- 机器学习100天-K邻近法 [KNN算法思想 + KNeighborsClassifier]
- k-近邻算法(k-nn)
- 机器学习笔记(4)---K-近邻算法(2)---使用sklearn中的KNN算法
- 机器学习——分类算法1:k-近邻 (KNN) 思想和代码
- 机器学习经典算法详解及Python实现--K近邻(KNN)算法
- 机器学习:kNN近邻算法
- 机器学习—使用k-近邻算法改进约会网站的配对效果
- 机器学习笔记(5)---K-近邻算法(3)---KNN手写识别系统
- 机器学习----K-近邻算法(Python代码详解)
- 机器学习总结(lecture 7)算法:K近邻KNN
- [置顶] 机器学习 (三) k-近邻算法应用-约会网站匹配系统
- 【机器学习实战-python3】k-近邻算法
- 机器学习---k-近邻算法
- K近邻(KNN)算法---------------------------机器学习系列(三)
- 机器学习实战之K-近邻算法
- 【机器学习实战笔记】第2章 k-近邻算法【01】