-2

我知道一些分類算法,如決策樹,但我不能用它們中的任何一個來解決我手頭的問題。帶數字標籤的分類?

我有一個數據集,其中每行包含購買信息。它的欄目有:

- customer id 
- store id where the purchase took place 
- date and time of the event 
- amount of money spent 

我試圖做的是,給定的誰,何時何地,預測多少錢是要花費的信息進行預測。

這樣做有什麼可能的方法?有沒有任何知名的算法?

此外,我目前正在學習RapidMiner,並且正在嘗試其一些功能。我在那裏試過的所有東西都不允許我將真實數字(花費的金額)作爲標籤。也許我做錯了什麼?

+2

你試圖做的不是分類而是迴歸。我建議你對迴歸是什麼進行一些進一步的研究。爲了讓你開始,看看「線性迴歸」。 –

+2

我同意羅賓的觀點,迴歸是模擬連續數值的正常方法。但對於給定的問題,分類方法也是可行的。您可以嘗試的不是模擬確切的支出金額,而是預測一系列價格(例如高,低,中)。爲此,您可以使用RapidMiner中的分箱運算符,然後使用分類運算符。 – David

回答

0

您可以爲此使用決策樹迴歸器。使用scikit-learn這樣的工具包,您可以使用DecisionTreeRegressor算法,其功能包括商店ID,日期和時間以及客戶ID,您的目標是花費的金額。

你可以把它變成監督學習問題。這是未經測試的代碼,但它也許可以讓你開始

# Load libraries 
import numpy as np 
import pylab as pl 
from sklearn import datasets 
from sklearn.tree import DecisionTreeRegressor 
from sklearn import cross_validation 
from sklearn import metrics 
from sklearn import grid_search 

def fit_predict_model(data_import): 
    """Find and tune the optimal model. Make a prediction on housing data.""" 

    # Get the features and labels from your data 
    X, y = data_import.data, data_import.target 

    # Setup a Decision Tree Regressor 
    regressor = DecisionTreeRegressor() 
    parameters = {'max_depth':(4,5,6,7), 'random_state': [1]} 

    scoring_function = metrics.make_scorer(metrics.mean_absolute_error, greater_is_better=False) 
    ## fit your data to it ## 
    reg = grid_search.GridSearchCV(estimator = regressor, param_grid = parameters, scoring=scoring_function, cv=10, refit=True) 
    fitted_data = reg.fit(X, y) 

    print "Best Parameters: " 
    print fitted_data.best_params_ 

    # Use the model to predict the output of a particular sample 
    x = [## input a test sample in this list ##] 
    y = reg.predict(x) 
    print "Prediction: " + str(y) 

fit_predict_model(##your data in here) 

我把這個從項目我工作幾乎直接預測房價這麼有可能是一些不必要的圖書館,沒有做驗證你有沒有線索這種情況會有多準確,但這應該讓你開始。

退房此鏈接:

http://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeRegressor.html

0

是的,正如評論所指出的它的迴歸,你所需要的。線性迴歸確實聽起來像一個很好的起點,因爲你沒有大量的變量。

在RapidMiner類型迴歸到操作員菜單中,您將看到「建模 - >功能」下的幾個選項。線性迴歸,Polynomical,Vector等(還有更多,但作爲初學者,我們從這裏開始)。 右鍵單擊這些操作符中的任何一個,然後按顯示操作員信息,您將看到允許使用數字標籤。
接下來滾動瀏覽操作員的幫助文檔,您將看到指向過程的鏈接。它使用起來非常簡單,但是讓你從一個例子開始就很好。

讓我知道你是否需要任何幫助。