2017-10-31 12 views
-1

私は、分類されるべき各サンプルの複数の観測を持っているとしましょう。このような問題の例は以下のとおりです。あなたのスタイルあなたが信号に を分類しようとしている信号の scikit-learnでの単一のサンプルの複数の観測の分類の組み合わせ

  • 複数のウィンドウを分類しようとしている絵画の

    • 複数のパッチ

      答えを1つにまとめる最も無邪気な方法は何ですか?

      p .:私はアンサンブルを望んでいません - 複数のモデルの回答を1つのサンプルとして入力します。私は、単一のサンプルの複数の観測にわたって単一のモデルの回答を結合したいと考えています。

  • 答えて

    2

    アンサンブルは不要ですが、アンサンブルのベストプラクティスを模倣することはできます。予測を集計するには、2つの基本的な方法があります。

    1. 算術平均、あなたのモデルが回帰または確率的分類を行います。
    2. モード、モデルが厳密に分類されている場合。

    もちろん、集計には他の集計統計を使用できます。

    次のコードは、pandasでこのアイデアを実装しています

    import numpy as np 
    import pandas as pd 
    import sklearn.tree 
    object_ids = [1,1,1,2,2,2,3,3,3,3] 
    x = np.arange(10).reshape(10,1) 
    y = [0,0,0,1,0,1,1,0,1,1] 
    # regression 
    model = sklearn.tree.DecisionTreeRegressor().fit(x, y) 
    prediction = pd.Series(model.predict(x)).groupby(object_ids).mean() 
    # probabilistic_classification 
    model = sklearn.tree.DecisionTreeClassifier().fit(x, y) 
    prediction = pd.DataFrame(model.predict_proba(x)).groupby(object_ids).mean() 
    # 'crisp' classification 
    model = sklearn.tree.DecisionTreeClassifier().fit(x, y) 
    def mode(x): 
        return x.value_counts().index[0] 
    prediction = pd.Series(model.predict(x)).groupby(object_ids).apply(mode) 
    
    +0

    はpd.Series'は、これらのきちんとした方法を持っていた '知りませんでした。私は同じようなものを書いていましたが、かなり醜いものになっていました(例えば、 'model.predict(x.reshape(-1、features))。reshape(samples、observations、-1).mean(axis = 1)')。ありがとう。 – ldavid

    関連する問題