scikit-learn机器学习knn、朴素贝叶斯、聚类、决策树所用到的相关库

以下为本人学习后归纳,如有侵权,请联系本人删除

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回归树
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值