标签: normalization

在PHP中规范化"时间"的最佳方法是什么?

我正在寻找一种方法将用户输入转换为适合计算的标准化数据.输入是一段时间,来自Twitter,所以它只是字符串.理想情况下,我喜欢这些结果:

一个半小时 - > 01:30

27.52 - > 00:28

5:24 - > 05:24

这是一件特别难的事吗?我可以专注于指导用户如何创建良好的输入,但也不要太严格.

任何建议都会很棒,

谢谢!

php twitter normalization

1
推荐指数
1
解决办法
686
查看次数

MySQL集存储

我在用PHP编写的Web应用程序中有几个表,我想知道这是不是很好的实践.

CREATE TABLE `products`(
  `product_id` int NOT NULL auto_increment,
  `name` varchar(255) NOT NULL,
  `variations` varchar(255) default NULL,
  PRIMARY KEY  (`product_id`)
)

CREATE TABLE `variations`(
  `variation_id` int NOT NULL auto_increment,
  `name` varchar(255) NOT NULL,
  `kind` varchar(255) default NULL,
  PRIMARY KEY  (`variation_id`)
)
Run Code Online (Sandbox Code Playgroud)

例如,产品将是:

1,'Cup','1,2,3'
Run Code Online (Sandbox Code Playgroud)

虽然变化将是:

1,'Green','Color'
2,'Glass','Texture'
3,'Blue','Color'
Run Code Online (Sandbox Code Playgroud)

这样许多产品可以具有相同的颜色/纹理.我发现的问题是我无法将其放入将返回数据的单个查询中:

1,'Cup','1,Green,Color-2,Glass,Texture-3,Blue,Color'
Run Code Online (Sandbox Code Playgroud)

然后相应地解析它以显示每个变体的图像.

存储函数是否返回该格式是最好的主意?或者我应该进一步规范化,如果是这样,怎么样?

mysql recursion normalization set

1
推荐指数
1
解决办法
111
查看次数

基本表结构问题

我有品牌和公司.1公司可以拥有1个或更多品牌.

例如,公司有company_id,company_name.同样,Brands有brand_id和brand_name.现在我可以将FK列company_id添加到品牌中,并且关系在2个表格中完成,或者我是否需要像Company_Brands这样的第3个表格,其中包含company_id,brand_id和默认PK?

我不是要求一个理想的教科书方式应该这样做,但是在一个高性能的交易环境中,性能很重要,因此较少的查询瑕疵以及写入率高的地方以及数据将在表格中发生变化,因为这是一个用户内容网站,所以信息可能不准确,因此不断编辑.

database normalization

1
推荐指数
1
解决办法
87
查看次数

我应该在这里使用表格还是在配置文件中使用硬代码值?

我需要设置不同的用户角色,即:

1位管理员2位作家3位成员

我想知道是否应该为用户角色创建一个专用表,即只存储名称和ID,即:

USER ROLES
ID | NAME 
Run Code Online (Sandbox Code Playgroud)

或者,如果我只是将配置文件中的值作为关联数组,即可以:

$config['roles'] = array(1=>'Administrator'...);
Run Code Online (Sandbox Code Playgroud)

考虑到我只需要在这里存储一个id和一个名字?

php mysql database-design normalization

1
推荐指数
1
解决办法
80
查看次数

这样的代码怎么能回复这么乱?

因此,对于超过10000个openCV图像,我想执行类似的操作

            int maxVal;
            int minVal;
            int wh = w*h;
            int values[1000];
            for(x=0;x<w;x++){
                for(y=0;y<h;y++){
                    double RealColor = cvGetReal2D(source, y, x);
                    values[x*h + y] = RealColor; 
                }
            }
            minVal = *min_element(values,(values+wh));
            maxVal = *max_element(values,(values+wh));
            float dif = maxVal - minVal;
            float fminVal;
            fminVal = minVal;
            for(x=0;x<w;x++){
                for(y=0;y<h;y++){
                    float rc = cvGetReal2D(source, y, x);
                    float normRealColor =(rc - fminVal) / dif;
                    file << normRealColor << " ";
                }
                file << endl;
            }file << endl;
Run Code Online (Sandbox Code Playgroud)

我的所有图像都是8*8大小的B&W,但它会返回给我:

-1.#IND -1.#IND -1.#IND -1.#IND -1.#IND -1.#IND -1.#IND -1.#IND …
Run Code Online (Sandbox Code Playgroud)

c c++ opencv normalization

1
推荐指数
1
解决办法
846
查看次数

我应该规范化这张桌子吗?

我有一个表项目,用于存储从亚马逊获取的图书数据.当用户浏览站点时,此Amazon数据将插入到项目中,因此任何发生的INSERT都必须高效.

这是表格:

CREATE TABLE IF NOT EXISTS `items` (
  `Item_ID` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `Item_ISBN` char(13) DEFAULT NULL,
  `Title` varchar(255) NOT NULL,
  `Edition` varchar(20) DEFAULT NULL,
  `Authors` varchar(255) DEFAULT NULL,
  `Year` char(4) DEFAULT NULL,
  `Publisher` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`Item_ID`),
  UNIQUE KEY `Item_Data` (`Item_ISBN`,`Title`,`Edition`,`Authors`,`Year`,`Publisher`),
  KEY `ISBN` (`Item_ISBN`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT AUTO_INCREMENT=1 ;
Run Code Online (Sandbox Code Playgroud)

规范化此表可能意味着为标题,作者和发布者创建表.我担心这样做会导致插入过于复杂.要插入单个项目,我必须:

  1. 检查Publishers中的Publisher以SELECT Publisher_ID,否则插入它并使用mysql_insert_id()来获取Publisher_ID.
  2. 检查作者中的作者选择Authors_ID,否则插入它并使用mysql_insert_id()来获取Authors_ID.
  3. 检查标题中的标题是否选择Title_ID,否则插入它并使用mysql_insert_id()来获取Title_ID.
  4. 使用这些ID最终插入Item(实际上可能是重复的,所以这整个过程本来就是浪费..)

这是否反对该表的规范化?

注意:Items的目标不是创建一个全面的书籍数据库,因此用户会说"通过Publisher X向我显示所有书籍".Items表仅用于为用户的搜索结果缓存Items.

mysql sql database normalization

1
推荐指数
1
解决办法
240
查看次数

寻找ROW_OVERFLOW_DATA如何发生的精确度

我目前正处于为CRM应用程序中的大型模块重写计划的初始阶段.

我目前正在研究的一个领域是数据库优化,我还没有做出任何决定,但我只是想确保我理解ROW_OVERFLOW_DATA的概念 - http://msdn.microsoft.com/en-us/library/ ms186981.aspx

我们正在使用SQL Server 2005,我的理解是行大小限制是8,060字节,之后会发生溢出.

我运行了一个查询来获取特定读取密集型数据库的最大行大小

SELECT OBJECT_NAME (sc.[id]) tablename
, COUNT (1) nr_columns
, SUM (sc.length) maxrowlength
FROM syscolumns sc
join sysobjects so
on sc.[id] = so.[id]
WHERE so.xtype = 'U'
GROUP BY OBJECT_NAME (sc.[id])
ORDER BY SUM (sc.length) desc
Run Code Online (Sandbox Code Playgroud)

这给了我一些表格,其最大长度略高于8,000,但低于10,000.另一个查询显示平均行大小实际上非常小,大约1,000字节.

我的问题是:基于每一行是ROW_OVERFLOW_DATA还是每列?一旦扩展了8,060字节的限制,导致它溢出的整个列移动到另一个页面,还是只有特定的行?

因此,例如给出以下简化模式:

col1 (int) | col 2 (varchar (4000)) | col 3(varchar(5000))
    1      |    4000 characters   |    5000 characters ***This row is overflowing
    2      |    4000 characters   |    100 characters
    3      |    150 characters    | …
Run Code Online (Sandbox Code Playgroud)

sql-server optimization database-design sql-server-2005 normalization

1
推荐指数
1
解决办法
1074
查看次数

使用python从文本中提取城市名称

我有一个数据集,其中一列的标题是"你的位置和时区是什么?"

这意味着我们有像这样的条目

  1. 丹麦,CET
  2. 位置是英格兰德文郡,GMT时区
  3. 澳大利亚.澳大利亚东部标准时间 + 10h UTC

乃至

  1. 我的位置是俄勒冈州尤金,一年中的大部分时间或韩国首尔,视学校假期而定.我的主要时区是太平洋时区.
  2. 整个五月,我将在英国伦敦(GMT + 1).在整个六月份,我将在挪威(格林尼治标准时间+2)或以色列(格林威治标准时间+3)中使用有限的互联网接入.在整个7月和8月,我将在英国伦敦(GMT + 1).然后从2015年9月起,我将在美国波士顿(EDT)

有没有办法从中提取城市,国家和时区?

我想所有的国家名称(包括缩写形式)以及城市名称/时区和创建数组(从一个开源的数据集)的,然后如果在数据集中的任何字与一个城市/国家/时区匹配或简短表单将它填入同一数据集中的新列并对其进行计数.

这有用吗?

===========基于NLTK答案的REPLT ============

运行与Alecxe相同的代码

Traceback (most recent call last):
  File "E:\SBTF\ntlk_test.py", line 19, in <module>
    tagged_sentences = [nltk.pos_tag(sentence) for sentence in tokenized_sentences]
  File "C:\Python27\ArcGIS10.4\lib\site-packages\nltk\tag\__init__.py", line 110, in pos_tag
    tagger = PerceptronTagger()
  File "C:\Python27\ArcGIS10.4\lib\site-packages\nltk\tag\perceptron.py", line 141, in __init__
    self.load(AP_MODEL_LOC)
  File "C:\Python27\ArcGIS10.4\lib\site-packages\nltk\tag\perceptron.py", line 209, in load
    self.model.weights, self.tagdict, self.classes = load(loc)
  File "C:\Python27\ArcGIS10.4\lib\site-packages\nltk\data.py", line 801, in load
    opened_resource = _open(resource_url)
  File "C:\Python27\ArcGIS10.4\lib\site-packages\nltk\data.py", line 924, in …
Run Code Online (Sandbox Code Playgroud)

python validation normalization

1
推荐指数
1
解决办法
6384
查看次数

将-1或1之间的负数或正数归一化?

我有流数据,浮点值介于-2和+4之间.我需要编写一个函数来将这些值归一化到-1和+1之间.

我有:

float normalize(float input)
{
    int min = -1;
    int max = 1;
    float normalized_x = (input - min) / (max - min);
    return normalized_x;
}
Run Code Online (Sandbox Code Playgroud)

但这给了我不正确的值,范围从-0.4到+2.3,粗略.我的功能需要调整什么?

谢谢.

c++ normalization

1
推荐指数
1
解决办法
2991
查看次数

规范化数据后,使用回归分析如何预测y?

我已将数据标准化并应用回归分析来预测收益率(y).但我的预测输出也给出了标准化(在0到1)我希望我的预测答案在我的正确数据中,而不是在0到1.

数据:

Total_yield(y)    Rain(x)  
      64799.30   720.1  
      77232.40   382.9  
      88487.70  1198.2  
      77338.20   341.4  
      145602.05   406.4 
      67680.50   325.8 
      84536.20   791.8 
      99854.00   748.6 
      65939.90  1552.6 
      61622.80  1357.7
      66439.60   344.3 
Run Code Online (Sandbox Code Playgroud)

接下来,我使用以下代码规范化数据:

from sklearn.preprocessing import Normalizer
import pandas
import numpy
dataframe = pandas.read_csv('/home/desktop/yield.csv')
array = dataframe.values
X = array[:,0:2]
scaler = Normalizer().fit(X)
normalizedX = scaler.transform(X)
print(normalizedX)

     Total_yield      Rain
0       0.999904  0.013858
1       0.999782  0.020872
2       0.999960  0.008924
3       0.999967  0.008092
4       0.999966  0.008199
5       0.999972  0.007481
6       0.999915  0.013026
7       0.999942  0.010758
8       0.999946  0.010414 …
Run Code Online (Sandbox Code Playgroud)

regression normalization linear-regression scikit-learn statsmodels

1
推荐指数
1
解决办法
3268
查看次数