synapse 0.2.1 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. data/.gitignore +3 -0
  2. data/.mailmap +3 -0
  3. data/LICENSE.txt +2 -2
  4. data/Makefile +6 -0
  5. data/README.md +42 -13
  6. data/bin/synapse +29 -21
  7. data/config/hostheader_test.json +71 -0
  8. data/config/svcdir_test.json +46 -0
  9. data/config/synapse.conf.json +26 -32
  10. data/config/synapse_services/service1.json +24 -0
  11. data/config/synapse_services/service2.json +24 -0
  12. data/lib/synapse.rb +39 -24
  13. data/lib/synapse/base.rb +1 -1
  14. data/lib/synapse/haproxy.rb +579 -22
  15. data/lib/synapse/log.rb +24 -0
  16. data/lib/synapse/service_watcher.rb +10 -6
  17. data/lib/synapse/service_watcher/base.rb +33 -11
  18. data/lib/synapse/service_watcher/dns.rb +28 -20
  19. data/lib/synapse/service_watcher/docker.rb +108 -0
  20. data/lib/synapse/service_watcher/ec2tag.rb +1 -1
  21. data/lib/synapse/service_watcher/zookeeper.rb +25 -28
  22. data/lib/synapse/version.rb +1 -1
  23. data/spec/spec_helper.rb +2 -2
  24. data/synapse.gemspec +2 -3
  25. metadata +15 -25
  26. data/Vagrantfile +0 -112
  27. data/chef/converge +0 -4
  28. data/chef/cookbooks/lxc/recipes/default.rb +0 -2
  29. data/chef/cookbooks/synapse/attributes/default.rb +0 -1
  30. data/chef/cookbooks/synapse/recipes/default.rb +0 -6
  31. data/chef/run.json +0 -8
  32. data/chef/run.rb +0 -2
  33. data/client/.RData +0 -0
  34. data/client/.Rhistory +0 -294
  35. data/client/bench_rewrite_config.dat +0 -2013
  36. data/client/benchmark-client.iml +0 -20
  37. data/client/pom.xml +0 -45
  38. data/client/src/main/java/ClientArsch.java +0 -68
  39. data/client/src/main/java/META-INF/MANIFEST.MF +0 -3
  40. data/haproxy.pid +0 -1
  41. data/lib/gen-rb/endpoint_types.rb +0 -65
  42. data/lib/gen-rb/thrift.rb +0 -65
  43. data/test.sh +0 -3
data/synapse.gemspec CHANGED
@@ -15,10 +15,9 @@ Gem::Specification.new do |gem|
15
15
  gem.files = `git ls-files`.split($/)
16
16
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
17
17
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
- gem.require_paths = ["lib"]
19
18
 
20
- gem.add_runtime_dependency "zk", "~> 1.7.4"
21
- gem.add_runtime_dependency "thrift", "~> 0.9.0"
19
+ gem.add_runtime_dependency "zk", "~> 1.9.2"
20
+ gem.add_runtime_dependency "docker-api", "~> 1.7.2"
22
21
 
23
22
  gem.add_development_dependency "rspec"
24
23
  gem.add_development_dependency "pry"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: synapse
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.8.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-10-24 00:00:00.000000000 Z
12
+ date: 2014-01-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: zk
@@ -18,7 +18,7 @@ dependencies:
18
18
  requirements:
19
19
  - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: 1.7.4
21
+ version: 1.9.2
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -26,15 +26,15 @@ dependencies:
26
26
  requirements:
27
27
  - - ~>
28
28
  - !ruby/object:Gem::Version
29
- version: 1.7.4
29
+ version: 1.9.2
30
30
  - !ruby/object:Gem::Dependency
31
- name: thrift
31
+ name: docker-api
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  none: false
34
34
  requirements:
35
35
  - - ~>
36
36
  - !ruby/object:Gem::Version
37
- version: 0.9.0
37
+ version: 1.7.2
38
38
  type: :runtime
39
39
  prerelease: false
40
40
  version_requirements: !ruby/object:Gem::Requirement
@@ -42,7 +42,7 @@ dependencies:
42
42
  requirements:
43
43
  - - ~>
44
44
  - !ruby/object:Gem::Version
45
- version: 0.9.0
45
+ version: 1.7.2
46
46
  - !ruby/object:Gem::Dependency
47
47
  name: rspec
48
48
  requirement: !ruby/object:Gem::Requirement
@@ -100,37 +100,28 @@ extensions: []
100
100
  extra_rdoc_files: []
101
101
  files:
102
102
  - .gitignore
103
+ - .mailmap
103
104
  - .rspec
104
105
  - Gemfile
105
106
  - Gemfile.lock
106
107
  - LICENSE.txt
108
+ - Makefile
107
109
  - README.md
108
110
  - Rakefile
109
- - Vagrantfile
110
111
  - bin/synapse
111
- - chef/converge
112
- - chef/cookbooks/lxc/recipes/default.rb
113
- - chef/cookbooks/synapse/attributes/default.rb
114
- - chef/cookbooks/synapse/recipes/default.rb
115
- - chef/run.json
116
- - chef/run.rb
117
- - client/.RData
118
- - client/.Rhistory
119
- - client/bench_rewrite_config.dat
120
- - client/benchmark-client.iml
121
- - client/pom.xml
122
- - client/src/main/java/ClientArsch.java
123
- - client/src/main/java/META-INF/MANIFEST.MF
112
+ - config/hostheader_test.json
113
+ - config/svcdir_test.json
124
114
  - config/synapse.conf.json
125
- - haproxy.pid
126
- - lib/gen-rb/endpoint_types.rb
127
- - lib/gen-rb/thrift.rb
115
+ - config/synapse_services/service1.json
116
+ - config/synapse_services/service2.json
128
117
  - lib/synapse.rb
129
118
  - lib/synapse/base.rb
130
119
  - lib/synapse/haproxy.rb
120
+ - lib/synapse/log.rb
131
121
  - lib/synapse/service_watcher.rb
132
122
  - lib/synapse/service_watcher/base.rb
133
123
  - lib/synapse/service_watcher/dns.rb
124
+ - lib/synapse/service_watcher/docker.rb
134
125
  - lib/synapse/service_watcher/ec2tag.rb
135
126
  - lib/synapse/service_watcher/zookeeper.rb
136
127
  - lib/synapse/version.rb
@@ -139,7 +130,6 @@ files:
139
130
  - spec/support/config.rb
140
131
  - spec/support/minimum.conf.yaml
141
132
  - synapse.gemspec
142
- - test.sh
143
133
  homepage: ''
144
134
  licenses: []
145
135
  post_install_message:
data/Vagrantfile DELETED
@@ -1,112 +0,0 @@
1
- # -*- mode: ruby -*-
2
- # vi: set ft=ruby :
3
-
4
- this_dir = File.dirname(File.expand_path __FILE__)
5
-
6
- Vagrant::Config.run do |config|
7
- # All Vagrant configuration is done here. The most common configuration
8
- # options are documented and commented below. For a complete reference,
9
- # please see the online documentation at vagrantup.com.
10
-
11
- # Every Vagrant virtual environment requires a box to build off of.
12
- config.vm.box = "precise64"
13
-
14
- # The url from where the 'config.vm.box' box will be fetched if it
15
- # doesn't already exist on the user's system.
16
- # config.vm.box_url = "http://domain.com/path/to/above.box"
17
-
18
- config.vm.box_url = 'http://files.vagrantup.com/precise64.box'
19
-
20
- # Boot with a GUI so you can see the screen. (Default is headless)
21
- # config.vm.boot_mode = :gui
22
-
23
- # Assign this VM to a host-only network IP, allowing you to access it
24
- # via the IP. Host-only networks can talk to the host machine as well as
25
- # any other machines on the same network, but cannot be accessed (through this
26
- # network interface) by any external networks.
27
- # config.vm.network :hostonly, "192.168.33.10"
28
-
29
- # Assign this VM to a bridged network, allowing you to connect directly to a
30
- # network using the host's network device. This makes the VM appear as another
31
- # physical device on your network.
32
- # config.vm.network :bridged
33
-
34
- # Forward a port from the guest to the host, which allows for outside
35
- # computers to access the VM, whereas host only networking does not.
36
- # config.vm.forward_port 80, 8080
37
-
38
- # Share an additional folder to the guest VM. The first argument is
39
- # an identifier, the second is the path on the guest to mount the
40
- # folder, and the third is the path on the host to the actual folder.
41
- # config.vm.share_folder "v-data", "/vagrant_data", "../data"
42
-
43
- config.vm.share_folder 'this_dir', '/this_dir', this_dir
44
-
45
- # Enable provisioning with Puppet stand alone. Puppet manifests
46
- # are contained in a directory path relative to this Vagrantfile.
47
- # You will need to create the manifests directory and a manifest in
48
- # the file base.pp in the manifests_path directory.
49
- #
50
- # An example Puppet manifest to provision the message of the day:
51
- #
52
- # # group { "puppet":
53
- # # ensure => "present",
54
- # # }
55
- # #
56
- # # File { owner => 0, group => 0, mode => 0644 }
57
- # #
58
- # # file { '/etc/motd':
59
- # # content => "Welcome to your Vagrant-built virtual machine!
60
- # # Managed by Puppet.\n"
61
- # # }
62
- #
63
- # config.vm.provision :puppet do |puppet|
64
- # puppet.manifests_path = "manifests"
65
- # puppet.manifest_file = "base.pp"
66
- # end
67
-
68
- # Enable provisioning with chef solo, specifying a cookbooks path, roles
69
- # path, and data_bags path (all relative to this Vagrantfile), and adding
70
- # some recipes and/or roles.
71
- #
72
- config.vm.provision :chef_solo do |chef|
73
- # chef.cookbooks_path = "../my-recipes/cookbooks"
74
- # chef.roles_path = "../my-recipes/roles"
75
- # chef.data_bags_path = "../my-recipes/data_bags"
76
- # chef.add_recipe "mysql"
77
- # chef.add_role "web"
78
-
79
- # You may also specify custom JSON attributes:
80
- # chef.json = { :mysql_password => "foo" }
81
-
82
- chef.cookbooks_path = File.join(this_dir, "chef/cookbooks")
83
- chef.add_recipe "synapse"
84
- end
85
-
86
- # Enable provisioning with chef server, specifying the chef server URL,
87
- # and the path to the validation key (relative to this Vagrantfile).
88
- #
89
- # The Opscode Platform uses HTTPS. Substitute your organization for
90
- # ORGNAME in the URL and validation key.
91
- #
92
- # If you have your own Chef Server, use the appropriate URL, which may be
93
- # HTTP instead of HTTPS depending on your configuration. Also change the
94
- # validation key to validation.pem.
95
- #
96
- # config.vm.provision :chef_client do |chef|
97
- # chef.chef_server_url = "https://api.opscode.com/organizations/ORGNAME"
98
- # chef.validation_key_path = "ORGNAME-validator.pem"
99
- # end
100
- #
101
- # If you're using the Opscode platform, your validator client is
102
- # ORGNAME-validator, replacing ORGNAME with your organization name.
103
- #
104
- # IF you have your own Chef Server, the default validation client name is
105
- # chef-validator, unless you changed the configuration.
106
- #
107
- # chef.validation_client_name = "ORGNAME-validator"
108
-
109
- Vagrant::Config.run do |config|
110
- config.vm.provision :shell, :path => "test.sh"
111
- end
112
- end
data/chef/converge DELETED
@@ -1,4 +0,0 @@
1
- #!/bin/bash -e
2
-
3
- cd `dirname $0`
4
- sudo /opt/vagrant_ruby/bin/chef-solo -c run.rb -j run.json
@@ -1,2 +0,0 @@
1
- package 'lxc'
2
-
@@ -1 +0,0 @@
1
- default.synapse.dir = '/opt/synapse'
@@ -1,6 +0,0 @@
1
- package 'haproxy'
2
- gem_package 'bundler'
3
-
4
- directory node.synapse.dir do
5
- recursive true
6
- end
data/chef/run.json DELETED
@@ -1,8 +0,0 @@
1
- {
2
- "run_list": [
3
- "recipe[synapse]"
4
- ],
5
- "synapse": {
6
- }
7
- }
8
-
data/chef/run.rb DELETED
@@ -1,2 +0,0 @@
1
- this_dir = File.dirname(File.expand_path __FILE__)
2
- cookbook_path File.join(this_dir,'cookbooks')
data/client/.RData DELETED
Binary file
data/client/.Rhistory DELETED
@@ -1,294 +0,0 @@
1
- plot(accepted_denied$x, accepted_denied$y.y / (accepted_denied$y.x + accepted_denied$y.y), type="l", col="blue", xlab="Impressions", ylab="N_denied / N_accepted", main="Denied / accepted ratio")
2
- library(ggplot2)
3
- # Search radius (25mi is the default)
4
- R <- 25.0
5
- # Blended sort radius, based on bbox
6
- BLENDED_R <- 16.39
7
- # Distance is counted in increments of 0.1mi (old code)
8
- MILES_INCR <- 0.1
9
- # Take n samples
10
- RESO_SAMPLES <- 50
11
- # Or top n by rank
12
- RANK_TOP_N <- 50
13
- sf <- subset(read.table("in/sf_points_rank.2012-03-06.csv", sep="\t", header=TRUE), !duplicated(rank))
14
- resos <- read.table("in/resos_3months_out.2012-03-07.csv", sep=",", header=TRUE)
15
- sf_resos <- merge(sf, resos, by="hosting_id")
16
- # Take random samples
17
- sf_resos <- sf_resos[sample(1:nrow(sf_resos), RESO_SAMPLES, replace=FALSE),]
18
- # Take top n
19
- # sf_resos <- subset(sf_resos, rank > 0 & rank <= RANK_TOP_N)
20
- ## Additonal values
21
- sf_resos$d_R <- sf_resos$distance / R
22
- sf_resos$o_1 <- sf_resos$nights_1month / 31
23
- sf_resos$o_2 <- sf_resos$nights_2month / 62
24
- sf_resos$o_3 <- sf_resos$nights_3month / 93
25
- for (i in 1:nrow(sf_resos)) {
26
- # Make log work. < 1 point are all treated as equally bad
27
- if (sf_resos$points[i] < 1) {
28
- sf_resos$log_p[i] = 0.0
29
- }
30
- else {
31
- sf_resos$log_p[i] <- log10(sf_resos$points[i])
32
- }
33
- }
34
- # Weights
35
- W_p <- 0.3 # Note: points aren't normalized. The max is around 2000, so 0.3 * log10() gives just under 1.0
36
- W_d <- -0.6
37
- W_o <- -0.2
38
- sf_resos$weighted_points <- W_p * sf_resos$log_p
39
- sf_resos$weighted_distance <- W_d * sf_resos$d_R
40
- sf_resos$weighted_occupancy <- W_o * sf_resos$o_1
41
- sf_resos$rank2 <- sf_resos$weighted_points + sf_resos$weighted_distance + sf_resos$weighted_occupancy
42
- # min <- min(sf_resos$rank2)
43
- # sf_resos$rank2 <- sf_resos$rank2 - min
44
- MAX_POINTS <- max(sf$points)
45
- ## normalize
46
- graph_rank <- sf_resos$rank2
47
- d_R <- data.frame(metric=factor("d_R"), rank=factor(graph_rank), value=sf_resos$distance / R)
48
- o_1 <- data.frame(metric=factor("o_1"), rank=factor(graph_rank), value=sf_resos$nights_1month / 31)
49
- o_2 <- data.frame(metric=factor("o_2"), rank=factor(graph_rank), value=sf_resos$nights_2month / 62)
50
- o_3 <- data.frame(metric=factor("o_3"), rank=factor(graph_rank), value=sf_resos$nights_3month / 93)
51
- weighted_points <- data.frame(metric=factor("weighted_points"), rank=factor(graph_rank), value=sf_resos$weighted_points)
52
- weighted_distance <- data.frame(metric=factor("weighted_distance"), rank=factor(graph_rank), value=sf_resos$weighted_distance)
53
- weighted_occupancy <- data.frame(metric=factor("weighted_occupancy"), rank=factor(graph_rank), value=sf_resos$weighted_occupancy)
54
- # TODO there should be a better way
55
- old_points <- data.frame(metric=factor("old_points"), rank=factor(graph_rank), value=sf_resos$points)
56
- old_blended <- data.frame(metric=factor("old_blended"), rank=factor(graph_rank), value=sf_resos$points)
57
- old_distance <- data.frame(metric=factor("old_distance"), rank=factor(graph_rank), value=sf_resos$distance * 500)
58
- log_p <- data.frame(metric=factor("log_p"), rank=factor(graph_rank), value=sf_resos$points)
59
- for (i in 1:nrow(log_p)) {
60
- # Make log work. < 1 point are all treated as equally bad
61
- if (log_p$value[i] < 1) {
62
- log_p$value[i] = 0.0
63
- }
64
- else {
65
- log_p$value[i] <- log10(log_p$value[i])
66
- }
67
- # Old blended
68
- if (sf_resos$distance[i] < BLENDED_R) {
69
- old_blended$value[i] = sf_resos$points[i]
70
- }
71
- else {
72
- old_blended$value[i] = log10(sf_resos$points[i] / sf_resos$distance[i])
73
- }
74
- }
75
- rank_data <- rbind(d_R, log_p, o_1, o_2, o_3)
76
- ## end normalize
77
- old_rank_data <- rbind(old_blended, old_distance)
78
- # ggplot(data=old_rank_data, aes(x=rank, y=value, fill=metric)) + geom_bar(position=position_dodge())
79
- new_rank_data <- rbind(weighted_points, weighted_distance, weighted_occupancy)
80
- filename <- sprintf("out/weighted_blend_components_W_p=%f_W_d=%f_W_o=%f.pdf", W_p, W_d, W_o)
81
- pdf(filename)
82
- ggplot(data=new_rank_data, aes(x=rank, y=value, fill=metric)) + geom_bar(position=position_dodge())
83
- # ggplot(data=rank_data, aes(x=rank, y=value, fill=metric)) + geom_bar()
84
- library(ggplot2)
85
- # Search radius (25mi is the default)
86
- R <- 25.0
87
- # Blended sort radius, based on bbox
88
- BLENDED_R <- 16.39
89
- # Distance is counted in increments of 0.1mi (old code)
90
- MILES_INCR <- 0.1
91
- # Take n samples
92
- RESO_SAMPLES <- 50
93
- # Or top n by rank
94
- RANK_TOP_N <- 50
95
- sf <- subset(read.table("in/sf_points_rank.2012-03-06.csv", sep="\t", header=TRUE), !duplicated(rank))
96
- resos <- read.table("in/resos_3months_out.2012-03-07.csv", sep=",", header=TRUE)
97
- sf_resos <- merge(sf, resos, by="hosting_id")
98
- # Take random samples
99
- sf_resos <- sf_resos[sample(1:nrow(sf_resos), RESO_SAMPLES, replace=FALSE),]
100
- # Take top n
101
- # sf_resos <- subset(sf_resos, rank > 0 & rank <= RANK_TOP_N)
102
- ## Additonal values
103
- sf_resos$d_R <- sf_resos$distance / R
104
- sf_resos$o_1 <- sf_resos$nights_1month / 31
105
- sf_resos$o_2 <- sf_resos$nights_2month / 62
106
- sf_resos$o_3 <- sf_resos$nights_3month / 93
107
- for (i in 1:nrow(sf_resos)) {
108
- # Make log work. < 1 point are all treated as equally bad
109
- if (sf_resos$points[i] < 1) {
110
- sf_resos$log_p[i] = 0.0
111
- }
112
- else {
113
- sf_resos$log_p[i] <- log10(sf_resos$points[i])
114
- }
115
- }
116
- # Weights
117
- W_p <- 0.3 # Note: points aren't normalized. The max is around 2000, so 0.3 * log10() gives just under 1.0
118
- W_d <- -0.6
119
- W_o <- -0.2
120
- sf_resos$weighted_points <- W_p * sf_resos$log_p
121
- sf_resos$weighted_distance <- W_d * sf_resos$d_R
122
- sf_resos$weighted_occupancy <- W_o * sf_resos$o_1
123
- sf_resos$rank2 <- sf_resos$weighted_points + sf_resos$weighted_distance + sf_resos$weighted_occupancy
124
- # min <- min(sf_resos$rank2)
125
- # sf_resos$rank2 <- sf_resos$rank2 - min
126
- MAX_POINTS <- max(sf$points)
127
- ## normalize
128
- graph_rank <- sf_resos$rank2
129
- d_R <- data.frame(metric=factor("d_R"), rank=factor(graph_rank), value=sf_resos$distance / R)
130
- o_1 <- data.frame(metric=factor("o_1"), rank=factor(graph_rank), value=sf_resos$nights_1month / 31)
131
- o_2 <- data.frame(metric=factor("o_2"), rank=factor(graph_rank), value=sf_resos$nights_2month / 62)
132
- o_3 <- data.frame(metric=factor("o_3"), rank=factor(graph_rank), value=sf_resos$nights_3month / 93)
133
- weighted_points <- data.frame(metric=factor("weighted_points"), rank=factor(graph_rank), value=sf_resos$weighted_points)
134
- weighted_distance <- data.frame(metric=factor("weighted_distance"), rank=factor(graph_rank), value=sf_resos$weighted_distance)
135
- weighted_occupancy <- data.frame(metric=factor("weighted_occupancy"), rank=factor(graph_rank), value=sf_resos$weighted_occupancy)
136
- # TODO there should be a better way
137
- old_points <- data.frame(metric=factor("old_points"), rank=factor(graph_rank), value=sf_resos$points)
138
- old_blended <- data.frame(metric=factor("old_blended"), rank=factor(graph_rank), value=sf_resos$points)
139
- old_distance <- data.frame(metric=factor("old_distance"), rank=factor(graph_rank), value=sf_resos$distance * 500)
140
- log_p <- data.frame(metric=factor("log_p"), rank=factor(graph_rank), value=sf_resos$points)
141
- for (i in 1:nrow(log_p)) {
142
- # Make log work. < 1 point are all treated as equally bad
143
- if (log_p$value[i] < 1) {
144
- log_p$value[i] = 0.0
145
- }
146
- else {
147
- log_p$value[i] <- log10(log_p$value[i])
148
- }
149
- # Old blended
150
- if (sf_resos$distance[i] < BLENDED_R) {
151
- old_blended$value[i] = sf_resos$points[i]
152
- }
153
- else {
154
- old_blended$value[i] = log10(sf_resos$points[i] / sf_resos$distance[i])
155
- }
156
- }
157
- rank_data <- rbind(d_R, log_p, o_1, o_2, o_3)
158
- ## end normalize
159
- old_rank_data <- rbind(old_blended, old_distance)
160
- # ggplot(data=old_rank_data, aes(x=rank, y=value, fill=metric)) + geom_bar(position=position_dodge())
161
- new_rank_data <- rbind(weighted_points, weighted_distance, weighted_occupancy)
162
- filename <- sprintf("out/weighted_blend_components_W_p=%f_W_d=%f_W_o=%f.pdf", W_p, W_d, W_o)
163
- pdf(filename)
164
- ggplot(data=new_rank_data, aes(x=rank, y=value, fill=metric)) + geom_bar(position=position_dodge())
165
- # ggplot(data=rank_data, aes(x=rank, y=value, fill=metric)) + geom_bar()
166
- install.packages('e1071')
167
- library("e1071")
168
- ?svm
169
- data <- read.table("/Users/tobi/Projects/auto_pricing/data.csv")
170
- data <- read.table("/Users/tobi/Projects/auto_pricing/data.csv", sep=",")
171
- View(data)
172
- m <- svm(data$V7, data$V1)
173
- data <- read.table("/Users/tobi/Projects/auto_pricing/data.csv", sep=",", header=TRUE)
174
- View(data)
175
- m <- svm(data$country_state_city_neighborhood, data$price)
176
- m <- svm(as.factor(data$country_state_city_neighborhood), data$price)
177
- data_clean <- subset(data, !is.na(country_state_city_neighborhood))
178
- m <- svm(as.factor(data$square_feet, data$price)
179
- )
180
- m <- svm(data$square_feet, data$price)
181
- x <- seq(0.1, 5, by = 0.05)
182
- y <- log(x) + rnorm(x, sd = 0.2)
183
- fix(x)
184
- m <- svm(x, y)
185
- new <- predict(m, x)
186
- plot(x, y)
187
- points(x, log(x), col = 2)
188
- points(x, new, col = 4)
189
- X <- data.frame(a = rnorm(1000), b = rnorm(1000))
190
- attach(X)
191
- m <- svm(X)
192
- View(X)
193
- m <- svm(~a + b)
194
- predict(m, t(c(0, 0)))
195
- data <- read.table("/Users/tobi/Desktop/data.csv")
196
- data <- read.table("/Users/tobi/Desktop/data.csv", sep="\t")
197
- View(data)
198
- data <- read.table("/Users/tobi/Desktop/data.csv", sep=",")
199
- View(data)
200
- data <- read.table("/Users/tobi/Desktop/data.csv", sep=",", header=TRUE)
201
- View(data)
202
- data$0
203
- data$1
204
- data[1]
205
- data[0]
206
- data[2]
207
- plot(data[1], data[2])
208
- plot(data[2])
209
- plot(data[1], data[2])
210
- plot(data[1], data[3])
211
- library("ggplot2")
212
- qplot
213
- qplot(data[1], data[2])
214
- qplot(x=data[1], y=data[2])
215
- data <- read.table("/Users/tobi/Desktop/data.csv", sep=",", header=TRUE)
216
- plot(data)
217
- data <- read.table("/Users/tobi/Desktop/data.csv", sep=",", header=TRUE)
218
- library("ggplot2")
219
- qplot(date, fees, data=data)
220
- qplot(date, fees, data=data, geom=c("point", "smooth"))
221
- qplot(date, fees, data=data, geom=c("point", "smooth"), group=1)
222
- data2011 <- read.table("/Users/tobi/Desktop/data_2011.csv", sep=",", header=TRUE)
223
- View(data2011)
224
- qplot(date, fees, data=data2011, geom=c("point", "smooth"), group=1)
225
- qplot(date, fees, data=data, geom=c("point", "smooth"), group=1)
226
- qplot(date, fees, data=data2011, geom=c("point", "smooth"), group=1)
227
- qplot(date, fees, data=data, geom=c("point", "smooth"), group=1)
228
- data_all <- read.table("/Users/tobi/Desktop/data_all.csv", sep=",", header=TRUE)
229
- qplot(date, fees, data=data_all, geom=c("point", "smooth"), group=1)
230
- data_all <- read.table("/Users/tobi/Desktop/data_2011_present.csv", sep=",", header=TRUE)
231
- qplot(date, fees, data=data_all, geom=c("point", "smooth"), group=1)
232
- View(data_all)
233
- data_all <- read.table("/Users/tobi/Desktop/data_all.csv", sep=",", header=TRUE)
234
- qplot(date, fees, data=data_all, geom=c("point", "smooth"), group=1)
235
- library("ggplot2")
236
- data <- read.table("~/all_posts.csv")
237
- d <- read.tabl('statsd_data.txt')
238
- d <- read.table('statsd_data.txt')
239
- View(d)
240
- r <- signif(d, 2)
241
- View(r)
242
- f <- fft(r)
243
- f <- fft(r$V1)
244
- fix(f)
245
- plot(f)
246
- plot(r)
247
- describe(r)
248
- describe(r)
249
- summary(r)
250
- stddev(r)
251
- std(r)
252
- hist(r)
253
- hist(r$V1)
254
- hist(d$V1)
255
- hist(d$V1, breaks=10)
256
- hist(d$V1, breaks=30)
257
- hist(d$V1, breaks=20)
258
- hist(d$V1, breaks=50)
259
- hist(d$V1, breaks=60)
260
- hist(d$V1, breaks=100)
261
- hist(d$V1, breaks=50)
262
- summary(d$V1)
263
- setwd("~/Projects/service_router/client")
264
- data <- read.table("bench_rewrite_config.dat")
265
- View(data)
266
- library("ggplot2")
267
- qplot(data)
268
- qplot(data, V3, geom="line")
269
- qplot(V2, V3, data=data, geom="line")
270
- qplot(V2, V3, data=data, geom="line", facets=V1)
271
- qplot(V2, V3, data=data, geom="line", facets=data$V1)
272
- qplot(V2, V3, data=data, geom="line", facets=as.factor(V1))
273
- qplot(V2, V3, data=data, geom="line", facets=as.factor(data$V1))
274
- qplot(V2, V3, data=data, geom="line", facets=as.factor(V1) ~ .)
275
- qplot(V2, V3, data=data, geom="line", facets=V1 ~ .)
276
- qplot(V2, V3, data=data, geom="line", colour=V1 ~ .)
277
- qplot(V2, V3, data=data, geom="line", colour=V1)
278
- qplot(V2, V3, data=data, geom="line", colour=V1, ylim=c(0, 9999))
279
- qplot(V2, V3, data=data, geom="line", colour=V1, ylim=c(999, 9999))
280
- qplot(V2, V3, data=data, geom="line", colour=V1, ylim=c(1000, 6000))
281
- qplot(V2, V3, data=data, geom="line", colour=V1, ylim=c(1000, 5000))
282
- qplot(V2, V3, data=data, geom="line", colour=as.factor(V1), ylim=c(1000, 5000))
283
- qplot(V2, V3, data=data, colour=as.factor(V1), ylim=c(1000, 5000))
284
- data <- read.table("bench_rewrite_config.dat")
285
- qplot(V2, V3, data=data, colour=as.factor(V1), ylim=c(1000, 5000))
286
- qplot(V2, V3, data=data, colour=as.factor(V1))
287
- qplot(V2, V3, data=data[10:], colour=as.factor(V1))
288
- qplot(V2, V3, data=data[10], colour=as.factor(V1))
289
- qplot(V2, V3, data=data[10], colour=as.factor(V1))
290
- qplot(V2, V3, data=data, colour=as.factor(V1), ylim=c(1000, 25000))
291
- qplot(V2, V3, data=data, colour=as.factor(V1), ylim=c(1000, 20000))
292
- data <- read.table("bench_rewrite_config.dat")
293
- qplot(V2, V3, data=data, colour=as.factor(V1), ylim=c(1000, 20000))
294
- qplot(V2, V3, data=data, colour=as.factor(V1), ylim=c(1000, 20000))