机器学习
小树苗m
硕士研究生,主要研究方向人工智能、数据处理。
展开
-
十二、机器学习算法整合(knn、朴素贝叶斯、决策树、随机森林、线性回归、岭回归、逻辑回归、聚类、支持向量机)
一、需要导入的库:'''作者:小宇最后完成日期:2021.2.28包含内容:支持向量机、AdaBoost、朴素贝叶斯、Knn、决策树、随机森林、线性回归'''from sklearn.datasets import load_breast_cancer,load_iris,load_boston,load_digits #导入数据from sklearn.naive_bayes import GaussianNB,MultinomialNB #朴素贝叶斯from sklearn.mo原创 2021-02-02 17:52:07 · 2285 阅读 · 0 评论 -
十一、聚类(k-means)
def kmeanss(): ''' 聚类: API:sklearn.cluster.KMeans(n_clusters=8,init=‘k-means++’) k-means聚类 n_clusters:开始的聚类中心数量 init:初始化方法,默认为'k-means ++’ labels_:默认标记的类型,可以和真实值比较(不是值比较) 轮廓系数评估API:sklearn.metrics.silhouette_原创 2021-02-02 17:46:57 · 76 阅读 · 0 评论 -
十、逻辑回归
def logic_regression(): ''' 逻辑回归:逻辑回归时解决二分类问题的利器,其输入为一个线性回归的结果。 API:sklearn.linear_model.LogisticRegression(solver='liblinear', penalty=‘l2’, C = 1.0) solver:优化求解方式(默认开源的liblinear库实现,内部使用了坐标轴下降法来迭代优化损失函数) sag:根据数据集自动选择,随机平均梯度下降原创 2021-02-02 17:45:22 · 92 阅读 · 0 评论 -
九、岭回归
def lin_regression(): ''' 岭回归:一种线性回归,在回归时加上正则化限制,解决过拟合现象。有L1和L2两种正则化方法,常用L2方法。正则化力度越大,权重系数越小,正则化力度越小,权重系数越大; L2正则化API:sklearn.linear_model.Ridge(alpha=1.0, fit_intercept=True,solver="auto", normalize=False) 具有l2正则化的线性回归原创 2021-02-02 17:44:29 · 148 阅读 · 0 评论 -
八、线性回归
def line_regression(): ''' 线性回归:一个自变量称为单变量回归,多个自变量称为多元回归。找到最小损失,优化方法有正规方程和梯度下降两种方式 API1(正规方程):sklearn.linear_model.LinearRegression(fit_intercept=True)此为通过正规方程优化 fit_intercept:是否计算偏置 LinearRegression.coef_:回归系数原创 2021-02-02 17:43:43 · 57 阅读 · 0 评论 -
七、随机森林
def random_forest(): ''' 随机森林:随机森林是一个包含多个决策树的分类器,并且其输出的类别是由个别树输出的类别的众数而定。 优点:1)具有极好的准确率;2)能够有效地运行在大数据集上;3)处理具有高维特征的输入样本,无需要降维就能够评估各个特征在分类问题上的重要性。 API:class sklearn.ensemble.RandomForestClassifier(n_estimators=10, criterion=’gini’, max_depth原创 2021-02-02 17:42:37 · 190 阅读 · 0 评论 -
十二、支持向量机
def svmm(): ''' 支持向量机(完善):用超平面对高纬空间中的样本进行分类,为了解决线性不可分问题,引入了核函数,常用核函数有线性核函数、多项式核函数、高斯核函数和sigmoid核函数 API:sklearn.svm.SVC(C=1.0, kernel='rbf', degree=3, gamma='auto', coef0=0.0, shrinking=True, probability=False, tol=0.001, cache_s原创 2021-02-02 17:48:04 · 216 阅读 · 1 评论 -
六、朴素贝叶斯
1、贝叶斯公式:2、拉普拉斯平滑系数(防止计算出的概率为0的情况):from sklearn.datasets import load_breast_cancer #导入数据from sklearn.metrics import accuracy_score #准确率from sklearn.metrics import classification_reportfrom sklearn.metrics import confusion_matrixfrom sk原创 2021-02-02 17:11:49 · 89 阅读 · 0 评论 -
五、k近邻居(knn)
def knn_algorithm(): ''' knn:根据邻居进行分类,常用欧式距离,还有曼哈顿等距离计算公式 优点:简单,易于理解和实现,无需训练 缺点:懒惰算法,计算量大,内存开销大,必须指定K值, k值取小:受异常点影响 k值取大:受样本均衡影响 使用场景:小数据场景,几千~几万样本 API:sklearn.neighbors.KNeighborsClassifier(n_neighbors=5,algorithm原创 2021-02-02 17:04:39 · 124 阅读 · 0 评论 -
四、一文了解selenium爬取网页信息基本用法
from selenium import webdriverimport time#browser = webdriver.Chrome('/Users/chenzhenyu/Downloads/chromedriver')def selenim_ex(browser): browser.get("https://www.baidu.com") #下面两行用xpath实现 #browser.find_element_by_xpath('//*[@id="kw"]').send_原创 2021-01-23 23:05:26 · 150 阅读 · 0 评论 -
三、一文了解pandas
import pandas as pdimport numpy as np'pandas包括一维数组Series和二维数组DataFrame'def tran_data(): '''列表,字典和数组转化''' ss = pd.Series(['hello',990,'你好']) print(ss) #可以使用pd.DataFrame()语句将列表,字典等转化为二维 alist3 = [['王五','2',70],['赵六','13',87],['王麻子','6'原创 2021-01-23 21:38:02 · 90 阅读 · 0 评论 -
二、numpy
numpyimport numpy as np#创建一维数组a = np.array([23,45,89,100,49])#创建二维数组b = np.array([[110,23,45,1],[12,5,67,90],[3,4,78,99]])print('一维数组:\n',a)print('二维数组:\n',b)一维数组:[ 23 45 89 100 49]二维数组:[[110 23 45 1][ 12 5 67 90][ 3 4 78 99]]原创 2021-01-22 19:05:21 · 70 阅读 · 0 评论 -
一、机器学习(knn,k-means,逻辑回归)
from sklearn import datasetsfrom sklearn.neighbors import KNeighborsClassifierimport matplotlib.pyplot as pltfrom sklearn.cluster import KMeansfrom sklearn.linear_model import LogisticRegressionimport numpy as npdef KNN_m(): iris = datasets.load_原创 2021-01-18 18:19:03 · 216 阅读 · 0 评论