CREATE MINING STRUCTURE(DMX)CREATE MINING STRUCTURE (DMX)

이 항목은 다음에 적용됩니다.예SQL Server(2008부터)아니요Azure SQL Database아니요Azure SQL Data Warehouse 아니요병렬 데이터 웨어하우스 THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

데이터베이스에 새 마이닝 구조를 만들고 필요에 따라 학습 및 테스트 파티션을 정의합니다.Creates a new mining structure in a database and optionally defines training and testing partitions. 마이닝 구조를 만든 후 사용할 수 있습니다는 ALTER MINING STRUCTURE ( DMX ) 마이닝 구조에 모델을 추가 하는 문입니다.After you have created the mining structure, you can use the ALTER MINING STRUCTURE (DMX) statement to add models to the mining structure.

구문Syntax


CREATE [SESSION] MINING STRUCTURE <structure>  
(  
    [(<column definition list>)]  
)  
[WITH HOLDOUT (<holdout-specifier> [OR <holdout-specifier>])]  
[REPEATABLE(<holdout seed>)]  
<holdout-specifier>::=  <holdout-maxpercent> PERCENT | <holdout-maxcases> CASES  

인수Arguments

구조structure
구조의 고유한 이름입니다.A unique name for the structure.

열 정의 목록column definition list
쉼표로 구분된 열 정의 목록입니다.A comma-separated list of column definitions.

홀드 아웃 maxpercentholdout-maxpercent
테스트용으로 따로 보관하는 데이터의 비율을 나타내는 1에서 100 사이의 정수입니다.An integer between 1 and 100 that indicates the percentage of data to set aside for testing.

홀드 아웃 maxcasesholdout-maxcases
테스트에 사용할 사례의 최대 수를 나타내는 정수입니다.An integer that indicates the maximum number of cases to use for testing.

최대 사례에 지정된 값이 입력 사례 수보다 크면 모든 입력 사례가 테스트에 사용되며 경고가 발생합니다.If the value specified for max cases is larger than the number of input cases, all input cases are used for testing and a warning will be raised.

참고

사례의 비율과 최대 수가 모두 지정되면 둘 중 작은 값이 사용됩니다.If both percentage and maximum number of cases is specified, the smaller of the two limits is used.

홀드 아웃 초기값holdout seed
데이터 분할을 시작하기 위한 초기값으로 사용되는 정수입니다.An integer used as the seed to start partitioning data.

0으로 설정하면 마이닝 구조 ID의 해시가 초기값으로 사용됩니다.If set to 0, the hash of the mining structure ID is used as the seed.

참고

파티션을 다시 만들 수 있도록 하려면 초기값을 지정해야 합니다.You should specify a seed if you need to ensure that a partition can be reproduced.

기본값: REPEATABLE(0)Default: REPEATABLE(0)

주의Remarks

마이닝 구조 정의는 열 목록을 지정하고 필요에 따라 열 간의 계층 관계를 지정한 다음 역시 필요에 따라 마이닝 구조를 학습 및 테스트 데이터 집합으로 분할하는 작업으로 구성됩니다.You define a mining structure by specifying a list of columns, optionally specifying hierarchical relationships between the columns, and then optionally partitioning the mining structure into training and testing data sets.

선택적인 SESSION 키워드는 구조가 현재 세션 기간에만 사용할 수 있는 임시 구조임을 나타냅니다.The optional SESSION keyword indicates that the structure is a temporary structure that you can use only for the duration of the current session. 세션이 종료될 때 구조 및 구조를 기반으로 하는 모든 모델이 삭제됩니다.When the session is terminated, the structure, and any models based on the structure, will be deleted. 임시 마이닝 구조 및 모델을 만들려면 먼저 AllowSessionMiningModels 데이터베이스 속성을 설정 해야 합니다.To create temporary mining structures and models, you must first set the database property, AllowSessionMiningModels. 자세한 내용은 Data Mining Properties을 참조하세요.For more information, see Data Mining Properties.

열 정의 목록Column Definition List

열 정의 목록에서 각 열에 대해 다음과 같은 정보를 포함하여 마이닝 구조를 정의합니다.You define a mining structure by including the following information for each column in the column definition list:

  • 이름(필수)Name (mandatory)

  • 데이터 형식(필수)Data type (mandatory)

  • 배포Distribution

  • 모델링 플래그 목록List of modeling flags

  • 내용 유형(필수)Content type (mandatory)

  • RELATED TO 절로 표시되는 특성 열과의 관계(적용되는 경우에만 필수)Relationship to an attribute column (mandatory only if it applies), indicated by the RELATED TO clause

    열 정의 목록에 대해 다음 구문을 사용하여 단일 열을 정의합니다.Use the following syntax for the column definition list to define a single column:

<column name>    <data type>    [<Distribution>]    [<Modeling Flags>]    <Content Type>    [<column relationship>]  

열 정의 목록에 대해 다음 구문을 사용하여 중첩 테이블 열을 정의합니다.Use the following syntax for the column definition list to define a nested table column:

<column name>    TABLE    ( <column definition list> )  

구조 열을 정의하는 데 사용할 수 있는 데이터 형식, 내용 유형, 열 배포 및 모델링 플래그의 목록은 다음 항목을 참조하십시오.For a list of the data types, content types, column distributions, and modeling flags that you can use to define a structure column, see the following topics:

열 관계Column Relationships

열 정의 문에 절을 추가하여 두 열 간의 관계를 설명할 수 있습니다.You can add a clause to any column definition statement to describe the relationship between two columns. Analysis ServicesAnalysis Services다음의 사용을 지원 <열 관계 > 절. supports the use of the following <column relationship> clause.

관련 된RELATED TO
값 계층 구조를 나타냅니다.Indicates a value hierarchy. RELATED TO 열의 대상은 중첩 테이블의 키 열, 사례 행의 불연속 값 열 또는 RELATED TO 절이 있는 다른 열(중첩된 열을 나타냄)일 수 있습니다.The target of a RELATED TO column can be a key column in a nested table, a discretely-valued column in the case row, or another column with a RELATED TO clause, which indicates a deeper hierarchy.

홀드아웃 매개 변수Holdout Parameters

홀드아웃 매개 변수를 지정할 때 구조 데이터의 파티션이 만들어집니다.When you specify holdout parameters, you create a partition of the structure data. 홀드아웃에 지정하는 크기는 테스트용으로 예약되며 남은 데이터는 학습에 사용됩니다.The amount that you specify for holdout is reserved for testing, and the remaining data is used for training. 기본적으로 SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT)를 사용하여 마이닝 구조를 만드는 경우 30%의 테스트 데이터와 70%의 학습 데이터를 포함하는 홀드아웃 파티션이 만들어집니다.By default, if you create a mining structure by using SQL Server Data Tools(SSDT)SQL Server Data Tools (SSDT), a holdout partition is created for you that contains 30 percent testing data and 70 percent training data. 자세한 내용은 Training and Testing Data Sets을 참조하세요.For more information, see Training and Testing Data Sets.

DMX(Data Mining Extensions)를 사용하여 마이닝 구조를 만드는 경우에는 홀드아웃 파티션이 만들어지도록 수동으로 지정해야 합니다.If you create a mining structure by using Data Mining Extensions (DMX), you must manually specify that a holdout partition be created.

참고

ALTER MINING STRUCTURE 문은 홀드 아웃을 지원 하지 않습니다.The ALTER MINING STRUCTURE statement does not support holdout.

홀드아웃 매개 변수는 최대 3개까지 지정할 수 있습니다.You can specify up to three holdout parameters. 최대 홀드아웃 사례 수와 홀드아웃 비율을 모두 지정하면 최대 사례 제한에 도달할 때까지 사례 비율이 예약됩니다.If you specify both a maximum number of holdout cases and a holdout percentage, a percentage of cases are reserved until the maximum cases limit is reached. 이어서를 정수로 홀드 아웃 비율을 지정는 % 키워드를 뒤를 정수로 사례의 최대 수를 지정 하 고는 경우 키워드.You specify the percentage of holdout as an integer followed by the PERCENT keyword, and specify the maximum number of cases as an integer followed by the CASES keyword. 다음 예에서 볼 수 있듯이 순서에 관계없이 조건을 결합할 수 있습니다.You can combine the conditions in any order, as shown in the following examples:

WITH HOLDOUT (20 PERCENT)   
WITH HOLDOUT (2000 CASES)   
WITH HOLDOUT (20 PERCENT OR 2000 CASES)   
WITH HOLDOUT (2000 CASES OR 20 PERCENT)  

홀드아웃 초기값은 학습 또는 테스트 데이터 집합에 무작위로 사례를 할당하는 프로세스의 시작 지점을 제어합니다.The holdout seed controls the starting point of the process that randomly assigns cases to either the training or testing data sets. 홀드아웃 초기값을 설정하면 파티션을 반복할 수 있게 됩니다.By setting a holdout seed, you can ensure that the partition can be repeated. 홀드아웃 초기값을 지정하지 않으면 Analysis ServicesAnalysis Services는 마이닝 구조의 이름을 사용하여 초기값을 만듭니다.If you do not specify a holdout seed, Analysis ServicesAnalysis Services uses the name of the mining structure to create a seed. 구조의 이름을 변경하면 초기값이 바뀝니다.If you rename the structure, the seed value will change. 홀드아웃 초기값 매개 변수는 다른 홀드아웃 매개 변수 중 하나 또는 모두와 함께 사용할 수 있습니다.The holdout seed parameter can be used with either or both of the other holdout parameters.

참고

파티션 정보를 학습 데이터와 함께 캐시 되므로 홀드 아웃을 사용 하 여 확인 해야 하는 CacheMode 마이닝 구조의 속성 KeepTrainingData합니다.Because the partition information is cached with the training data, to use holdout, you must ensure that the CacheMode property of the mining structure is set to KeepTrainingData. 이는 Analysis ServicesAnalysis Services에서 새 마이닝 구조에 대한 기본 설정입니다.This is the default setting in Analysis ServicesAnalysis Services for new mining structures. 변경 된 CacheMode 속성을 ClearTrainingCases 홀드 아웃을 포함 하는 기존 마이닝 구조에 파티션을 처리 된 모든 마이닝 모델 변하지 것입니다.Changing the CacheMode property to ClearTrainingCases on an existing mining structure that contains a holdout partition will not affect any mining models that have been processed. 그러나 경우 MiningStructureCacheMode 로 설정 되지 않은 KeepTrainingData, 홀드 아웃 매개 변수는 영향을 미치지 것입니다.However, if MiningStructureCacheMode is not set to KeepTrainingData, holdout parameters will have no effect. 이는 모든 원본 데이터가 학습에 사용되며 테스트 집합은 사용할 수 없음을 의미합니다.This means that all the source data will be used for training and no test set will be available. 파티션의 정의는 구조와 함께 캐시됩니다. 학습 사례의 캐시를 지우면 테스트 데이터의 캐시와 홀드아웃 집합의 정의도 함께 지워집니다.The definition of the partition is cached with the structure; if you clear the cache of training cases, you also clear the cache of test data, and the definition of the holdout set.

Examples

다음 예에서는 DMX를 사용하여 홀드아웃이 있는 마이닝 구조를 만드는 방법을 보여 줍니다.The following examples demonstrate how to create a mining structure with holdout by using DMX.

예 1: 학습 집합을 포함하지 않는 구조 추가Example 1: Adding a Structure with No Training Set

다음 예에서는 연결된 마이닝 모델을 만들지 않고 홀드아웃 사용 없이 New Mailing이라는 새 마이닝 구조를 만듭니다.The following example creates a new mining structure called New Mailing without creating any associated mining models, and without using holdout. 구조에 마이닝 모델을 추가 하는 방법을 알아보려면 참조 ALTER MINING STRUCTURE ( DMX )합니다.To learn how to add a mining model to the structure, see ALTER MINING STRUCTURE (DMX).

CREATE MINING STRUCTURE [New Mailing]  
(  
    CustomerKey LONG KEY,   
    Gender TEXT DISCRETE,  
    [Number Cars Owned] LONG DISCRETE,  
    [Bike Buyer] LONG DISCRETE   
)  

예 2: 홀드아웃 비율 및 초기값 지정Example 2: Specifying Holdout Percentage and Seed

다음 절은 열 정의 목록 이후에 추가되어 마이닝 구조와 관련된 모든 마이닝 모델을 테스트하는 데 사용할 수 있는 데이터 집합을 정의할 수 있습니다.The following clause can be added after the column definition list to define a data set that can be used for testing all mining models associated with the mining structure. 다음 문은 최대 사례 수에 제한 없이 전체 입력 사례의 25%에 해당하는 테스트 집합을 만듭니다.The statement will create a test set that is 25 percent of the total input cases, without a limit on the maximum number of cases. 파티션을 만드는 초기값으로 5000이 사용됩니다.5000 is used as the seed for creating the partition. 초기값을 지정하는 경우 기본 데이터가 변경되지 않으면 마이닝 구조를 처리할 때마다 테스트 집합에 대해 동일한 사례가 선택됩니다.When you specify a seed, the same cases will be chosen for the test set each time you process the mining structure, so long as the underlying data does not change.

CREATE MINING STRUCTURE [New Mailing]  
(  
    CustomerKey LONG KEY,   
    Gender TEXT DISCRETE,  
    [Number Cars Owned] LONG DISCRETE,  
    [Bike Buyer] LONG DISCRETE   
)   
WITH HOLDOUT(25 PERCENT) REPEATABLE(5000)  

예 3: 홀드아웃 비율 및 최대 사례 지정Example 3: Specifying Holdout Percentage and Max Cases

다음 절은 전체 입력 사례의 25%와 2000개의 사례 중 더 적은 쪽을 포함하는 테스트 집합을 만듭니다.The following clause will create a test set that contains either 25 percent of the total input cases, or 2000 cases, whichever is less. 초기값으로 0이 지정되므로 입력 사례의 샘플링을 시작하는 데 사용되는 초기값은 마이닝 구조의 이름을 사용하여 생성됩니다.Because 0 is specified as the seed, the name of the mining structure is used to create the seed that is used to begin sampling of the input cases.

CREATE MINING STRUCTURE [New Mailing]  
(  
    CustomerKey LONG KEY,   
    Gender TEXT DISCRETE,  
    [Number Cars Owned] LONG DISCRETE,  
    [Bike Buyer] LONG DISCRETE   
)   
WITH HOLDOUT(25 PERCENT OR 2000 CASES) REPEATABLE(0)  

관련 항목:See Also

Data Mining Extensions ( DMX ) 데이터 정의 문 Data Mining Extensions (DMX) Data Definition Statements
Data Mining Extensions ( DMX ) 데이터 조작 문 Data Mining Extensions (DMX) Data Manipulation Statements
Data Mining Extensions ( DMX ) 문 참조Data Mining Extensions (DMX) Statement Reference