精华内容
下载资源
问答
  • 数据挖掘技术 第九课 常用分类方法 主要内容 ? 基于规则的分类 ? 基于实例的分类 基于规则的分类 Rule-Based Classifier ? 使用形如 ifthen 的规则集对记录进行分类 ? 规则 : ( Condition ) ? y ? 其中 : ? ...
  • python中分类常用方法

    千次阅读 2018-08-08 14:25:45
    分类是数据处理常用方法,今天介绍python中种常用的数据分析方法 1、线性逻辑分类 逻辑分类分为二元分类和多元分类 函数:y = 1 / (1 + e^-z) 其中 z = k1x1 + k2x2 + b 交叉熵误差:J(k1,k2,b) = sigma(-...

    分类是数据处理常用的方法,今天介绍python中种常用的数据分析方法

    1、线性逻辑分类

      逻辑分类分为二元分类和多元分类

      函数:y = 1 / (1 + e^-z)       其中 z = k1x1 + k2x2 + b

      交叉熵误差:J(k1,k2,b) = sigma(-ylog(y') - (1-y)log(1-y')) / m + 正则函数 * 正则强度(目的是防止过拟合,提高模型泛化性能)

      python方法:sklearn.linear_model.LogisticRegression(solver='liblinear', c=正则强度)

      二元分类示例:

    import numpy as np
    import matplotlib.pyplot as mp
    import sklearn.linear_model as lm
    
    x = np.array([
        [3, 1],
        [2, 5],
        [1, 8],
        [6, 4],
        [5, 2],
        [3, 5],
        [4, 7],
        [4, -1]
    ])
    y = np.array([0, 1, 1, 0, 0, 1, 1, 0])
    model = lm.LogisticRegression(solver='liblinear', C=1)
    model.fit(x, y)
    l, r, h = x[:, 0].min() - 1, x[:, 0].max() + 1, 0.05
    b, t, v = x[:, 1].min() - 1, x[:, 1].max() + 1, 0.05
    grid_x = np.meshgrid(np.arange(l, r, h), np.arange(b, t, v))
    flat_x = np.c_[grid_x[0].ravel(), grid_x[1].ravel()]
    flat_y = model.predict(flat_x)
    grid_y = flat_y.reshape(grid_x[0].shape)
    
    mp.figure('Logistic Classification', facecolor='lightgray')
    mp.title('Logistic Classification', fontsize=12)
    mp.xlabel('x', fontsize=12)
    mp.ylabel('y', fontsize=12)
    mp.tick_params(labelsize=10)
    # 根据颜色画图
    mp.pcolormesh(grid_x[0], grid_x[1], grid_y, cmap='gray')
    mp.scatter(x[:, 0], x[:, 1], c=y, cmap='brg', s=60)
    mp.show()

      结果:

         

      多元分类示例:

    import numpy as np
    import matplotlib.pyplot as mp
    import sklearn.linear_model as lm
    
    x = np.array([
        [4, 7],
        [3.5, 8],
        [3.1, 6.2],
        [0.5, 1],
        [1, 2],
        [1.2, 1.9],
        [6, 2],
        [5.7, 1.5],
        [5.4, 2.2]
    ])
    y = np.array([0, 0, 0, 1, 1, 1, 2, 2, 2])
    model = lm.LogisticRegression(solver='liblinear', C=100)
    model.fit(x, y)
    l, r, h = x[:, 0].min() - 1, x[:, 0].max() + 1, 0.05
    b, t, v = x[:, 1].min() - 1, x[:, 1].max() + 1, 0.05
    grid_x = np.meshgrid(np.arange(l, r, h), np.arange(b, t, v))
    flat_x = np.c_[grid_x[0].ravel(), grid_x[1].ravel()]
    flat_y = model.predict(flat_x)
    grid_y = flat_y.reshape(grid_x[0].shape)
    
    mp.figure('Logistic Classification', facecolor='lightgray')
    mp.title('Logistic Classification', fontsize=12)
    mp.xlabel('x', fontsize=12)
    mp.ylabel('y', fontsize=12)
    mp.tick_params(labelsize=10)
    mp.pcolormesh(grid_x[0], grid_x[1], grid_y, cmap='gray')
    mp.scatter(x[:, 0], x[:, 1], c=y, cmap='brg', s=60)
    mp.show()

      结果:

      

    2、朴素贝叶斯分类

      适用场景:数据有限但数据分布的特征已知(概率密度函数),或数据无限多的情况

      朴素贝叶斯定理: P(A|B) = P(A)P(B|A) / P(B)

          B样本属于A类别的概率,正比于A类别出现的概率乘以A类别条件下B样本中每一个特征出现的概率的乘积

      python方法:sklearn.naive_bayes.GaussianNB()   (基于高斯函数的贝叶斯)

      示例:

    import numpy as np
    import sklearn.naive_bayes as nb
    import matplotlib.pyplot as mp
    
    x, y = [], []
    with open('../ML/data/multiple1.txt', 'r') as f:
        for line in f.readlines():
            data = [float(substr) for substr in line.split(',')]
            x.append(data[:-1])
            y.append(data[-1])
    x = np.array(x)
    y = np.array(y, dtype=int)
    # 构建朴素贝叶斯分类
    model = nb.GaussianNB()
    model.fit(x, y)
    # 栅格化
    l, r, h = x[:, 0].min() - 1, x[:, 0].max() + 1, 0.05
    b, t, v = x[:, 1].min() - 1, x[:, 1].max() + 1, 0.05
    grid_x = np.meshgrid(np.arange(l, r, h),
                         np.arange(b, t, v))
    flat_x = np.c_[grid_x[0].ravel(), grid_x[1].ravel()]
    # 预测每个点对应的类别
    flat_y = model.predict(flat_x)
    grid_y = flat_y.reshape(grid_x[0].shape)
    
    mp.figure('Naive Bayes Classification',
              facecolor='lightgray')
    mp.title('Naive Bayes Classification', fontsize=12)
    mp.xlabel('x', fontsize=12)
    mp.ylabel('y', fontsize=12)
    mp.tick_params(labelsize=10)
    mp.pcolormesh(grid_x[0], grid_x[1], grid_y, cmap='gray')
    mp.scatter(x[:, 0], x[:, 1], c=y, cmap='brg', s=60)
    mp.show()

      结果:

      

    3、随机森林分类

      代码:

    import numpy as np
    import sklearn.preprocessing as sp
    import sklearn.ensemble as se
    import sklearn.model_selection as ms
    
    # 训练模型
    data = []
    with open('../ML/data/car.txt', 'r') as f:
        for line in f.readlines():
            # 最后一列是换行符
            data.append(line[:-1].split(','))
    data = np.array(data).T
    encoders, train_x, train_y = [], [], []
    for row in range(len(data)):
        encoder = sp.LabelEncoder()
        if row < len(data) - 1:
            train_x.append(encoder.fit_transform(data[row]))
        else:
            train_y = encoder.fit_transform(data[row])
        encoders.append(encoder)
    train_x = np.array(train_x).T
    # 随机森林分类器
    model = se.RandomForestClassifier(max_depth=9,
            n_estimators=140, random_state=7)
    print(ms.cross_val_score(model, train_x, train_y,
                cv=2, scoring='f1_weighted').mean())
    model.fit(train_x, train_y)
    
    # 使用模型进行分类预测
    data = [
        ['high', 'med', '5more', '4', 'big', 'low', 'unacc'],
        ['high', 'high', '4', '4', 'med', 'med', 'acc'],
        ['low', 'low', '2', '4', 'small', 'high', 'good'],
        ['low', 'med', '3', '4', 'med', 'high', 'vgood']
    ]
    data = np.array(data).T
    test_x = []
    for row in range(len(data)):
        encoder = encoders[row]
        if row < len(data) - 1:
            test_x.append(encoder.transform(data[row]))
        else:
            test_y = encoder.transform(data[row])
        encoders.append(encoder)
    test_x = np.array(test_x).T
    pred_test_y = model.predict(test_x)
    print(encoders[-1].inverse_transform(pred_test_y))
    # ['unacc' 'acc' 'good' 'vgood']
    
    

    4、支持向量机分类(SVM)

      分类边界需要满足4个条件:

          正确分类

          支持向量到分类边界的距离相等

          支持向量到分界线的间距最大

          线性(直线,平面)

      对于在低维度空间无法线性划分的样本,通过升维变换,在高维度空间寻找最佳线性分类边界

      python中方法:sklearn.svm.SVC(kernel=核函数, c=正则强度)

                                  核函数:线性函数:linear    多项式函数:'poly'    径向基函数:'rbf'

       示例:

    import numpy as np
    import sklearn.model_selection as ms
    import sklearn.svm as svm
    import sklearn.metrics as sm
    import matplotlib.pyplot as mp
    
    x, y = [], []
    with open('../ML/data/multiple2.txt', 'r') as f:
        for line in f.readlines():
            data = [float(substr) for substr in line.split(',')]
            x.append(data[:-1])
            y.append(data[-1])
    x = np.array(x)
    y = np.array(y, dtype=int)
    train_x, test_x, train_y, test_y = ms.train_test_split(
                        x, y, test_size=0.25, random_state=7)
    # 多项式核函数
    model = svm.SVC(kernel='poly', degree=2)
    model.fit(train_x, train_y)
    l, r, h = x[:, 0].min() - 1, x[:, 0].max() + 1, 0.005
    b, t, v = x[:, 1].min() - 1, x[:, 1].max() + 1, 0.005
    grid_x = np.meshgrid(np.arange(l, r, h),
                         np.arange(b, t, v))
    flat_x = np.c_[grid_x[0].ravel(), grid_x[1].ravel()]
    flat_y = model.predict(flat_x)
    grid_y = flat_y.reshape(grid_x[0].shape)
    pred_test_y = model.predict(test_x)
    print(sm.classification_report(test_y,pred_test_y))
    
    mp.figure('SVM Polynomial Classification',
              facecolor='lightgray')
    mp.title('SVM Polynomial Classification', fontsize=12)
    mp.xlabel('x', fontsize=12)
    mp.ylabel('y', fontsize=12)
    mp.tick_params(labelsize=10)
    mp.pcolormesh(grid_x[0], grid_x[1], grid_y, cmap='gray')
    C0, C1 = y == 0, y == 1
    mp.scatter(x[C0][:, 0], x[C0][:, 1],
               c='orangered', s =60)
    mp.scatter(x[C1][:, 0], x[C1][:, 1],
               c='limegreen', s =60)
    mp.show()
    

          结果:

          

    5、KNN分类

      遍历训练集中的所有样本,计算每个样本与待测样本的距离,并从中找出k的最近邻。根据与距离成反比的权重,做加权投票(分类)或平均(回归),得到待测样本的类别标签或预测数值。

      python中方法:sklearn.neighbors.KNeighborsClassifier(n_neighbors=最近邻个数, weights=‘distance’)

      代码:

    import numpy as np
    import sklearn.neighbors as sn
    import matplotlib.pyplot as mp
    
    train_x, train_y = [], []
    with open('../ML/data/knn.txt', 'r') as f:
        for line in f.readlines():
            data = [float(substr) for substr in line.split(',')]
            train_x.append(data[:-1])
            train_y.append(data[-1])
    train_x = np.array(train_x)
    train_y = np.array(train_y, dtype=int)
    model = sn.KNeighborsClassifier(n_neighbors=10,
                                    weights='distance')
    model.fit(train_x, train_y)
    l, r, h = train_x[:, 0].min() - 1, \
              train_x[:, 0].max() + 1, 0.05
    b, t, v = train_x[:, 1].min() - 1, \
              train_x[:, 1].max() + 1, 0.05
    grid_x = np.meshgrid(np.arange(l, r, h), np.arange(b, t, v))
    flat_x = np.c_[grid_x[0].ravel(), grid_x[1].ravel()]
    flat_y = model.predict(flat_x)
    grid_y = flat_y.reshape(grid_x[0].shape)
    test_x = np.array([
        [2.2, 6.2],
        [3.6, 1.8],
        [4.5, 3.6]
    ])
    pred_test_y = model.predict(test_x)
    nn_distances, nn_indices = model.kneighbors(test_x)
    
    mp.figure('KNN Classification', facecolor='lightgray')
    mp.title('KNN Classification', fontsize=12)
    mp.xlabel('x', fontsize=12)
    mp.ylabel('y', fontsize=12)
    mp.tick_params(labelsize=10)
    mp.pcolormesh(grid_x[0], grid_x[1], grid_y, cmap='gray')
    classes = np.unique(train_y)
    classes.sort()
    cs = mp.get_cmap('brg', len(classes))(classes)
    mp.scatter(train_x[:, 0], train_x[:, 1], c=cs[train_y], s=60)
    mp.scatter(test_x[:, 0], test_x[:, 1],
               marker='D', c=cs[pred_test_y], s=60)
    # 将预测结果的近邻用菱形画出来
    for nn_index, y in zip(nn_indices, pred_test_y):
        mp.scatter(train_x[nn_index, 0],
                   train_x[nn_index, 1],marker='D',
                   edgecolor=cs[np.ones_like(nn_index) * y],
                   facecolor = 'none', s=180)
    mp.show()
    

        结果:

      

    今天先到这里,下次记录一下常用的回归方法。随机森林分类的原理,会在决策树回归方法中介绍。

      

    展开全文
  • 常用分类&聚类方法

    千次阅读 2017-09-08 10:03:42
    (参考常用分类算法总结) 决策树 基于规则的分类算法 朴素贝叶斯 杂货铺 最近邻分类器 贝叶斯信念网络(BBN) 人工神经网络 支持向量机的特征(SVM) 什么是聚类聚类就是按照某个特定标准(如距离准

    什么是分类

    分类任务就是明确对象属于哪个预定义的目标类。其中预定义的目标类是离散时为分类,连续时为回归。

    有哪些分类方法

    常用的分类算法有决策树,基于规则的分类算法,神经网络,支持向量机和朴素贝叶斯分类法等。(参考常用分类算法总结

    • 决策树

    • 基于规则的分类算法

    • 朴素贝叶斯 杂货铺

    • 最近邻分类器

    • 贝叶斯信念网络(BBN)

    • 人工神经网络

    • 支持向量机的特征(SVM)

    什么是聚类

    聚类就是按照某个特定标准(如距离准则,即数据点之间的距离)把一个数据集分割成不同的类或簇,使得同一个簇内的数据对象的相似性尽可能大,同时不在同一个簇中的数据对象的差异性也尽可能地大。

    有哪些聚类

    • 基于划分聚类算法(partition clustering)

    k-means: 是一种典型的划分聚类算法,它用一个聚类的中心来代表一个簇,即在迭代过程中选择的聚点不一定是聚类中的一个点,该算法只能处理数值型数据
    k-modes: K-Means算法的扩展,采用简单匹配方法来度量分类型数据的相似度
    k-prototypes: 结合了K-Means和K-Modes两种算法,能够处理混合型数据
    k-medoids: 在迭代过程中选择簇中的某点作为聚点,PAM是典型的k-medoids算法
    CLARA: CLARA算法在PAM的基础上采用了抽样技术,能够处理大规模数据
    CLARANS: CLARANS算法融合了PAM和CLARA两者的优点,是第一个用于空间数据库的聚类算法
    Focused CLARAN: 采用了空间索引技术提高了CLARANS算法的效率
    PCM: 模糊集合理论引入聚类分析中并提出了PCM模糊聚类算法

    • 基于层次聚类算法

    CURE: 采用抽样技术先对数据集D随机抽取样本,再采用分区技术对样本进行分区,然后对每个分区局部聚类,最后对局部聚类进行全局聚类
    ROCK: 也采用了随机抽样技术,该算法在计算两个对象的相似度时,同时考虑了周围对象的影响
    CHEMALOEN(变色龙算法): 首先由数据集构造成一个K-最近邻图Gk ,再通过一个图的划分算法将图Gk 划分成大量的子图,每个子图代表一个初始子簇,最后用一个凝聚的层次聚类算法反复合并子簇,找到真正的结果簇
    SBAC: SBAC算法则在计算对象间相似度时,考虑了属性特征对于体现对象本质的重要程度,对于更能体现对象本质的属性赋予较高的权值
    BIRCH: BIRCH算法利用树结构对数据集进行处理,叶结点存储一个聚类,用中心和半径表示,顺序处理每一个对象,并把它划分到距离最近的结点,该算法也可以作为其他聚类算法的预处理过程
    BUBBLE: BUBBLE算法则把BIRCH算法的中心和半径概念推广到普通的距离空间
    BUBBLE-FM: BUBBLE-FM算法通过减少距离的计算次数,提高了BUBBLE算法的效率

    • 基于密度聚类算法

    DBSCAN: DBSCAN算法是一种典型的基于密度的聚类算法,该算法采用空间索引技术来搜索对象的邻域,引入了“核心对象”和“密度可达”等概念,从核心对象出发,把所有密度可达的对象组成一个簇
    GDBSCAN: 算法通过泛化DBSCAN算法中邻域的概念,以适应空间对象的特点
    DBLASD:
    OPTICS: OPTICS算法结合了聚类的自动性和交互性,先生成聚类的次序,可以对不同的聚类设置不同的参数,来得到用户满意的结果
    FDC: FDC算法通过构造k-d tree把整个数据空间划分成若干个矩形空间,当空间维数较少时可以大大提高DBSCAN的效率

    • 基于网格的聚类算法

    STING: 利用网格单元保存数据统计信息,从而实现多分辨率的聚类
    WaveCluster: 在聚类分析中引入了小波变换的原理,主要应用于信号处理领域。(备注:小波算法在信号处理,图形图像,加密解密等领域有重要应用,是一种比较高深和牛逼的东西)
    CLIQUE: 是一种结合了网格和密度的聚类算法
    OPTIGRID:

    • 基于神经网络的聚类算法

    自组织神经网络SOM: 该方法的基本思想是–由外界输入不同的样本到人工的自组织映射网络中,一开始时,输入样本引起输出兴奋细胞的位置各不相同,但自组织后会形成一些细胞群,它们分别代表了输入样本,反映了输入样本的特征

    • 基于统计学的聚类算法

    COBWeb: COBWeb是一个通用的概念聚类方法,它用分类树的形式表现层次聚类
    CLASSIT:
    AutoClass: 是以概率混合模型为基础,利用属性的概率分布来描述聚类,该方法能够处理混合型的数据,但要求各属性相互独立

    参考

    http://blog.chinaunix.net/uid-10289334-id-3758310.html
    http://www.cnblogs.com/leoo2sk/archive/2010/09/17/naive-bayesian-classifier.html
    http://blog.csdn.net/shouwangcc/article/details/48101761

    展开全文
  • 临床常用血液制品的种类及输注方法,临床常用血液制品的种类及输注方法课件,临床常用血液制品的种类及输注方法PPT
  • JAVA常用8种类的使用方法详解,基础,补充基础知识
  • 常用焊接方法.pptx

    2021-09-23 11:03:47
    常用焊接方法.pptx
  • 液晶显示器的故障现象,种类繁多,但在修理时,只要诊断方法正确得当,思路清晰,是不难排除故障的。下面介绍维修时常用方法。  1.感观法  感观法是指通过用嘴问、用眼看、用耳听、用鼻子闻、用手摸的方法...
  • 常用建模方法

    万次阅读 2018-11-27 15:15:40
    常用实体建模法,维度建模法,范式建模法三种数据建模方法,不管哪种数据建模方法都是使信息结构清晰、易于存储和读取。 (1)实体建模法  实体是现实世界中存在的事物或发生的事件,是现实世界中任何可识别...

    数据建模

    世界上物品种类有千万种,各种信息更是层出不穷,每种信息都有各自独特的格式和表达方式,如何对信息进行描述,按照一定的方式进行转化,使之形成适合存储的数据格式,称之为建模。常用的有实体建模法,维度建模法,范式建模法三种数据建模方法,不管哪种数据建模方法都是使信息结构清晰、易于存储和读取。

    (1)实体建模法

     实体是现实世界中存在的事物或发生的事件,是现实世界中任何可识别、可区分的事物。实体可以是人,可以是物,也可以是发生的某件事,比如一场篮球比赛。每一个实体都必须具备一定的特征,用来区分一个个实体,这些特征称为属性,每个实体可以用若干个属性来刻画,每个属性又有一定的取值类型和取值范围,属性是变量,其取值范围是属性的值域。实体建模法是根据客观世界中的一个个实体,以及实体之间的关系,在数据建模的过程中引入这种区分方法,将整个业务分成一个个实体,从而建立数据模型。实体建模可以比较容易的实现模型的划分,抽象出具体的业务概念,创建符合自己需要的数据库模型。实体建模是对客观世界的抽象,因此该方法建立的模型具有一定的局限性,适合于特定的领域。

    (2)维度建模法

    维度在数学上指独立参数的数据,在数据分析领域,是指描述事物的角度和方面,是数据库当中,描述某一事物的方法和属性的数目。维度建模就是针对给定的事物,使用不同的描述方法,记录该事物在不同分类方法当中每个属性的值。如对人进行维度建模时,按照性别的维度可以分为男和女,按照年龄段可以分为儿童、少年、青年、中年、老年,按照收入水平可以分为3000以下、3000-6000、6000-10000,10000以上等集中类别。

     维度建模法的好处是对于某个事物,可以在各个维度进行预处理,进行统计、分类、排序等,提高数据库操作性能,同时维度建模法建立的数据模型比较直观,可以紧密围绕业务需求建立模型,直观的反应业务中的问题,建模方法简单,不需要进行特别的抽象处理。但是维度建模法同时也存在缺点,一是在数据建模时需要进行预处理,存在大量的预处理工作,并且当业务需求发生变化时,需要重新定义维度,重新进行新维度的数据预处理,在数据预处理过程中往往存在大量数据冗余,另外就是在进行维度建模时,仅仅依靠维度进行建模,不能保证数据来源的准确性和一致性,不适合在数据库底层使用。

    (3)范式建模法

    范式就是规则,是符合某一级别关系模式的集合,构造数据库时必须遵循一定的规则。关系数据库中的关系必须满足一定的规则,即满足不同的范式。

     范式建模法是将原始数据信息根据一定的数据结构和转换模型,分解、转化为规范的格式,使数据遵守一定的约束条件,每一个数据项所表达的意思明确,不产生歧义,同时各条数据之间相互独立,不存在依赖关系。
     

    展开全文
  • 常用焊接方法概述.pptx
  • 数据挖掘技术 第九课 常用分类方法 主要内容 基于规则的分类 基于实例的分类 基于规则的分类Rule-Based Classifier 使用形如ifthen 的规则集对记录进行分类 规则: (Condition) ? y 其中: Condition 是属性-值对的合...
  • 二极管的分类常用方法

    万次阅读 多人点赞 2017-09-13 16:23:26
    前面调试一个板子,半天没搞清楚啥问题,直接USB...所以借此总结一下二极管的常见使用方法。1.肖特基二极管1.1概念一般的PN结二极管是利用N型半导体与P型半导体形成的PN结制作而成。肖特基二极管(SBD)不是利用P型半导

    前言:

    为了方便查看博客,特意申请了一个公众号,附上二维码,有兴趣的朋友可以关注,和我一起讨论学习,一起享受技术,一起成长。

    在这里插入图片描述


    前面调试一个板子,半天没搞清楚啥问题,直接USB供电正常运行,使用电池供电就发生3.3V和GND“短接”,各种测试濒临崩溃,最后发现是一个二极管加工时焊接错误,导致电池供电时在二极管上的压降太大,更改成肖特基低压差二极管,完美解决。所以借此总结一下二极管的常见使用方法。


    1.肖特基二极管

    1.1概念

    一般的PN结二极管是利用N型半导体与P型半导体形成的PN结制作而成。

    肖特基二极管(SBD)不是利用P型半导体与N型半导体接触形成PN结原理制作的,而是利用金属与半导体接触形成的金属-半导体结(肖特基势垒)原理制作的。因此,SBD也称为金属-半导体(接触)二极管或表面势垒二极管,它是一种热载流子二极管。组成如下图:

    这里写图片描述

    肖特基二极管的Schottky barriers(肖特基势垒)小于一般的PN结型二极管,所以正向导通所需的电压很低(0.2~0.5V)。肖特基二极管的反向恢复时间(trr)非常快,因为其不存在少数载流子的寿命问题,反向恢复电荷非常少,所以其开关频率特别高,可达100GHz。这些特性使得肖特基二极管在高频应用领域占有重要位置。

    1.2肖特基二极管的原理

    Schottky diode 是用**贵金属作为正极,N型半导体作为负极。**在N型半导体中掺杂了磷、砷等元素,所以N型半导体的多子为自由电子(Electronics),少子为空穴(Hole)。而贵金属中的自由电子较少,所以电子(Electronics)由N型半导体向金属扩散。因为金属中没有空穴(Hole)的存在,所以当电子不断向金属扩散,N型半导体得不到空穴补充所以带正电,贵金属端由于多了自由电子所以带负电。Schottky diode 就形成了一个从N型半导体指向贵金属端的内电场。如下图所示:

    这里写图片描述

    在内电场的作用下,贵金属端的电子漂移至N型半导体。随着漂移运动,内电场又逐渐被削弱,扩散运动增加。最后扩散运动与漂移运动达到平衡,在N型半导体与贵金属之间形成了Schottky barriers(肖特基势垒)。如下图。

    这里写图片描述

    施加正向电压: 当对肖特基二极管施加正向电压时,中间的空间电荷区减少,加剧扩散运动。如下图。

    这里写图片描述

    施加反向电压时:

    当对肖特基二极管施加反向电压时,在反向电压与内电场的共同作用下空间电荷区增加,扩散运动受抑。少量电子在外加电压与内电场的共同作用下从贵金属端漂移至N型半导体。N型半导体的电子因为空间电荷区的增大以及外加电场与内电场共同的影响无法穿过空间电荷区到达贵金属端,形成反向截止。

    这里写图片描述

    1.4肖特基二极管特性

    肖特基二极管(SBD)的主要参数有:IF(IO)正向电流(A)、VRRM反向耐压(V)、IFSM峰值瞬态浪涌电流(A)、IF测试电流(A)、VF正向压降(V)、IR反向漏电流(uA)。肖特基二极管属于低功耗、超高速的半导体器件。

    1.肖特基二极管的正向压降比快恢复二极管正向压降低很多,所以自身功耗较小,效率高。

    2.由于反向电荷恢复时间极短,所以适宜工作在高频状态下。

    3.能耐受高浪涌电流。

    4.以前的肖特基管反向耐压一般在200V以下,但现在最新技术可以做到高达1000V的产品,市场应用前景十分广阔。

    5.目前市场上常见的肖特基管最高结温分100℃、125℃、150%、175℃几种(结温越高表示产品抗高温特性越好,即工作在此温度以下不会引起失效)。

    6.反向漏电流比较大,所以没法做成高压的二极管。

    1.5肖特基二极管应用

    肖特基二极管一般用在电源次级输出整流上面。 作用还是整流,其优势是正向压降低,反向恢复时间快,所以整体损耗会比其他的二极管低很多。

    肖特基二极管被广泛应用于变频器、开关电源、驱动器等电路,作为低压、高频、大电流整流二极管、保护二极管、续流二极管等使用,肖特基二极管在微波通信等电路中作整流二极管、小信号检波二极管使用。

    2.快恢复二极管

    2.1概念

    能够迅速由导通状态过渡到关断状态的PN结整流二极管,称为快恢复二极管。快恢复二极管(简称FRD),是一种具有开关特性好、反向恢复时间短特点的半导体二极管,工艺上多采用掺金措施,结构上有采用PN结型结构,有的采用改进的PIN结构。其正向压降高于普通二极管(1-2V),反向耐压多在1200V以下,从性能上可分为快恢复和超快恢复两个等级。前者反向恢复时间为数百纳秒或更长,后者则在100纳秒以下。 主要应用于开关电源、PWM脉宽调制器、变频器等电子电路中,作为高频整流二极管、续流二极管或阻尼二极管使用。

    快恢复二极管的内部结构与普通PN结二极管不同,它属于PIN结型二极管,即在P型硅材料与N型硅材料中间增加了基区I,构成PIN硅片。因基区很薄,其反向恢复电荷很小,所以快恢复二极管的反向恢复时间较短,正向压降较低,反向击穿电压较高。快恢复二极管有0.8-1.1V的正向导通压降,35-85ns的反向恢复时间,在导通和截止之间迅速转换,提高了器件的使用频率并改善了波形。

    2.2特点

    反向恢复时间trr的定义是: 电流通过零点由正向转换到规定低值的时间间隔。它是衡量高频续流及整流器件性能的重要技术指标。

    快速恢复二极管主要特点是这种二极管由导通转到截止所需要的时间非常短,这个时间称为反向恢复时间,反向恢复时间比较小的管子可明显降低开关时的功耗。此外还常常被用来产生快速上升的脉冲信号。高电平过渡到低电平,或者是从低电平过渡到高电平。

    2.3应用

    快速恢复二极管是介于肖特基和普通二极管之间的,它既有肖特基二极管的导通压降低(没有肖特基低),速度快,又有比较高的耐压(肖特基一般耐压很低),快恢复主要用于频率较高的场合做整流,比如开关电源的二次整流,用于市电的整流,逆变电源中做整流元件。快速恢复二极管的PN结较普通整流管要薄,在过瞬间大电流的能力较普通的为弱,尤其是在滤波电容过大的情况下,管子最大电流选择不当会在一瞬间烧毁快恢复的PN结。

    3.整流二极管

    3.1概念

    整流二极管(rectifier diode)一种用于将交流电转变为直流电的半导体器件。二极管最重要的特性就是单方向导电性。在电路中,电流只能从二极管的正极流入,负极流出。通常它包含一个PN结,有正极和负极两个端子。其结构如图所示。P区的载流子是空穴,N区的载流子是电子,在P区和N区间形成一定的位垒。外加电压使P区相对N区为正的电压时,位垒降低,位垒两侧附近产生储存载流子,能通过大电流,具有低的电压降(典型值为0.7V),称为正向导通状态。若加相反的电压,使位垒增加,可承受高的反向电压(从25V到3000V),流过很小的反向电流(称反向漏电流),称为反向阻断状态。整流二极管具有明显的单向导电性。整流二极管可用半导体锗或硅等材料制造。硅整流二极管的击穿电压高,反向漏电流小,高温性能良好。通常高压大功率整流二极管都用高纯单晶硅制造(掺杂较多时容易反向击穿)。这种器件的结面积较大,能通过较大电流(可达上千安),但工作频率不高,一般在几十千赫以下。整流二极管主要用于各种低频半波整流电路,如需达到全波整流需连成整流桥使用。

    这里写图片描述

    3.2整流二极管的常用参数

    (1)最大平均整流电流IF:

    指二极管长期工作时允许通过的最大正向平均电流。该电流由PN结的结面积和散热条件决定。使用时应注意通过二极管的平均电流不能大于此值,并要满足散热条件。例如1N4000系列二极管的IF为1A。

    (2)最高反向工作电压VR:

    指二极管两端允许施加的最大反向电压。若大于此值,则反向电流(IR)剧增,二极管的单向导电性被破坏,从而 引起反向击穿。通常取反向击穿电压(VB)的一半作为(VR)。例如1N4001的VR为50V,1N4007的VR为1000V。

    (3)最大反向电流IR:

    它是二极管在最高反向工作电压下允许流过的反向电流,此参数反映了二极管单向导电性能的好坏。因此这个电流值越小,表明二极管质量越好。

    (4)击穿电压VR:

    指二极管反向伏安特性曲线急剧弯曲点的电压值。反向为软特性时,则指给定反向漏电流条件下的电压值。

    (5)最高工作频率fm:

    它是二极管在正常情况下的最高工作频率。主要由PN结的结电容及扩散电容决定,若工作频率超过fm,则二极管的单向导电性能将不能很好地体现。例如1N4000系列二极管的fm为3kHz。

    (6)反向恢复时间tre:

    指在规定的负载、正向电流及最大反向瞬态电压下的反向恢复时间。

    (7)零偏压电容CO:

    指二极管两端电压为零时,扩散电容及结电容的容量之和。值得注意的是,由于制造工艺的限制,即使同一型号的二极管其 参数的离散性也很大。手册中给出的参数往往是一个范围,若测试条件改变,则相应的参数也会发生变化,例如在25°C时测得1N5200系列硅塑封整流二极 管的IR小于10uA,而在100°C时IR则变为小于500uA。

    3.3整流电路

    二极管电路中整流二极管的应用最为普遍。所谓整流二极管就是专门用于电源电路中将交流电转换成单向脉动直流电的二极管,由整流二极管构成的电路称为二极管整流电路。

    这里写图片描述

    4.TVS二极管

    4.1概念

    又称为瞬态抑制二极管,是普遍使用的一种新型高效电路保护器件,它具有极快的响应时间(亚纳秒级)和相当高的浪涌吸收能力。当它的两端经受瞬间的高能量冲击时,TVS能以极高的速度把两端间的阻抗值由高阻抗变为低阻抗,以吸收一个瞬间大电流,把它的两端电压箝制在一个预定的数值上,从而保护后面的电路元件不受瞬态高压尖峰脉冲的冲击。

    这里写图片描述

    5.续流二极管

    5.1概念

    续流二极管由于在电路中起到续流的作用而得名,一般选择快速恢复二极管或者肖特基二极管来作为“续流二极管”,它在电路中一般用来保护元件不被感应电压击穿或烧坏,以并联的方式接到产生感应电动势的元件两端,并与其形成回路,使其产生的高电动势在回路以续电流方式消耗,从而起到保护电路中的元件不被损坏的作用。

    5.2作用

    **续流二极管经常和储能元件一起使用,防止电压电流突变,提供通路。**电感可以经过它给负载提供持续的电流,以免负载电流突变,起到平滑电流的作用。在开关电源中,就能见到一个由二极管和电阻串连起来构成的的续流电路。这个电路续流二极管与变压器原边并联。当开关管关断时,续流电路可以释放掉变压器线圈中储存的能量,防止感应电压过高,击穿开关管。可见“续流二极管”并不是一个实质的元件,它只不过在电路中起到的作用称做“续流”。

    这里写图片描述

    6.防反接二极管

    通常情况下直流电源输入防反接保护电路是利用二极管的单向导电性来实现防反接保护。

    这里写图片描述

    可以直接串接一个压降低的二极管(肖特基二极管)。

    这里写图片描述

    图片地址:http://blog.163.com/fimnl_332804338/blog/static/22754406020139273537847/


    以后再继续总结…

    参考:

    1.肖特基二极管原理

    2.肖特基二极管原理和应用

    3.快恢复二极管在使用上有哪些优势

    4.快恢复二极管的作用分析

    5. 肖特基二极管和快恢复二极管又什么区别

    6.整流二极管

    7.常见的二极管整流电路

    8.续流二极管

    9.二极管基本知识

    展开全文
  • 系统测试分类和测试常用方法

    千次阅读 2020-03-20 15:54:28
    一、系统测试分类 1、功能测试:验证当前软件主体功能是否实现 2、兼容性测试:验证当前软件在不同的环境下是否还可以使用。window,mac,浏览器,在电脑,...二、常用系统测试方法 1、按测试对象分类 白盒测试...
  • 自然语言处理常用模型方法总结 自然语言处理常用模型方法总结
  • String 类的常用方法那些?

    千次阅读 2020-07-19 08:43:11
    下面列举了20个常用方法。 1、和长度有关: 返回类型 方法名 作用 int length() 得到一个字符串的字符个数 2、和数组有关: 返回类型 方法名 作用 byte[] getByte() 将一个字符串转换成字节数组 ...
  • java中常用类及其常用方法

    千次阅读 2017-09-11 18:59:45
    java常用
  • 浅谈数据挖掘技术中常用分类器构造方法.pdf
  • 常用围岩分类方法在某深埋隧洞适用性分析,王广德,石豫川,某深埋隧洞局部地应力高达42 MPa,局部外水压力高达10 MPa,具有高地应力、高外水压力的特点。一般认为,最大主应力大于20 MPa属于高地应�
  • DropDownList常用方法

    2008-10-01 09:36:24
    一般的网站两级分类就够了,所以二级分类选择需要熟练. 这里总结了简单常用的功能,刷新的,时间去实现无刷新.
  • BI常用数据分析方法;1了解数据总体样本的含义及随机抽样的一般方法 2掌握排列图因果分析图的作图方法和应用 3掌握分层法统计图表法的应用 4了解直方图的原理作用作图方法及应用;瞎子王国里,一只眼精的人就是国王;...
  • intent的常用方法

    2012-04-27 08:49:00
    intent的常用方法 Intent在Android中的几种用法 文章分类:综合技术
  • Java String对象常用方法

    千次阅读 2016-10-31 02:33:21
    Java String常用方法。String的操作方法。String对象的常用方法、String字符串常用方法。String字符串无论在java的开发中或者面试中我们经常会用到。这些常用方法我们需要熟记于心,并且熟练使用
  •  常用的电子设备很多不同的检测方法,比如:晶体二极管、晶体三极管等的检测。本文就常见的几种检测方法进行分析,比如参数、性能、使用范围等指标,全面阐述电子元器件的检测方法,希望给有关人员有所帮助。  ...
  • python list常用方法

    千次阅读 2017-08-26 19:49:51
    python有关list的常用方法: list 中if表达式的使用 list shift移位 list 某一列的删除 xrange 使用 list翻转reverse list按照lambda排序 直接贴代码吧,里面注释还是比较好理解def lst_condition(): lst = [0, 1...
  • pandas 常用统计方法

    万次阅读 2017-05-11 14:01:08
    pandas 对象一些统计方法。它们大部分都属于约简和汇总统计,用于从 Series 中提取单个值,或从 DataFrame 的行或列中提取一个 Series。 比如 DataFrame.mean(axis=0,skipna=True) 方法,当数据集中存在 NA ...
  • 数字集成电路的几种分类方法和总结,资料综合许多现有数据,详细具体
  • 图像处理常用插值方法总结

    千次阅读 2016-11-24 21:47:03
    图像处理常用插值方法总结
  • 要对数据进行聚类/分类,往往需要经过以下几个步骤: 处理缺失值(我比较少遇到)--》数据...常用方法有z-score和maxmin。其中,z-socre是(x-mean)/std,也就是去中心化。注意:标准化方法(以及降维)只能在训...
  • 六种常用分类方法包括两种线性分类及四种非线性分类法,分别是: 一、线性判别分析 from sklearn.model_selection import train_test_split from sklearn.naive_bayes import GaussianNB from sklearn.preprocessing...
  • 是指从数据库的大量数据中揭示出隐含的先前未知的并潜在价值的信息的非平凡过程 利用数据挖掘进行数据分析常用方法主要有分类回归分析聚类关联规则特征变化和偏 差分析 Web 页挖掘等 它们分别从不同的角度对数据...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 431,171
精华内容 172,468
关键字:

常用的分类方法有