以下为本人学习后归纳,如有侵权,请联系本人删除
KNN最近邻算法
import numpy as np
import pandas as pd
from sklearn.neighbors import KNeighborsClassifier,RadiusNeighborsClassifier #k近邻值 #RadiusNeighborsClassifier基于半径距离而不是k的nn分类器# KNeighborsClassifier实现K近邻算法的一个类,一般都使用欧式距离进行测量
from sklearn.datasets import load_iris #自带的数据 玩具数据
from sklearn.model_selection import train_test_split,GridSearchCV # 分割测试集和训练集, 网格搜索和交叉验证
#model_selection是sklearn中重要的机器学习模块
# 从训练数据集中拟合k近邻分类器。
knn.fit(x,y)
#准确度评估 返回给定测试数据和标签的平均精度。
knn.score(x,y)
knn.predict(x) # 预测x的目标值
from copy import deepcopy #深copy
from collections import Counter
from numpy.linalg import norm #norm范数
import matplotlib.pyplot as plt # 画图工具
import os
import glob #用来查找目录或文件
import warnings
import matplotlib
matplotlib.rcParams['font.family'] = ['Heiti TC'] #中文识别
warnings.filterwarnings('ignore')
#37开
#少的部分作为test 多的部分作为train
#留一 test_size:样本占比,如果是整数的话就是样本的数量
X_train,X_test,y_train,y_test = train_test_split(features,labels,test_size=0.3)
from sklearn.preprocessing import StandardScaler #preprocessing 预处理模型 StandardScaler标准化
from sklearn.pipeline import Pipeline
'''
Pipeline可以将许多算法模型串联起来,比如将特征提取、归一化、分类组织在一起形成一个典型的机器学习问题工作流。主要带来两点好处:
1. 直接调用fit和predict方法来对pipeline中的所有算法模型进行训练和预测。
2. 可以结合grid search对参数进行选择
'''
from sklearn.metrics import classification_report # 分类模型评估
import joblib #保存模型 加载模型
import pickle # 保存和提取数据
'''
GridSearchCV参数
estimator:估计量
param_grid:字典或者列表 抽取的k值
cv:交叉验证的数量
n_jobs:处理器数量
'''
from sklearn.preprocessing import MinMaxScaler # preprocessing数据预处理模块 MinMaxScaler 归一化模块,将每个元素(特征,feature)转换成给定范围的值
# 线性分类 非线性分类
from sklearn.datasets import make_circles,make_blobs,make_moons # 自带的数据集make_circles生成环状数据 make_moons生成月亮状数据
from sklearn.linear_model import LogisticRegression #逻辑回归模块
朴素贝叶斯
import numpy as np
from pprint import pprint
#print()和pprint()都是python的打印模块,功能基本一样,唯一的区别就是pprint()模块打印出来的数据结构更加完整,每行为一个数据结构,更加方便阅读打印输出结果。
import pandas as pd
from sklearn.naive_bayes import GaussianNB,BernoulliNB,MultinomialNB
#GaussianNB高斯贝叶斯 BernoulliNB伯努利贝叶斯 MultinomialNB多项式分布的朴素贝叶斯
from sklearn.feature_extraction.text import TfidfVectorizer,CountVectorizer # 词语向量化 计数词语出现次数的库
from sklearn.model_selection import train_test_split,cross_val_score #cross_val_score k折交叉验证 # 测试集和训练集分割器
import jieba as jb
jb.load_userdict(r"./user_dict.txt") #加载个性化字典,提高检测率。
" ".join(jb.lcut(text[1])) #分割词汇
from wordcloud import WordCloud
聚类
from sklearn.cluster import KMeans #聚类算法
from sklearn.datasets import load_iris,make_blobs #自带的数据集
from matplotlib import pyplot as plt #画图
import numpy as np
from sklearn.preprocessing import StandardScaler #标准化
#metrics 中全是评估方法
from sklearn.metrics import silhouette_score #聚类评估方法
import pandas as pd
from sklearn.cluster import KMeans,DBSCAN
'''
Kmeans是一种划分聚类的方法,基本K-Means算法的思想很简单,事先确定常数K,常数K意味着最终的聚类类别数,首先随机选定初始点为质心,并通过计算每一个样本与质心之间的相似度(这里为欧式距离),将样本点归到最相似的类中,接着,重新计算每个类的质心(即为类中心),重复这样的过程,直到质心不再改变,最终就确定了每个样本所属的类别以及每个类的质心。
DBSCAN通过检查数据集中每点的Eps邻域来搜索簇,如果点p的Eps邻域包含的点多于MinPts个,则创建一个以p为核心对象的簇。并将p的Eps邻域内所有点归入p所在的簇。否则,p被标记为噪声点。
然后,DBSCAN迭代地聚集从这些核心对象直接密度可达的对象,这个过程可能涉及一些密度可达簇的合并。(就是p的Eps邻域中的点)
当没有新的点添加到任何簇时,该过程结束.
'''
import glob #用来查找目录和文件
import os
from sklearn.preprocessing import MinMaxScaler #归一化
from sklearn.datasets import make_blobs,make_circles,make_moons
from mpl_toolkits.mplot3d import Axes3D #3D图模块
import datetime as dt
决策树
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt #画图
from sklearn.cluster import KMeans #聚类
from sklearn.preprocessing import StandardScaler #标准化
from sklearn.feature_extraction import DictVectorizer #特征向量化
from sklearn.model_selection import GridSearchCV,train_test_split #网格搜索交叉验证 分测试集和训练集
from sklearn.tree import DecisionTreeClassifier, export_graphviz #DecisionTreeClassifier决策分类树 export_graphviz决策树可视化
from six import StringIO,BytesIO #向内存进行存储
import sklearn.tree as tree
from sklearn import preprocessing # preprocessing规范化数据,对数据预处理的库
import pydotplus #决策树可视化图
#随机 : 随机抽样(随机抽取训练数据的样本) 每一个树都随机抽取70%的样本量
#生成n多个模型以后,进行投票分类或投票回归
from sklearn.ensemble import RandomForestClassifier #随机森林
from sklearn.decomposition import PCA #数据预处理 降维技术
from sklearn.metrics import accuracy_score,classification_report #精度和召回率
from sklearn.metrics import roc_auc_score,roc_curve #roc曲线
import seaborn as sns #画图工具
sns.set_style("dark")
from collections import Counter #快速计数工具
from sklearn.ensemble import RandomForestRegressor,GradientBoostingRegressor #GradientBoostingRegressor梯度下降
import missingno as msno #缺失值处理模块
from sklearn.cluster import KMeans #聚类
from sklearn.preprocessing import MinMaxScaler#归一化
from sklearn.tree import DecisionTreeClassifier,DecisionTreeRegressor #DecisionTreeRegressor回归树