วันพฤหัสบดีที่ 2 มีนาคม พ.ศ. 2560

Linear Regression Algorythm


Linear Regression คือเส้นตรงทีมีความเบี่ยงเบนของของข้อมูลที่ต่ำ หรือ เส้นตรงที่เป็นการบอกแนวโน้มของข้อมูล ซึ่งเส้นตรงที่ได้มานี้เราสามารถนำมาทำนายข้อมูลในอนาคตได้ ยกตัวอย่างเช่น

เรามีราคาอาหารตามสั่งข้างทางในกรุงเทพเมื่อเปรียบเทียบกับระยะห่างร้านข้าว กับ 7 ELEVEN ตามตัวอย่างข้อมูลในตารางด้านล่าง
Data
No Price of Food (Bath) Distance from 7 ELEVEN in (meter)
1 30 5
2 35 5
3 40 5
4 50 10
5 45 15
6 60 15
7 50 15
8 45 20
9 50 20
10 35 8
11 80 20
12 55 20
13 70 50
14 55 30


นำข้อมูลที่ได้เข้ากราฟ ดังรูป
ภาพแผนภูมิจากข้อมูล

นำมาคำนวณเพื่อหา Linear Regression จะได้ผลลัพธ์ดังรูป

ภาพแผนภูมิ และ เส้น Linear

       จากรูปภาพข้างบนจะเห็นว่า ราคาอาหารตามสั่งมีแนวโน้มที่จะมีราคาสูงถ้ายิ่งอยู่ห่างจาก 7 ELEVEN และเราสามารถทำนายได้คร่าวๆว่าถ้า ร้านอาหารตามสั่งอยู่ห่างจาก 7 ELEVEN 25 เมตร ราคาอาหารตามสั่งน่าจะอยู่ประมาณ 63 บาทดังตัวอย่างรูปด้านล่างครับ




Refferenc
http://machinelearningmastery.com/simple-linear-regression-tutorial-for-machine-learning/

https://msdn.microsoft.com/en-us/magazine/mt238410.aspx

https://youtu.be/D2oW7NB5gK8?list=PLOvRtqZCaZQWWUWXymxJ-72jSIv4nQnYl



วันพุธที่ 1 มีนาคม พ.ศ. 2560

C# connect sql server


ตัวอย่าง การเขียน C# เชื่อมต่อ Sql server คำสั่ง Select
public DataTable selectSQL(string tableName,string hash, string area)
        {
            string query = string.Format(@"SELECT * FROM {0} where [MD5Hash] = @MD5Hash AND [Area] = @Area", tableName);

            DataTable dt = new DataTable();
            using (SqlConnection conn = new SqlConnection(connectionString))
            using (SqlDataAdapter sda = new SqlDataAdapter(query, conn))
            {
                sda.SelectCommand.CommandTimeout = TimeOut;
                sda.SelectCommand.Parameters.Add("@MD5Hash", SqlDbType.NVarChar);
                sda.SelectCommand.Parameters["@MD5Hash"].Value = hash;
                sda.SelectCommand.Parameters.Add("@Area", SqlDbType.NVarChar);
                sda.SelectCommand.Parameters["@Area"].Value = area;
                sda.Fill(dt);
            }
            return dt;
        }

ตัวอย่าง การเขียน C# เชื่อมต่อ Sql server คำสั่ง delete
private bool deleteSQL(string tableName,string hash)
        {
            int num = 0;
            string query = string.Format(@"DELETE FROM [dbo].{0}
      WHERE [MD5Hash] = @MD5Hash", tableName);

            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                SqlCommand command = new SqlCommand(query, conn);

                command.Parameters.Add("@MD5Hash", SqlDbType.NVarChar);
                command.Parameters["@MD5Hash"].Value = hash;
                try
                {
                    conn.Open();
                    //Int32 rowsAffected = command.ex
                    num = num + command.ExecuteNonQuery();
                    //Console.WriteLine("RowsAffected: {0}", rowsAffected);

                }
                catch (SqlException sqlEx)
                {
                    //System.ArgumentException argEx = new System.ArgumentException(sqlEx.Message);
                    //throw argEx;
                    Console.WriteLine();
                }
                finally
                {
                    conn.Close();
                }
            }
            if (num == 0)
            {
                return false;
            }
            else
            {
                return true;
            }
        }