zoukankan      html  css  js  c++  java
  • sklearn框架使用例子,多种分类方法的集合,方便模型的融合

      1 import numpy as np
      2 import pandas as pd
      3 from pandas import Series,DataFrame
      4 import matplotlib.pyplot as plt
      5 from sklearn.svm import NuSVC
      6 import xgboost as xgb
      7 from xgboost import plot_importance
      8 #模型效果评估
      9 from sklearn.metrics import r2_score
     10 from datetime import datetime
     11 from sklearn.model_selection import train_test_split
     12 from sklearn.preprocessing import StandardScaler
     13 from sklearn.datasets import make_moons, make_circles, make_classification
     14 from sklearn.neural_network import MLPClassifier
     15 from sklearn.neighbors import KNeighborsClassifier
     16 from sklearn.svm import SVC
     17 from sklearn.gaussian_process import GaussianProcessClassifier
     18 from sklearn.gaussian_process.kernels import RBF
     19 from sklearn.tree import DecisionTreeClassifier
     20 from sklearn.ensemble import RandomForestClassifier, AdaBoostClassifier
     21 from sklearn.discriminant_analysis import QuadraticDiscriminantAnalysis
     22 
     23 #到多元回归之前是获取数据过程,下面分别采用多种模型对数据进行测试
     24 df = pd.read_excel(r'C:Users27058Desktop	askprogram1.xlsx')
     25 # print(len(df))
     26 heji = list() #所有训练数据
     27 output_1 = list()
     28 output_2 = list()
     29 output_3 = list()
     30 output_4 = list()
     31 output_5 = list()
     32 # 0:84
     33 for i in range(0,72):
     34     # 每组训练数据
     35     input = list()
     36     input.append(df['镍片厚度(mm)'][i])
     37     input.append(df['结果状态'][i])     #是否合格
     38     input.append(df['焊点拉力(N)'][i])
     39     input.append(df['镍带是否撕裂'][i])
     40     heji.append(input)
     41 
     42     output_1.append(df['焊针压力(N)'][i])
     43     output_2.append(df['焊接电压1(V)'][i])
     44     output_3.append(df['焊接电压2(V)'][i])
     45     output_4.append(df['焊接时间1(ms)'][i])
     46     output_5.append(df['焊接时间2(ms)'][i])
     47 
     48 x_train = heji[0:52]
     49 y_train = output_2[0:52]
     50 x_test = np.array(heji[52:])
     51 y_true = output_2[52:]
     52 
     53 standardScaler = StandardScaler()
     54 x_train_fit = standardScaler.fit_transform(x_train)
     55 x_test_fit = standardScaler.transform(x_test)
     56 print("y_true:",y_true)
     57 # logistic回归,用作二分类
     58 from sklearn.linear_model import LogisticRegression
     59 log_reg = LogisticRegression()
     60 log_reg.fit(x_train_fit, y_train)
     61 log_reg_pre = log_reg.predict(x_test_fit)
     62 print('log:',log_reg_pre)
     63 
     64 #sgd分类
     65 from sklearn.linear_model import SGDClassifier
     66 sgd_reg = SGDClassifier()
     67 sgd_reg.fit(x_train_fit,y_train)
     68 sgd_reg_pre = sgd_reg.predict(x_test_fit)
     69 print('sgd:',sgd_reg_pre)
     70 
     71 #朴素贝叶斯
     72 from sklearn.naive_bayes import GaussianNB
     73 gnb = GaussianNB()
     74 gnb_y_pred = gnb.fit(x_train_fit, y_train).predict(x_test_fit)
     75 print('gnb:',gnb_y_pred)
     76 
     77 # #KNN分类
     78 # from sklearn import neighbors
     79 # knn = neighbors.KNeighborsClassifier()
     80 # knn.fit(x_train_fit, y_train)
     81 # knn_pre = knn.predict(x_test_fit)
     82 # print('knn:',knn_pre)
     83 
     84 classifiers = [
     85     KNeighborsClassifier(3),
     86     # SVC(kernel="linear", C=0.025),
     87     SVC(gamma=2, C=1),
     88     GaussianProcessClassifier(1.0 * RBF(1.0), warm_start=True),
     89     DecisionTreeClassifier(max_depth=5),
     90     RandomForestClassifier(max_depth=5, n_estimators=10, max_features=1),
     91     MLPClassifier(alpha=1),
     92     AdaBoostClassifier(),
     93     GaussianNB(),
     94     QuadraticDiscriminantAnalysis()]
     95 
     96 names = ["knn",  "RBF_SVM", "g_c",
     97          "Deci", "Rand", "Net", "AdaBoost",
     98          "Bayes", "QDA"]
     99 for name, clf in zip(names, classifiers):
    100     pre = clf.fit(x_train_fit, y_train).predict(x_test_fit)
    101     print(name,pre)
  • 相关阅读:
    VS2013使用scanf、gets及字符串函数编译报错error C4996: 'scanf': This function or variable may be unsafe. 原因及解决方案
    关于vs2013与office系列软件一起安装出现bug的情况描述以及解决办法——打开vs2013鼠标不动/动不了
    武汉华师驾校学车笔记_纪实
    vs2013由修改模式改为输入模式。
    解析:求最大公约数的“辗转相除法原理”
    关于scanf与scanf_s的区别,以及用scanf编译出错并且提示找不到可执行文件.exe的解决办法。
    [C编译器]在VS中编译调试C程序
    使用vs编译程序选择新建”空项目“与”win32控制台应用程序“的区别。
    AngularJS+Ionic开发-1.搭建开发环境
    PetaPoco源代码学习--3.Sql类
  • 原文地址:https://www.cnblogs.com/ywheunji/p/10724509.html
Copyright © 2011-2022 走看看