Building models with SAS Enterprise Miner, SAS Factory Miner, SAS Visual Data Mining and Machine Learning or just with programming

PROC DMDB before PROC ASSOC

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 6
Accepted Solution

PROC DMDB before PROC ASSOC

proc dmdb batch data=sampsio.assocs out=dmassoc dmdbcat=catassoc; id customer; class product(desc); run;

proc assoc data=sampsio.assocs dmdbcat=catassoc out=datassoc(label='Output from Proc Assoc') items=5 support=20;cust customer; target product; run;

what is the purpose of the first line

why can't I just use proc assoc


Accepted Solutions
Solution
‎10-20-2017 12:03 PM
SAS Employee
Posts: 180

Re: PROC DMDB before PROC ASSOC

[ Edited ]
Posted in reply to karendean

There are two things to be aware of with the ASSOC procedure (and other non-HP SAS data mining procedures). 

    1 - The procedures are designed to work against data mining data bases, not SAS data sets

    2 - The procedures are designed to be used by SAS Enterprise Miner, not directly called in SAS code

 

The name of the DMDB procedure refers to the Data Mining Data Base that is produces.  Standard SAS procedures are optimized to run against SAS data sets which include the data plus some information about each variable (e.g. type of data -- character or numeric, formats, lengths, etc...).   In standard SAS procedures, you always need to specify how each variable is being used in each procedure.   SAS Enterprise Miner has a concept called metadata which tells you additional information about the variable.  For example, it has more information about each variable's data type (e.g. binary, nominal, ordinal, nominal, text, freq, etc...)  and each variable's role (ID, Input, Target, Segment, etc...).   A Data Mining Data Base is simply a SAS data set with an associated catalog which contains this additional information.  The benefit of the DMDB is that the software allows you to define how a variable should be used and then it carries that information through each node/proc so that you don't need to specify it each time.  You can also change the metadata which updates the DMDB between processes.   However, you cannot run a standard SAS data set into a non-HP data mining procedure running in SAS Enterprise Miner. 

 

Hope this helps!

Doug

View solution in original post


All Replies
Community Manager
Posts: 2,956

Re: PROC DMDB before PROC ASSOC

Posted in reply to karendean

I moved this discussion to the Data Mining community.  PROC DMDB creates a SAS catalog that has metadata about the characteristics of your data, which is required input for other data mining procedures.  One of our data mining experts might be able to provide more information.

Chris

Solution
‎10-20-2017 12:03 PM
SAS Employee
Posts: 180

Re: PROC DMDB before PROC ASSOC

[ Edited ]
Posted in reply to karendean

There are two things to be aware of with the ASSOC procedure (and other non-HP SAS data mining procedures). 

    1 - The procedures are designed to work against data mining data bases, not SAS data sets

    2 - The procedures are designed to be used by SAS Enterprise Miner, not directly called in SAS code

 

The name of the DMDB procedure refers to the Data Mining Data Base that is produces.  Standard SAS procedures are optimized to run against SAS data sets which include the data plus some information about each variable (e.g. type of data -- character or numeric, formats, lengths, etc...).   In standard SAS procedures, you always need to specify how each variable is being used in each procedure.   SAS Enterprise Miner has a concept called metadata which tells you additional information about the variable.  For example, it has more information about each variable's data type (e.g. binary, nominal, ordinal, nominal, text, freq, etc...)  and each variable's role (ID, Input, Target, Segment, etc...).   A Data Mining Data Base is simply a SAS data set with an associated catalog which contains this additional information.  The benefit of the DMDB is that the software allows you to define how a variable should be used and then it carries that information through each node/proc so that you don't need to specify it each time.  You can also change the metadata which updates the DMDB between processes.   However, you cannot run a standard SAS data set into a non-HP data mining procedure running in SAS Enterprise Miner. 

 

Hope this helps!

Doug

☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 846 views
  • 0 likes
  • 3 in conversation