نمایش نتایج 1 تا 2 از 2

نام تاپیک: دسته بندی متون با استفاده از الگوریتم knn

  1. #1

    دسته بندی متون با استفاده از الگوریتم knn

    سلام خسته نباشید :

    من می خواهم متون را دسته بندی کنم و برای این کار از الگوریتم knn استفاده کنم. یک قطعه کد هم دارم اما نمی دونم این مقادیری که به آرایه داده میشه را از کجا باید محاسبه کرد؟ مثلاً نوشته 1 و 2 و red الآن من بخوام یک دیتاست برای این تهیه کنم چیکار باید کنم؟

    با تشکر

    <?php
    // Random cartesian coordinates (x, y) and labels
    $data = array(
    array(1, 2, 'red'), // 0 =>
    array(5, 3, 'blue'), // 1 =>
    array(-1, 2, 'blue'), // 2 =>
    array(2, 5, 'red'), // 3 =>
    array(3, 3, 'red'), // 4 =>
    array(-4, 5, 'blue'), // 5 =>
    array(2, 2, 'blue'), // 6 =>
    array(5, -2, 'red'), // 7 =>
    array(-1, -2, 'blue'),// 8 =>
    );
    // Build distance matrix
    $distances = $data;
    array_walk($distances, 'euclideanDistance', $data);
    // Example, target = datapoint 5, getting 3 nearest neighbors
    $neighbors = getNearestNeighbors($distances, 5, 3);
    echo getLabel($data, $neighbors) . "\n"; // red
    /**
    * Calculates eucilean distances for an array dataset
    *
    * @param array $sourceCoords In format array(x, y)
    * @param array $sourceKey Associated array key
    * @param array $data
    * @return array Of distances to the rest of the data set
    */
    function euclideanDistance(&$sourceCoords, $sourceKey, $data)
    {
    $distances = array();
    list ($x1, $y1) = $sourceCoords;
    foreach ($data as $destinationKey => $destinationCoords) {
    // Same point, ignore
    if ($sourceKey == $destinationKey) {
    continue;
    }
    list ($x2, $y2) = $destinationCoords;
    $distances[$destinationKey] = sqrt(pow($x1 - $x2, 2) + pow($y1 - $y2, 2));
    }
    asort($distances);
    $sourceCoords = $distances;
    }
    /**
    * Returns n-nearest neighbors
    *
    * @param array $distances Distances generated above ^
    * @param mixed $key Array key of source location
    * @param int $num Of neighbors to fetch
    * @return array Of nearest neighbors
    */
    function getNearestNeighbors($distances, $key, $num)
    {
    return array_slice($distances[$key], 0, $num, true);
    }
    /**
    * Gets result label from associated data
    *
    * @param array $data
    * @param array $neighbors Result from getNearestNeighbors()
    * @return string label
    */
    function getLabel($data, $neighbors)
    {
    $results = array();
    $neighbors = array_keys($neighbors);
    foreach ($neighbors as $neighbor) {
    $results[] = $data[$neighbor][2];
    }
    $values = array_count_values($results);
    $values = array_flip($values);
    ksort($values);
    return array_pop($values);
    }
    ?>

  2. #2

    نقل قول: دسته بندی متون با استفاده از الگوریتم knn

    سلام دوستان کسی هست راهنمایی کنه؟ من تقریباً متوجه شدم ولی به دست آوردن فاصله اقلیدسی برای کلمات مشکل دارم!!!

تاپیک های مشابه

  1. سوال: دسته بندي متون با استفاده از روش knn learning
    نوشته شده توسط maryam87 در بخش ASP.NET Web Forms
    پاسخ: 3
    آخرین پست: چهارشنبه 17 اسفند 1390, 11:43 صبح
  2. دسته‎بندی و اعمال شرط روی یک جدول
    نوشته شده توسط vahid80 در بخش SQL Server
    پاسخ: 7
    آخرین پست: دوشنبه 17 بهمن 1384, 18:25 عصر
  3. نحوه دسته بندی کاربران
    نوشته شده توسط saeedkhan در بخش گفتگو با مسئولین سایت، درخواست و پیشنهاد
    پاسخ: 0
    آخرین پست: جمعه 31 تیر 1384, 10:50 صبح
  4. دسته بندی موضوعات = جستجوی بهتر
    نوشته شده توسط parhizkar2000 در بخش گفتگو با مسئولین سایت، درخواست و پیشنهاد
    پاسخ: 1
    آخرین پست: سه شنبه 03 خرداد 1384, 06:48 صبح

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •