在我的情况下,最佳的学习算法是什么?

时间:2019-02-27 06:57:46

标签: machine-learning artificial-intelligence data-science

假设一个游客对游览的城市一无所知,我想根据他对城市的特点(budgetToTravel,isCoastel,isHitorical,withFamily等)来推荐十大城市。 )。  我的数据集包含每个城市的特征:

  1. 威尼斯意大利 (budgetToTravel ='5000',isCoastel = 1,isHistorical = 1,withFamily = 1,...)
  2. 德国柏林(BudgetToTravel ='6000',isHistorical = 1,isCoastel = 0,withFamily = 1,...)。

我想了解机器学习的最佳算法,该算法可以根据游客的特征来推荐前10个热门城市。

3 个答案:

答案 0 :(得分:1)

如Pierre S.所述,您可以从KNearestNeigbours开始

此算法将允许您通过以下操作完全按照自己的意愿进行操作:

if (isset($_POST['btn-upload'])){

    copy("$sourcepath/$latest_filename","$copy/$latest_filename");
    // Here i split the csv file, from second line. and using the first and fourth lines as the headers.
    if (($openfile = fopen("$copy/$latest_filename", "r")) !== false) {

        $header1 = fgetcsv($openfile, 1000, ";"); // consume, but don't use

        $csv->createPalleTable($latest_filename);
        $csv->insertPalleTable($latest_filename, array_map("toNumber", fgetcsv($openfile, 1000, ";")));

        $delimiting_row = fgetcsv($openfile, 1000, ";"); // consume, but don't use 
        $header2 = fgetcsv($openfile, 1000, ";"); // consume, but don't use

        while($row = fgets($openfile)){  
            // can parse further $row by usingstr_getcsv

            $myArray = explode(';', $row);
            $myArray = array_map("utf8_encode", $myArray);
            $myArray = array_map("toNumber", $myArray);

            echo'<pre>';
            print_r($myArray);
            echo'</pre>';
            $csv->createCsvTable();
            $csv->insertCsvData($myArray);
        }
    }
    fclose($openfile);
}

答案 1 :(得分:0)

您可以使用(无监督)聚类算法(例如,层次聚类或K-Means聚类)将聚类分为10个,然后可以将人(游客)特征与聚类进行匹配。

答案 2 :(得分:-1)

k均值可能对您的问题有用。不适合使用K-NearestNeigbours,因为它是一种受监督的机器学习算法,您应该给一些标签(某些城市的房价)打分。