分类、聚类、回归、降维算法

  1. KNN(分类预测)
    适用于数值型、二维数据
from sklearn.neighbors import KNeighborsClassifier as knn
from sklearn.model_selection import GridSearchCV,train_test_split

knn = KNeighborsClassifier()
param = {'n_neighbors':range(5,97)}  
#(97-5)*40
gc = GridSearchCV(knn,param,cv=40,n_jobs=12).fit(features,labels)

#最好又稳定的准确率
gc.best_score_

#最好又稳定的超参数
gc.best_params_

#最好又稳定的模型
knn_best = gc.best_estimator_

模型保存
import pickle

#bytes 类型
pickle.dumps({'a':1})
from sklearn.externals import joblib

#value 需要被保存的模型
#filename 存储的文件名
joblib.dump(knn_best,'knn_iris.m')

KDTREE

kd_tree = KNeighborsClassifier(n_neighbors=19,algorithm='kd_tree').fit(X_train,y_train)
kd_tree.score(X_train,y_train),kd_tree.score(X_test,y_test)

  1. 线性回归
矩阵求逆:
Xinv = np.linalg.inv(X)
  1. 贝叶斯分类
    用处:
    ①文本: 舆情分析:利用网络机器人获取各大民情平台的评论(文本),从文本中进行基本的情感分析(赞同,不赞同)
    ②垃圾短信:垃圾词汇(恭喜xxx,你在本平台抽奖xxx宝马530Li) (狂送红包,旧货换新)

    3种贝叶斯模型
    多项式分布朴素贝叶斯(多分类)
    伯努利分布朴素贝叶斯(二分类)
    高斯分布朴素贝叶斯(不常用)

  2. kmeans

import pandas as pdfrom sklearn.cluster import KMeans      # 建立模型。n_clusters参数用来设置分类个数,即K值,这里表示将样本分为两类。
clf_KMeans = KMeans(n_clusters=3, max_iter=10)
# 模型训练。得到预测值。
print "clf_KMeans聚类中心\n", (clf_KMeans.cluster_centers_)
quantity = pd.Series(clf_KMeans.labels_).value_counts()
print "cluster2聚类数量\n", (quantity)
#获取聚类之后每个聚类中心的数据
res0Series = pd.Series(clf_KMeans.labels_)
res0 = res0Series[res0Series.values == 1]
print"类别为1的数据\n",(df.iloc[res0.index])

猜你喜欢

转载自blog.csdn.net/Q632655672/article/details/106305669
今日推荐