精华内容
下载资源
问答
  • 同样,这个简单的类别允许选择注入我们要其上执行选择器的队列( dispatch_queue_t或NSOperationQueue )。 安装 使用CocoaPods 将LRVariadicPerformSelector添加到您的Podfile: pod '...
  • 为分析实时公交运行信息和用户自身偏好对公交用户路径选择行为的影响,引入三角分布描述公交信息的不确定性,并使用前景函数替代效用函数描述出行者决策的不完全理性,建立基于前景函数的选择概率模型。为进一步区分...
  • OC category类别使用

    千次阅读 2015-05-07 09:38:02
    ios category类别使用 Objective-C提供了一个非常灵活的类(Class)扩展机制-类别(Category)。类别用于对一个已经存在的类添加方法(Methods)。你只需要知道这个类的公开接口,不需要知道类的源代码。需要注意的是,...

    练习代码http://download.csdn.net/detail/liu1039950258/8671467

    ios category类别的使用

    Objective-C提供了一个非常灵活的类(Class)扩展机制-类别(Category)。类别用于对一个已经存在的类添加方法(Methods)。你只需要知道这个类的公开接口,不需要知道类的源代码。需要注意的是,类别不能为已存在的类添加实例变量(Instance Variables)。

     
    类别的基本语法如下:
    @interface ClassName(CategoryName)
    //method declarations
    @end
    @interface 类名(类别名)
    类别方法申明
    @end

    注意几点:

    1.现有类的类名位于 @interface之后

    2.括号中是类别的名称(只要名称唯一,可以添加任意多的类别)

    3.类别没有实例变量部分

    类别的语法与类的语法非常相似。类别的方法就是类的方法。类别的定义可以放在一个单独的文件中("类别名.h"), 也可以放在一个已存在的类的定义文件中(.h文件)。类别的实现则可放在一个单独的“类别名.m”文件中,或另一个类的实现文件中。这点也与类的定义相似。因为类别的方法就是类的方法,所以类别的方法可以自由引用类的实例变量(无论公有或私有)。
     
    子类(subclassing)是进行类扩展的另一种常用方法。与子类相比,类别最主要的优点是:系统中已经存在的类可以不需修改就可使用类别的扩展功能。例如,假设系统中存在一个类A;另外一个类B中定义了一个类A类型的实例变量,并包含了类A的头文件“#import <A.h>"。假设一段时间后,需要对类A扩展几个新的方法。如果用子类,就需要创建一个子类A-1。如果类B想要使用类A的新方法,就要进行如下修改:1) 将包含的头文件改为"#import<A-1.h>"; 2)将所有用到的类A对象改为类A-1的对象。可以想象,如何有很多类需要用到类A的新功能(比如类A是iOS中的类UIViewController),随着系统的升级(iOS从1.0到5.0),你的程序需要不停地进行这种繁琐地修改。如果使用类别,即使类A升级了,系统中其它的类可以不需任何修改,直接就可以调用类A的新方法。 
     
    类别的第二大优点是实现了功能的局部化封装。类别定义可以放在一个已存在的类(类A)的定义文件中(.h)。这意味着这个类别只有在类A被引用的前提下才会被外部看到。如果另一个类(类B)不需要用到类A的功能(没有包含类A的.h文件),也就不会看到依附类A存在的类别。iOS SDK中广泛运用这种类别定义法来封装功能。例如,在  UINavigationController.h中定义了专为UINavigationController扩展的 UIViewController类别:
     
    @interface UIViewController (UINavigationControllerItem)
    @property(nonatomic,readonly,retain) UINavigationItem *navigationItem; 
    @property(nonatomic,readonly,retain) UINavigationController *navigationController; 
    ......
    @end
    如果一个类不引用 UINavigationController.h,也就不会看到 navigationItemnavigationController这两个性质申明(declared property)。
     
    类别的另一个优点是轻巧(light-weight)。很多时候,对已存在的类所需的扩展仅仅是几个新方法。这时,用类别避免了在系统中留下很多非常短小的“微”子类,使程序更加紧凑。
     
    归纳:

    1、实现类别

    同实现类相似,实现方法即可

    2、 类别的局限性

    1.类别不能添加新的实例变量

    2.命名冲突,如果类别中方法和类中已有方法同名,则类别具有更高优先级

    3 类别的作用

    1.将类的实现分散到多个不同文件或多个不同框架中

    2.创建私有方法的前向引用

    3.向对象添加非正式协议

    4 利用类别分散实现

    利用类别可以将类的方法分散到多个源文件中

    特别指出的是:类别可以访问其继承的类的实例变量

    在使用一个方法时,对象的方法是在接口中声明、父类中声明、还是类别中声明并不重要

    类别不仅可以分散实现到不同源文件,也可跨框架

    5、 使用类别创建前向引用

    虽然可以实现未声明的方法,但是编译器会提出警告

    通过类别可以提供声明,而且,声明的方法不必要一定在类别的实现中实现,也可以在类的实现中实现

    6、 非正式协议和委托类别

    委托(delegage)是一种对象,另一个类的对象会要求委托对象执行它的某些操作

    委托对象接受其它对象对它的特定方法的调用

    其实就是委托对象必须实现别的对象调用的方法,与接口类似

    7、 ITunesFinder项目

    8 、委托和类别

    委托和类别有什么关系?委托强调类别的另一种应用:被发送给委托对象的方法可以声明为一个NSObject的类别

    创建一个NSObject的类别称为“创建一个非正式协议”

    9、 响应选择器

    选择器只是一个方法名称,可以使用@selector()预编译指令指定选择器,其中方法名位于圆括号中,但它以OC运行时使用的特殊方式编码,以快速执行查询

    NSObject提供了一个respondsToSelector的方法,询问对象以确定其是否实现某个特定消息

    10、 选择器的其他应用

    选择器可以被传递,可以作为方法参数,甚至可以作为实例变量存储



    展开全文
  • AVAudioSession音频会话介绍和使用, 音频会话类型和模式的选择, 音频会话路由的选择, 扬声器,听筒,耳机等切换。

    简介

    音频会话是一个Singleton对象,您可以使用它来设置应用程序的音频上下文环境,并向系统表达您的应用程序音频行为的意图。
    使用此类可以:

    • 启用或停用应用程式的音讯工作阶段
    • 设置音频会话类别和模式,以便与系统通信如何在您的应用程序中使用音频
    • 配置音频设置,如采样率,I / O缓冲区持续时间和通道数
      处理音频输出更改
    • 响应重要的音频事件,例如更改底层Media Services守护程序的可用性

    AVAudioSession使用

    AVAudioSession类由AVFoundation框架引入。每个iOS应用都有一个音频会话。这个会话可以被AVAudioSession类的sharedInstance类方法访问。在获得一个AVAudioSession类的实例后,就能通过音频会话单例对象的setCategory:error:方法,来设置iOS应用音频会话类别模式。通过overrideOutputAudioPort:error:方法设置音频会话的overrideOutputAudioPort属性, 或者通过setCategory:withOptions:error:方法来设置音频会话的Audio Route.

        NSError *sessionError = nil;
        AVAudioSession *audioSession=[AVAudioSession sharedInstance];
        [audioSession setCategory:AVAudioSessionCategoryPlayAndRecord error:&sessionError];
        
        if(sessionError){
            NSLog(@"Error creating session: %@", [sessionError description]);
        }else{
            [audioSession setActive:YES error:nil];
        }
    

    AVAudioSessionCategory(会话类别的选择)

    文章上面说过, 通过音频会话单例对象的setCategory:error:方法,来设置iOS应用语音会话类别和模式。

    AVAudioSessionCategoryAmbient 或 kAudioSessionCategory_AmbientSound

    用于非以语音为主的应用,使用这个category的应用会随着静音键和屏幕关闭而静音。并且不会中止其它应用播放声音,可以和其它自带应用如iPod,safari等同时播放声音。注意:该Category无法在后台播放声音

    AVAudioSessionCategorySoloAmbient 或 kAudioSessionCategory_SoloAmbientSound

    类似于AVAudioSessionCategoryAmbient 不同之处在于它会中止其它应用播放声音。 这个category为默认category。该Category无法在后台播放声音

    AVAudioSessionCategoryPlayback 或 kAudioSessionCategory_MediaPlayback

    用于以语音为主的应用,使用这个category的应用不会随着静音键和屏幕关闭而静音。可在后台播放声音.

    AVAudioSessionCategoryRecord 或 kAudioSessionCategory_RecordAudio

    用于需要录音的应用,设置该category后,除了来电铃声,闹钟或日历提醒之外的其它系统声音都不会被播放。该Category只提供单纯录音功能。

    AVAudioSessionCategoryPlayAndRecord 或 kAudioSessionCategory_PlayAndRecord

    用于既需要播放声音又需要录音的应用,语音聊天应用(如微信)应该使用这个category。该Category提供录音和播放功能。如果你的应用需要用到iPhone上的听筒,该category是你唯一的选择,在该Category下声音的默认出口为听筒或者耳机。

    AVAudioSessionCategoryAudioProcessing 或 kAudioSessionCategory_AudioProcessing

    在不播放或录制音频时使用音频硬件编解码器或信号处理器的类别。例如,在执行离线音频格式转换时。此类别禁用播放(音频输出)和禁用录音(音频输入)。当您的应用处于后台时,音频处理通常不会继续。 但是,当您的应用移至后台时,您可以请求更多时间来完成处理。

    注意

    并不是一个应用只能使用一个category,程序应该根据实际需要来切换设置不同的category,举个例子,录音的时候,需要设置为AVAudioSessionCategoryRecord,当录音结束时,应根据程序需要更改category为AVAudioSessionCategoryAmbient,AVAudioSessionCategorySoloAmbient或AVAudioSessionCategoryPlayback中的一种。

    AudioSession Route 选择

    当你的iPhone接有多个外接音频接收设备时(耳机,蓝牙音箱等),AudioSession将遵循last-in wins的原则来选择外接设备,即声音将被导向最后接入的设备。
    当没有接入任何音频设备时,一般情况下声音会默认从扬声器出来,但有一个例外的情况:在PlayAndRecord这个category下,听筒会成为默认的音频输出设备。如果你想要改变这个行为,可以提供MPVolumeView来让用户切换到扬声器,也可通过overrideOutputAudioPort方法来programmingly切换到扬声器,也可以修改category option为AVAudioSessionCategoryOptionDefaultToSpeaker。
    所以, 他应用在扬声器,听筒,耳机,蓝牙音箱之间的切换。

    通过AVAudioSessionPortOverride选择音频输出

    通过overrideOutputAudioPort:error:方法和下面两个枚举来设置音频会话的overrideOutputAudioPort属性。

        [audioSession overrideOutputAudioPort:AVAudioSessionPortOverrideSpeaker error:error];
    

    AVAudioSessionPortOverrideNone

    不要覆盖输出音频端口。使用此选项将音频输出设备返回到当前音频类别的默认状态。

    AVAudioSessionPortOverrideSpeaker

    覆盖当前输入和输出,并将音频输出设备到内置扬声器和麦克风。仅适用于AVAudioSessionCategoryPlayAndRecord类别。

    通过AVAudioSessionCategoryOptions选择音频输出设备

    会话的类别和模式一起定义应用程序如何使用音频。通常,在激活会话之前设置类别和模式。您还可以在会话处于活动状态时设置类别或模式,但这会导致立即更改音频输出设备。

    [audioSession setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionDefaultToSpeaker error:&error];  
    

    AVAudioSessionCategoryOptions 枚举值:

    //Eligible Input
    AVAudioSessionPortUSBAudio
    AVAudioSessionPortHeadsetMic
    AVAudioSessionPortBuiltInMic
    
    //Eligible Output
    AVAudioSessionPortUSBAudio
    AVAudioSessionPortLineOut
    AVAudioSessionPortHeadphones
    AVAudioSessionPortHDMI
    AVAudioSessionPortBuiltInSpeaker
    

    overrideOutputAudioPort:设置和AVAudioSessionPortOverride设置的对比

    共同点

    AVAudioSessionPortOverrideSpeaker和AVAudioSessionCategoryOptionDefaultToSpeaker的使用仅适用于AVAudioSessionCategoryPlayAndRecord类别。

    区别

    通过调用overrideOutputAudioPort:设置AVAudioSessionPortOverride比使用类别选项AVAudioSessionCategoryOptionDefaultToSpeaker更加短暂。

    调用overrideOutputAudioPort:并将AVAudioSessionPortOverride设置为AVAudioSessionPortOverrideSpeaker是临时覆盖要向扬声器播放的输出的一种方法。任何音频输出改变或中断将导致音频被路由回到其正常输出设备,遵循最后入胜的规则。

    相反,AVAudioSessionCategoryOptionDefaultToSpeaker修改AVAudioSessionCategoryPlayAndRecord类别的路由行为,使得如果没有使用诸如耳机的其他附件,则音频将总是路由到扬声器而不是接收器。

    举个例子, 方法1, 设置之后,如果此时插入耳机,在拔掉。播放的声音会从听筒输出,而不是回到扬声器。
    方法2, 设置之后,始终输出到扬声器,而不是其他接收器,如果没有耳机。(简要的说,就是如果有个蓝牙音箱,哪怕接上都不会有声音输出到蓝牙音响,插上耳机,则会有声音输出到耳机。)

    参考文章:
    AVAudioSessionCategory说明
    Question About AVAudioSessionPortOverride
    关于音频会话的一些枚举值

    展开全文
  • 使用gbdt时类别特征的处理方法

    千次阅读 2019-03-29 16:41:25
    hot编码而不能使用序号编码,因为序号编码给类别的不同属性赋予了数值的意义,然而实际比赛中发现,one-hot编码后的效果并不好,甚至和直接序号编码的效果不相上下,但是带来训练时间的增加非常大,那么为什么对...

    在去年第一次参加ctr比赛中碰到类别特征时,第一反应是进行one-hot编码而不能使用序号编码,因为序号编码给类别的不同属性赋予了数值的意义,然而在实际比赛中发现,one-hot编码后的效果并不好,甚至和直接序号编码的效果不相上下,但是带来训练时间的增加非常大,那么为什么对类别进行one-hot编码和label编码效果差不多,而不是更好呢?在参加比赛之后我对这些有了更多的见解,在此总结。

    其实对类别特征进行onehot编码带了效果很差更多指的是类别特征维度很高的时候(相对样本量来说),主要的问题是:

    1.可能无法在这个类别特征上进行切分。使用one-hot coding的话,意味着在每一个决策节点上只能用 one-vs-rest (例如是不是狗,是不是猫,等等) 的切分方式。当特征纬度高时,每个类别上的数据都会比较少,这时候产生的切分不平衡,切分增益(split gain)也会很小(比较直观的理解是,不平衡的切分和不切分几乎没有区别)。

    2.会影响决策树的学习。因为就算可以在这个类别特征进行切分,也会把数据切分到很多零散的小空间上,如下图左所示。而决策树学习时利用的是统计信息,在这些数据量小的空间上,统计信息不准确,学习会变差。但如果使用下图右边的切分方法,数据会被切分到两个比较大的空间,进一步的学习也会更好。

    也就是说,正确的做法应该是一次切分,均匀的切分成两部分,使得两边都包含足够的样本继续学习,然而使用one-hot编码,在类别维度很大的情况下,无法保证这种情况。那么gbdt应该怎样使用类别特征?

    我总结为以下三种方法:

    1.类别特征的最优切分。这个方法需要对应工具的支持,我所知的支持这个方法的工具有h2o.gbm和LightGBM。用LightGBM可以直接输入类别特征,并产生同上图右边的最优切分。在一个k维的类别特征寻找最优切分,朴素的枚举算法的复杂度是指数的 O(2^k)。LightGBM 用了一个 O(klogk)[1] 的算法。算法流程如下图所示:在枚举分割点之前,先把直方图按照每个类别对应的label均值进行排序;然后按照排序的结果依次枚举最优分割点。当然,这个方法很容易过拟合,所以LightGBM里面还增加了很多对于这个方法的约束和正则化。当然了,如果不具备这种工具,那可以对数据进行可视化,然这个特征不同属性对应的label分布,手动选择合适的切分点!

    2.进行信息压缩:转成数值特征。在使用 sklearn 或 XGBoost 等不支持类别特征的最优切分工具时,可以用这个方法。常见的转换方法有: a) 把类别特征转成one-hot coding扔到NN里训练个embedding;b) 类似于CTR特征,统计每个类别对应的label(训练目标)的均值。统计的时候有一些小技巧,比如不把自身的label算进去(leave-me-out, leave-one-out)统计, 防止信息泄露。ps:我在比赛中的做法一般是统计出现的次数+正样本数,两个特征在表示原特征,进行压缩,效果不错~

    3.使用其他的编码方法。

    展开全文
  • 下面我们来看看如何使用它。 添加类别 类别声明模板: h文件: @interface ClassName (XSD_CategoryName) - (void)xsd_addedMethod; @end m文件: @implementation ClassName (XSD_CategoryName) -

    Objective-C类别也叫分类,是一种不需要继承即可给类添加方法的语法技术。下面我们来看看如何使用它。

    添加类别

    类别声明模板:

    h文件:

    @interface ClassName (XSD_CategoryName)
    - (void)xsd_addedMethod;
    @end

    m文件:

    @implementation ClassName (XSD_CategoryName)
    - (void)xsd_addedMethod {
    }
    @end

    XSD是我自定义的前缀,强烈建议都加上一个自定义的前缀,原因后面详细叙述。

    通过Xcode8添加


    选择Objective-C File

    File Type选择Category

    File填入类别名称,不需要写类名

    选择文件存放地址

    添加好的类别

    类别的使用三种场景

    1. 扩展已有的类

    说到给已有的类添加方法,似乎应该定义一个子类,继承已有的类,然后添加方法,比如我们常常会自定义UITableViewCell,XSDTableviewCell, showIconWithImage:(UIImage *)image,
    但现实情况往往是,大量已有的代码,都已经使用父类UITableViewCell实现,使用子类需要

    1. 添加新类的头文件
    2. 所有用UITableViewCell的地方要改为XSDTableviewCell
    3. 调用新方法showIconWithImage:

    这第二步,可能涉及数组存储、参数、局部变量等多个地方的类名修改,如果修改的方法需要跨文件共用,会花费大量时间。
    这时用类别,就变为:

    1. 添加新类别的头文件
    2. 用UITableViewCell直接调用新类别方法

    另外,如果已经存在使用XSDTableviewCell的地方,也只需要引入新类别的头文件,就可以直接调用showIconWithImage:方法了,因为添加到父类中类别方法,会被子类继承
    因此,

    类别特别适合已经存在大量子类,需要添加公用方法,但又无法修改它们父类(如系统类)的情形

    2. 引用父类未公开方法

    比如父类 XSDLabel:

    // XSDLabel.h
    #import <UIKit/UIKit.h>
    
    @interface XSDLabel : UILabel
    
    @end
    // XSDLabel.m
    #import "XSDLabel.h"
    
    @implementation XSDLabel
    - (void)giveTextRandomColor {
        self.textColor = [UIColor orangeColor];
    }
    @end

    XSDLabel1继承自XSDLabel:

    #import <UIKit/UIKit.h>
    #import "XSDLabel.h"
    @interface XSDLabel1 : XSDLabel
    
    @end

    现在需要在设置text时,同时设置文字颜色,调用父类的giveTextRandomColor:

    #import "XSDLabel1.h"
    
    @implementation XSDLabel1
    
    - (void)setText:(NSString *)text {
        [super setText:text];
        [self giveTextRandomColor];
    }
    
    @end

    直接编译会报错:


    编译器提示找不到父类的方法

    在子类中声明父类类别后,即可通过编译:

    #import "XSDLabel1.h"
    
    @interface XSDLabel (private)
    - (void)giveTextRandomColor;
    @end
    
    @implementation XSDLabel1
    
    - (void)setText:(NSString *)text {
        [super setText:text];
        [self giveTextRandomColor];
    }
    
    @end

    类别名private是任意的,但不可以缺省。

    请不要乱来:苹果官方会拒绝使用系统私有API的应用上架,因此即使学会了如何调用私有方法,在遇到调用其它类的私有方法时,要谨慎处理,尽量用其它方法替代。

    3. 实现简单协议

    假设我们需要在文字颜色改变时,发出一个消息,现在修改XSDLabel如下:

    #import <UIKit/UIKit.h>
    
    @interface XSDLabel : UILabel
    @property(nonatomic) id delegate;
    @end
    
    @interface NSObject (XSDLabelDelegateMethods)
    - (void)textColorChanged:(UIColor *)colorNow;
    @end

    增加delegate,声明为id,表示接受任何类。
    声明NSObject的类别,声明它实现的方法。

    #import "XSDLabel.h"
    
    @implementation XSDLabel
    - (void)giveTextRandomColor {
        self.textColor = [UIColor orangeColor];
        [self.delegate textColorChanged:self.textColor]; // 调用代理的方法
    }
    @end

    调用的地方:

    #import "XSDLabel1.h"
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        // Do any additional setup after loading the view, typically from a nib.
        XSDLabel1 *label = [[XSDLabel1 alloc] initWithFrame:CGRectMake(10.0, 40.0, 100.0, 30.0)];
        [self.view addSubview:label];
        label.delegate = self;
        label.text = @"溪石iOS";
    }
    
    - (void)textColorChanged:(UIColor *)colorNow {
        NSLog(@"text color changed to %@", colorNow);
    }

    这里利用了任何类都是NSObject子类的特点,通过添加NSObject的类别,实现了一个“简单”的代理协议。

    对比“正式的协议”,这种协议不需要实现类显示声明(如<NSCopying>),不过这里还有个缺点,当ViewController未实现textColorChanged方法时,会引发崩溃,因此在调用前,需要检查代理方法是否被实现:

    #import "XSDLabel.h"
    
    @implementation XSDLabel
    - (void)giveTextRandomColor {
        self.textColor = [UIColor orangeColor];
        if ([self.delegate respondsToSelector:@selector(textColorChanged:)]) {
            [self.delegate textColorChanged:self.textColor];
        }
    }
    @end

    类别的局限

    1. 只能添加方法,不能添加属性。在类别中声明的属性,将无法存取。
    2. 类别中的方法,会覆盖父类中的同名方法,无法再调用父类中的方法(因为类别中无法使用super),为防止意外覆盖,总是应该给类别加上前缀。
    3. 不同文件中的同名类别,同名方法,不会报错,实际执行的方法以最后一个加载的文件为准,因此使用前缀防止类别人互相覆盖。

    小结

    本文给出了添加类别的方法,Xcode8添加类别的方式与前几代有所不同。
    接着介绍了类别使用的三种情形:

    1. 扩展已有的类。
    2. 引用父类未公开方法。
    3. 实现简单协议。

    最后介绍了类别的局限,主要是存储空间的分配和名称冲突,后者可以用加前缀的方式最大限度的避免。

    类别是充分利用Objective-C动态特性的一种方法,用好类别可以实现灵活多样的编码。



    作者:溪石iOS
    链接:http://www.jianshu.com/p/2bf61807b6b3
    來源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
    展开全文
  • 产品类别的完整列表可以此找到: Google购物类别分类-中文版 Google购物类别分类-英文版 将产品放在产品类别中旨在帮助潜在客户导航到你的产品。 因此,为产品选择正确的类别至关重要。否则,你可能最终会使...
  • 现在前端的UI框架有很多,通常vuejs中会使用element UI,(个人觉得这个框架真的超好用)但使用框架的不好之处就在于有些东西比较难以把控,这里介绍一下使用datepicker遇到的小问题以及我的解决办法,希望能给大家...
  • 选择器与id选择器的使用与区别

    千次阅读 2019-04-01 12:46:28
    选择使用“.”(英文点号)进行标识,后面紧跟类名,其基本语法格式如下: .类名{属性1:属性值1; 属性2:属性值2; 属性3:属性值3; } 标签调用的时候用 class=“类名” 即可。 类选择器最大的优势是可以为元素...
  • sklearn学习之使用sklearn进行特征选择

    千次阅读 2018-10-27 15:56:12
    本节中我们将使用sklearn.feature_selection模块中的类高维度的样本集上进行特征选择、降维来提升估计器的性能。 1. Removing features with low variance方差选择法 sklearn.feature_selection.Variance...
  • 说一下这个问题的背景和需求,我们都知道,特征选择是机器学习算法正确发挥作用的前提,我之前这篇博客中也大概介绍了Weka中使用的特征选择算法。按照网友的介绍,其实一般不用单独使用Weka的特征选择类,例如这里...
  • Revit载入柱为什么提示“该族的类别不正确”? 知识点:柱Revit中分为“建筑柱”和“结构柱”两种。载入时应该选择对应的Revit柱族。 比如下图,点击“载入”后,弹出的族库路径是“建筑柱”的,只能选择这...
  • 根据前文的例子,Info-Gain面对类别较少的离散数据时效果较好,上例中的outlook、temperature等数据都是离散数据,而且每个类别都有一定数量的样本,这种情况下使用ID3与C4.5的区别并不大。但如果面对连续的数据...
  • WebDriver 获取淘宝和天猫商品的类别

    万次阅读 2019-10-14 22:17:16
    1、要自动化测试一个网页或者爬起一个网页的信息,以及网页上进行操作的时候,点击F12,开发浏览器的开发者模式,对网页元素的分析是必不可少的。 2、可以使用下方的快捷标志,然后点击网页上的元素,就可以...
  • 类别型特征(Categorical Feature)主要是指性别(男、女)、血型(A、B、AB、O)等只有限选项内取值的特征。类别型特征原始输入通常是字符串形式,除了决策树等少数模型能直接处理字符串形式的输入,对于逻辑回归...
  • 类别型主要指性别,血型等只有有限选项内取值的特征。类别型特征原始输入通常是字符串形式,除了决策树等少量模型能直接处理字符串形式的输入,对于逻辑回归,支持向量机等模型来说,类别型特征必须经过处理转换成...
  • 使用互信息进行特征选择

    千次阅读 2019-06-27 18:14:19
    交叉熵我们的机器学习、深度学习中广泛的被用做为代价函数,那么接下来主要就是介绍交叉熵的定义以及为什么代价函数会使用交叉熵损失函数。 2.5.1 定义 如果一个随机变量X~p(x),存在q(x),使得q(x)为用于近似p...
  • 卡方检验——特征选择使用方法

    千次阅读 2013-12-30 13:26:13
    特征选择算法有互信息,文档频率,信息增益,开方检验等等十数种,...这捣什么乱?) 开方检验最基本的思想就是通过观察实际值与理论值的偏差来确定理论的正确与否。具体做的时候常常先假设两个变量确实是独立的(行
  • 多数情况下,我们的被解释变量都是连续变量,但也有些情况下,我们会对分类变量感兴趣,比如,出门时选择何种交通工具?大学毕业时是否继续读研?等等。那么,此时,该用何种模型来分析比较合适呢? 分类变量可...
  • SAP SD 基础知识之计划行类别...SAP系统提供了不同schedule line categories来为Item销售流程中提供不同的控制选项。 Schedule Line Categories 定义为2位的key,标准系统已经包含了经常用来指示Item...
  • 使用随机森林和mRMR进行特征选择

    万次阅读 2016-05-30 19:03:04
    实际项目中,因为有的特征对模型而言是冗余的,它对算法的性能会产生负面影响,此时就需要做特征选择。特征选择的目的就是从一组特征集合中去除冗余或不相关的特征从而达到降维的目的。说到降维,它不仅包括特征...
  • 图形数据库是这几年兴起的,整体还不是很完善,而且适用面也是比较窄的。只有明确自己的需求之后,才能确定是否选择图形数据库
  • 如何处理类别不平衡问题

    千次阅读 2018-11-29 16:38:57
    三种方法: 对较多的那个类别进行欠... 对较少的类别进行过采样(over-sampling),重复使用一部分数据,使其与较多类别的数据相当 阈值调整(threshold moving),将原本默认为0.5的阈值调整到 较少类别/(较少类...
  • 从loss处理图像分割中类别极度不均衡的状况---keras

    万次阅读 多人点赞 2019-02-10 23:21:35
    最近做小目标图像分割任务(医疗方向),往往一幅图像中只有一个或者两个目标,而且目标的像素比例比较小,选择合适的loss function往往可以解决这个问题。以下是我的实验比较。 场景: 1.U-Net网络 2. keras...
  • C++语言变量的存储类别

    千次阅读 2018-07-14 22:29:21
    1.1 概述 存储类别是变量的属性之一。我们定义一个变量时,其实是有前缀的,只是我们通常省略。C++语言有4中变量的存储类别,分别是auto变量、...介绍4种变量之前,我们需要搞清楚动态变量和静态变量是什么...
  • 类别和类扩展的区别

    千次阅读 2015-03-05 15:21:00
    iOS中,有一种机制可以使用户没有远吗的情况下扩展类的功能,但不是通过继承,这就是类别。iOS中没有类似C++中可以定义私有方法和私有变量的关键字,要定义私有方法和私有变量,可以用类扩展来实现。  类别  ...
  • 类别型数据的预处理方法

    千次阅读 2019-07-08 20:03:00
    机器学习过程中,我们往往需要对数据进行预处理。根据数据的取值情况,我们可以把数据总体分为两大类:类别型数据和数值型数据。 对于数值性变量,通常不需要对其进行编码处理。而如何处理类别型数据是一个难题...
  • 类别特征的各种处理总结

    千次阅读 2019-10-23 15:38:44
    持续更新。...one-hot编码为什么可以解决类别型数据的离散值问题Tree Model不太需要one-hot编码独热编码的编程实现LabelEncoder编码LabelEncoder编码的编程实现计数编码(频率编码) one-hot(独热)编...
  • 类别(Category)类别文件的创建 1.新建文件 2.选择iOS平台Source中的Object-C Fie ...2.命名为”类名+类别名.h”和”类名+类别名.m”使用格式.h文件中的格式为 #import "类名.h"@interface 类名 (类别名)
  • 分类中常见的类别不平衡问题解决方法

    万次阅读 多人点赞 2017-08-29 11:01:32
    常见的类别不平衡问题解决方法 通常的分类学习方法中都有一个共同的假设,即不同类别的训练样例数目相同。如果不同类别的训练样例数目稍有差别,通常对分类影响不大,但是若差别很大,则会对学习造成影响,测试结果...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 223,988
精华内容 89,595
关键字:

在什么时候使用选择类别