yannitor 0.6.1 → 0.6.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 33815ccc8c6230b3771c7835c86af1d696ad94eb393bd7e484115c66c96f0941
4
- data.tar.gz: 46af372d5553ba1450dfc050740e5eac53a669015e5dac36ea3023503f4385f1
3
+ metadata.gz: 33f5cfc511f104f0db28db5560043cb36c7908d3c4d52a34d81bca2ee796f9da
4
+ data.tar.gz: 0a8fbfd8ee32f9349639aa34ca4ab430cdbe2f85f0d9b026e4f3cf2f3b79218a
5
5
  SHA512:
6
- metadata.gz: 5c3456caf06b11ed44aa3d440241e4a286e6fa5cba44813bd796b28c968f7c846aa70a4f935b8dbe033916f8d1c957238802c4aa64fc3539464df93a0569a1d2
7
- data.tar.gz: e2db3ff0c1ff27664aa54f2bbf9bb1f51915cbb2ecc97a0a96d9f11b99969b8c63a1148a594ac2dcee04e24576d1ddf4d835b75d4ffb3ec157b0cd0fe6725fc8
6
+ metadata.gz: 9776ff46e3ca3080f5449a9369c37898666f492aa1eb20ac474ee54099ed7a5d257e7385b6f5de579719010c8f69adbbd944de077195ed2ff6192c845b15aa57
7
+ data.tar.gz: cd485253ee2b1ae4a3446c82011f24c174af12b989cf9c720a062b9f2caa0a60839ace0a0e841375ce8b85783b3d938bb52d71a6638368639124d77c6689f85b
@@ -6,18 +6,11 @@ module Yannitor
6
6
  module Broom
7
7
  attr_accessor :yannitor_features
8
8
 
9
- def yannitor_is_cleaning(feats = {})
10
- self.yannitor_features = feats
9
+ def yannitor_is_cleaning(features = {})
10
+ self.yannitor_features = features
11
11
  end
12
12
 
13
13
  def to_one_hot(target_column, type = 'text')
14
- sorted_value_array = pluck("distinct(#{target_column})").join("'), ('")
15
-
16
- table_name = self.table_name
17
- values_select = %(
18
- SELECT value FROM (values ('#{sorted_value_array}')) s(value)
19
- )
20
-
21
14
  self.select(%(
22
15
  #{table_name}.id,
23
16
  ARRAY_AGG(CASE
@@ -27,10 +20,15 @@ module Yannitor
27
20
  END
28
21
  ) AS o#{target_column}
29
22
  )).joins(%(
30
- LEFT JOIN (#{values_select}) AS sorted_value_table ON 1=1
23
+ LEFT JOIN (#{values_for_select(target_column)}) AS sorted_value_table ON 1=1
31
24
  )).group("#{table_name}.id")
32
25
  end
33
26
 
27
+ def values_for_select(target_column)
28
+ sorted_values = pluck("distinct(#{target_column})").join("'), ('")
29
+ "SELECT value FROM (values ('#{sorted_values}')) s(value)"
30
+ end
31
+
34
32
  def vectorize
35
33
  select('*, ' + linear_feature_select).build_linear_features
36
34
  end
@@ -45,17 +43,19 @@ module Yannitor
45
43
 
46
44
  def linear_feature_select
47
45
  yannitor_features[:linear].map do |feature|
48
- min = all.minimum(feature)
49
- max = all.maximum(feature)
50
- "CAST((#{table_name}.#{feature}::float - #{min}::float) / (#{max}::float - #{min}::float) AS float) as n#{feature}"
46
+ "CAST(#{min_max(feature)} AS float) as n#{feature}"
51
47
  end.join(', ')
52
48
  end
53
49
 
54
- def nelect(feature)
50
+ def min_val(feature)
55
51
  min = all.minimum(feature)
56
52
  max = all.maximum(feature)
57
53
 
58
- select("*, (#{table_name}.#{feature}::float - #{min}::float) / (#{max}::float - #{min}::float)::float as n#{feature}")
54
+ "(#{table_name}.#{feature}::float - #{min}::float) / (#{max}::float - #{min}::float)"
55
+ end
56
+
57
+ def nelect(feature)
58
+ select("*, #{min_max(feature)}::float as n#{feature}")
59
59
  end
60
60
 
61
61
  def normalize(feature)
@@ -72,8 +72,6 @@ module Yannitor
72
72
  CSV.open(file_name, 'wb', col_sep: separator) do |csv|
73
73
  all.vectorize.each { |v| csv << v }
74
74
  end
75
-
76
- nil
77
75
  end
78
76
  end
79
77
  end
@@ -1,3 +1,3 @@
1
1
  module Yannitor
2
- VERSION = "0.6.1"
2
+ VERSION = "0.6.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yannitor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.1
4
+ version: 0.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Danielius Visockas
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-04-05 00:00:00.000000000 Z
11
+ date: 2019-06-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord