Why normalize data before training it in Azure ML?

I've been experimenting with normalizing data before training a model, and I don't get it. I understand that training the model theoretically should work better when the data is first normalized, especially when using geometric algorithms like SVM.
But when I try to do this in Azure ML. I don't see any improvements. In fact, the results get worse half of the time.
For example, I tried creating a two-class prediction model using the German Credit Card UCI data set. According to this article, it's best to normalize the data using the tanh method:
http://azure.microsoft.com/en-us/documentation/articles/machine-learning-sample-credit-risk-prediction/
This is what I get when I try predicting column 21 in the data set:
No normalization --> UAC = 0.740
Normalize using Z-score --> UAC = 0.740
Normalize using MinMax --> UAC = 0.740
Normalize using Logistic --> UAC = 0.670
Normalize using LogNormal --> UAC = 0.733
Normalize using tanh --> UAC = 0.696
As you see, using the suggested tanh normalization results in almost the worst performance, and doing no normalization at all yields the best results.
Any suggestions what might be going on?

Hi Andreas,
Feature normalization/scaling indeed helps a lot with gradient descent convergence. However, it shouldn't be seen as a perf-optimization technique only. It is an important data pre-processing step for algorithms which optimize a distance function. In
those cases the data should be normalized so that features contribute proportionally to the distance computation. Classifiers like the Bayes Point Machine don't work this way and hence don't need feature normalization, but SVMs certainly do.
Here is a decent read on the topic (reviewed by Schölkopf himself).
-Y-

Similar Messages

  • Why does old sale order (The deliver date before current date) show VSF (independent requirement) in MD04?

    Dear All,
    I face one issue, the old sales order (the delivery date before current date) has became VSF (independent requirement) in MD04, could someone let me know why and how to fix it?
    Take 01.09.2014 as example, we have one 50PC's sales order with delivery date as 25.08.2014, in MD04, the system will show two independent requirements, one is 50PC's customer order and another is 50PC's VSF.
    We are looking forward to your kind help and answer, thanks in advance!
    Best Regards,
    Gavin

    Hi Gavin
    If I understood the issue correctly, system is showing both the sales order and the PIR on the same date, right?
    If this is the case, it's probably a PIR consumption issue. Take a look on the following note, especially question 10:
    772856
    FAQ: Consumption of planned independent requirements
    BR
    Caetano

  • How does waveform graph downsamples the data before it is plotted

    Hi,
    I'm interested in how does waveform graph downsamples the data before it is plotted and what algorithm is used for this purpose? My goal is to plot 30 plots that have 1M samples each and I would like to downsample them before plotting onto a graph. I tried several VIs/algorithms for resampling and none of them gave the same result as seen by waveform graph (when all the samples are plotted).
    For example, if only one sample of 1M samples is 1 and all others are 0, then after downsampling to 1k samples the sample is not visible on the graph anymore. However, if I plot all 1M samples directly onto the graph, then also this 1 sample is visible (see attached example). 
    Solved!
    Go to Solution.
    Attachments:
    WFGDownsampling.vi ‏19 KB

    Hi andrej,
    LabVIEW draws plots in the way that draw every pixel affected by signal. So for example if there is zero-valued 1M samples and even one equals to 1, you will see the peak. That is the reason why you do not get the exactly same behavior comparing to interpolating. But if you set FIR as interpolation mode in Resample Waveforms (single shot).vi, result is really similar, but of course amplitude is 1000-times smaller than original one (because there is dt set to 1000). Keep also in mind that in Graph 2, there is different Y-scale and it should be considered as noise, not relevant data, I would expect 1000-times smaller amplitude as in Graph 3, it is many more times smaller.
    I would also like to say something about downsampling (decimating) the data. If you have 1M samples, you can see the peak even that there is only one value. But bigger problem is that with this graph resolution (I guess that is not more than 1000px), it is problem to find position of this peak. It means that still the zoom is needed to know where the peak is. Usually, when there is that big set of data, you are extracting different data (statistical information, peaks in FFT, etc.) not just visual data in graph.
    Mariaaa:
    I do not understand your question, can you please describe more your needs? You mentioned saving the data into a file, you can use Write to Measurement File express VI or see Write to Text File.vi in Example Finder and try to appropriately modify it.
    Best regards,
    Martin

  • MI7.1 Delete the inserted data before sync for the upload only data object

    Hi,
    I have a upload only data which have insert bapi wrapper only. I am able to save the data and insert data but my problem is how to delete the data before it syncr. Is this possible?? Or must i create a delete bapi wrapper??
    Thanks.

    Hi,
    Thanks for you reply. I manage to delete the inserted data refer to the employee_ui sample application but the data still appear at the backend after sync. Any idea why this happen??
    Using the following code i am able to delete the record at the devices. But when it sync the data still get insert to database table.
              ZmovementZmovementheader header = (ZmovementZmovementheader) wdContext.nodeasset_services().nodegetZmovementHeaders().nodegetZmovementHeadersOutput().getCurrentElement().model();                    
              ZmovementZmovementdetail detail = (ZmovementZmovementdetail) wdContext.nodeasset_services().nodegetZmovementDetail().nodegetZmovementDetailOutput().getCurrentElement().model();
              header.removeFromZmovementdetails(detail);
              root.commit();
    thanks
    Edited by: fcgan on Aug 28, 2008 10:17 AM

  • Why select data from Function directly (SE37) got data , but when use funct

    why select data from Function directly (SE37) got data , but when use function in program donot found data
    i use function
    CS_BOM_EXPL_MAT_V2
    when i run function directly at SE37 .
    i found data.
    but when i use same function in program .
    system not found.
    please see my attachment.
    help me please.
    [http://www.quickfilepost.com/download.do?get=c974356a498b3a4d369aa0c50622e50b]
    http://www.quickfilepost.com/download.do?get=c974356a498b3a4d369aa0c50622e50b

    I know why U get empty data.
    In Program U should follow the rules:
    U'd better data a variant typed the function parameters's type.
    for example:
    in your program the parameter: stlal  = '1'
    U'd better like follow:
    Data l_stlal type STKO-STLAL
    l_stlal = '01'.  *Attention: '1' <> '01'.
    stlal  = l_stlal.
    in this way U may have less mistake
    and the parameter MTNRV
    U should use material convernt : "CONVERSION_EXIT_MATN1_INPUT" to change material into internal types before U put into function's parameter.
    why se37 has no problem? because In se37, the data you filled was be processed before use

  • Why Transaction Date Line Earlier Created than Creation Date and Make Wrong Sequence?

    Hi Guys,
    In material transaction record, we have two different item and transaction : First is Move Order Issue and then WIP Completion.
    Both of them have same problem. The problem is in the transaction_date and creation_date. If we see the transaction_date is earlier created than creation_date
    The query data from material transaction order by descending :
    SEGMENT1
    TRANSACTION_QUANTITY
    TRANSACTION_TYPE_NAME
    TRANSACTION_DATE
    CREATION_DATE
    PCG-001-0047
    150
    PO Receipt
    6/10/2014 16:54
    6/10/2014 16:57
    PCG-001-0047
    -30
    Move Order Issue
    6/10/2014 16:26
    6/10/2014 17:00
    SEGMENT1
    TRANSACTION_QUANTITY
    TRANSACTION_TYPE_NAME
    TRANSACTION_DATE
    CREATION_DATE
    BM-200-1
    774.48
    WIP Completion
    27-FEB-2014 23:07:47
    27-FEB-2014 23:08:38
    BM-200-1
    -165.77
    WIP Issue
    27-FEB-2014 23:01:58
    27-FEB-2014 23:09:21
    BM-200-1
    -213.21
    WIP Issue
    27-FEB-2014 14:11:44
    27-FEB-2014 14:12:50
    BM-200-1
    -770.04
    WIP Issue
    27-FEB-2014 06:01:50
    27-FEB-2014 06:06:46
    BM-200-1
    -332.19
    WIP Issue
    27-FEB-2014 05:51:11
    27-FEB-2014 05:51:37
    BM-200-1
    990.86
    WIP Completion
    27-FEB-2014 01:16:54
    27-FEB-2014 01:17:44
    This problem have made each transaction in wrong sequence. The PO Receipt must be created before Move Order Issue and The WIP Completion must be created before WIP Issue.
    And also this wrong place record take effect to costing.
    How can be happened? And any solution to solve and prevent this problem?
    Thank for your attention. Please Reply.
    Regards,
    Contrasena Luz

    HI luz..
    In your case number 1, its look like hapened due to date in form transact move order not automaticaly update.
    but i dont know. why transaction date in form transact move order not automaticaly update if we dont open close that form.
    anyone explain this?
    maybe little tips, you must inform your user to be close that form after he / she doing allocate / transact move order.
    or you can personalize that form.
    hope this help.
    regards,
    the pooh

  • Why my Data was used when I was connected to my home internet.

    I used the rest of my monthly data while I was connected to my houses internet connection. It does not reset until the 22. Why was my data being used while I was connected to MY OWN INTERNET!

    Hello, my phone is a Motorola Droid Maxx Red 16gb, my plan is $60 a month
    with unlimited talk/text 1 GB data. I found that I used my plan data when I
    got an alert for hitting my limit that I set for my self at 900 mb. I keep
    100 mb in emergency reserve. Yesterday at my house I was viewing YouTube
    for a bit and then I was alerted I was out of usable data. I rarely use
    YouTube outside of my house because it eats my data. I had used less than
    400 mb of my data before yesterday and YouTube alone used around 540 mb. I
    know I was connected to my home internet because my phone notifies when I
    am connected or disconnected from my home connection. That's all the info
    on the situation that has become of me. Hope this helps P.Baker
    On Jan 8, 2015 8:33 AM, "Verizon Wireless Customer Support" <

  • After I install itunes my windows 7 - 64 bit machine will not boot and I have to use Restore  to boot with a date before I installed itunes

    After I install itunes on my windows 7 - 64 bit machine it will not reboot and I need to restore to a date before itunes was install.  How do I fix this?

    I'm having a very similar issue, paired with iTunes not being able to get online.
    iTunes shows up in processes and then hangs at 17,000 K or so -- sometimes it will start up, but that (if it occurs) is a delay of literal hours.
    Pretty meticulously went through all the 'cannot connect' trouble shooting, and have uninstalled, restarted, and then reinstalled every piece of apple software; issue is just as firm. Starting in safe mode or admin mode don't fix it; signing in as a different user doesn't fix it.    

  • How to verify that the user has changed table row data before db update

    Hi all,
    Iam using Oracle ADF with EJBs.
    I have a single selection table that displays rows of data returned from a function of my data control.
    The columns of my table are editable so that the user can change the data. The user selects a row, changes the data in one or more columns of the row and saves the data by means of a submit button. The code in the submit button, identifies the row of the corresponding iterator that the user clicked on and updates the data in the database (using the 'mergeEntity' function of the EntityManager)
    Before saving the data, I want to put some logic to check whether the user has actually changed some data to avoid unnecessary updates in the database . But for this I need a technique to detect that the user has indeed changed some data in the table row.
    One technique I have been using so far was to isolate the iterator row of the table and then query the corresponding row in the database table and compare their values.
    Except from dummy, this technique is not efficient if the table contains many rows.
    Moreover, in my case I have observed that on successive updates on the same row , the query on the database returns the new values (user changed values) and not the actual values contained in the database table. This means that when the user updates an iterator row the cached data affect also the results of the SELECT statement from the actual database table!!! Isn't this strange ?
    Can somebody propose me a neat method to detect when the user has changed the the data of an iterator row ?

    Hey Alan,
    The below solution seems overly complicated to me and can not be implemented without a custom screen and/or the use of JavaScript. Also, if your main concern is that a user may accidentally loose all their data because they closed the browser window or the session times out before they hit the save button then this solution does not help you.
    There are a couple of simpler approaches you can take here:
    # If the use of JavaScript is permissible you can hook into the windows 'onUnload' event, and pop-up a message box which gives the user the opportunity to cancel closing the window and save their case if they haven't already.
    # Implement an autosave feature by hooking into one of events provided by web determinations. A simple (but rather naive) way of doing this would be to hook into the OnRenderScreenEvent and call save on the interview session every time the event fires. This guarantees that all the data the user has submitted will aways automatically be saved, thereby removing the need to make sure the user manually saves their data before closing the browser.
    Automatically making Web Determinations close a browser window has to be done using JavaScript. However, doing so means that a) it won't work for people who turn off JavaScript, which is commonly done for accessibility reasons b) you'll likely run afoul of the browser's security mechanism (they generally won't let you close a window that you didn't open and some really don't like you doing that at all).
    Thanks,
    Kristy

  • TS3579 I found this useful because I did not know about the effect of typing in data and that you could only drag to rearrange the data.  I had typed in data before and this had caused problems but restoring defaults did not cause correct dates to show up

    I found this  (TS3579: If the wrong date or time is displayed in some apps on your Mac Learn about If the wrong date or time is displayed in some apps on your Mac) useful because I did not know about the effect of typing in data and that you could only drag to rearrange the data.  I had typed in data before and this had caused problems but restoring defaults did not cause correct dates to show up in Finder. 

    It sounds like there are a couple things going on here.  First check if you have a successful install of SQL Server, then we'll figure out the connection issues.
    Can you launch SQL Server Configuration Manager and check for SQL Server (MSSQLSERVER) if default instance or SQL Server (other name) if you've configured your instance as a named instance.  Once you find this, make sure the service is started. 
    If not started, try to start it and see if it throws an error.  If you get an error, post the error message your hitting.  If the service starts, you can then launch SSMS and try to connect.  If you have a default instance, you can use the machine
    name in the connection dialog.  Ex:  "COWBOYS" where Cowboys is the machine name.  However, if you named the SQL Server instance during install, you'll need to connect using the machine\instance format.  Ex:  COWBOYS\Romo (where Romo
    is the instance name you set during install).
    You can also look at the summary.txt file in the SQL Server setup error logs to see what happened on the most recent install.  Past install history is archived in the log folder if you need to dig those up to help troubleshoot, but the most
    recent one may help get to the bottom of it if there is an issue with setup detecting a prior instance that needs to be repaired.
    Thanks,
    Sam Lester (MSFT)
    http://blogs.msdn.com/b/samlester
    This posting is provided "AS IS" with no warranties, and confers no rights. Please remember to click
    "Mark as Answer" and
    "Vote as Helpful" on posts that help you. This can be beneficial to other community members reading the thread.

  • Put Date Before Header Line in Receiver FCC

    Hi,
    I have to create a csv file with format :
    Date : dd/mm/yyyy to dd/mm/yyyy
    PRODUCT_CODE,NAME,ADDRESS
    123,ABC,xyz
    123,ABC,xyz
    123,ABC,xyz
    123,ABC,xyz
    123,ABC,xyz
    How should i achieve putting the date before header line?
    What should be my target structure format?
    What parameters to enter in receiver FCC?

    Hi,
    have you tried..
    Have you tried:
    (http://help.sap.com/saphelp_nw04/helpdata/en/e3/94007075cae04f930cc4c034e411e1/frameset.htm)
    ● NameA.enclosureSign
    Specify a string that acts as a text delimiter.
    Text enclosed by such delimiters is transferred to the target structure unchanged, although the default setting is to remove all text delimiters. Separators within such texts are ignored.
    This parameter is optional. The default setting is an empty value (no text delimiter).
    ● NameA.enclosureSignEnd
    If the text delimiters for the beginning and end of the text are different, specify the text delimiter for the end of the text here.
    If you do not make an entry here, the entry from NameA.enclosureSign is used.
    ● NameA.enclosureSignEscape
    Specify a string that replaces the text delimiter if it occurs within a text that it delimits.
    When the text is transferred the string is replaced by the value specified in NameA.enclosureSign .
    ● NameA.enclosureSignEndEscape
    Specify a string that replaces the text delimiter for the end of the text if it occurs within a text that it delimits.
    When the text is transferred the string is replaced by the value specified in NameA.enclosureSignEnd.
    ● NameA.enclosureConversion
    To remove the delimiter upon transfer, or to replace it with escape characters, enter YES. This is the default value.
    To transfer the characters unchanged enter NO.
    Note
    If you specify xml.enclosureSign=“ and xml.enclosureSignEsc=““, text enclosed in quotation marks is transferred unchanged and the quotation marks are removed.
    If the escape character for a quotation mark (““) occurs in the text itself, it is replaced by the quotation mark during the transfer.
    Thanks,
    Vijaya.

  • Date Validation - End date before Start date

    This may be a very simple validation but I seem to be having trouble. I've got a form which requires a date range to be selected (Date Picker fields)...a Start date, and an End date.
    I've created a Function Returning Boolean validation with the code as:
    begin
    if :P1_END_DATE < :P1_START_DATE then
    return false;
    else
    return true;
    end if;
    end;This works 99%, except when the date range spans years.
    For example, when I select '21-Dec-2010' in the start date and '4-Jan-2011' in the end date. The validation fails, and thinks the end date is before the start date.
    Do I need to compare the year part of the date, before doing the rest? Or is the '<' not suited for this sort of check?
    Edited by: djston on Dec 20, 2010 12:13 PM

    Sorry, false alarm, it looks like I had my logic a little backwards :)

  • Date before 30 days

    Hi,
    I have CURRENT DAY variable and i want to create one more variable which gives the Date before 30 days.
    Is there any STD variable which gives the date before 30 days .Please tell me.
    I have created one variable with Customer exit processing type and i need to develop code for this. Can anybody provide code how we will get date(dd/mm/yyyy) before 30 days .I have created variable with name "Z_CVAR". Please help me on this.

    use 0date variable to get the system date ... which is the SAP standard variable which pics the sy-datum.
    Next restrict the KF with the 0date and right click on the 0date and click on offset and set the off set for the varaible as -30.
    which gives the value -30 days.
    If not as suggested in the earlier post -- create a z variable with replacement path -customer exit -- write the code ... in the code itself write the logic to get the -30 days
    IF i_step = 2.
    CASE i_vnam.
    WHEN 'ZCURDAY-30'.
    CLEAR: l_s_range.
    l_s_range-low = sy-datum -30.
    l_s_range-sign = 'I'.
    l_s_range-opt = 'EQ'.
    APPEND l_s_range TO e_t_range.
    ENDCASE.
    ENDIF.
    regards
    KP

  • Removing "photo taken" date before printing

    I am using Photoshop Album Starter Edition 3.0, and forgot to turn off the "date taken" feature on my camera. Is there a way to remove or delete this date before I print the picture? Thanks!

    Sorry, removing that corruption of the image cannot be done automatically. Careful retouching [using Photoshop Elements, for example] can get rid of it on some images. Best tjing is to turn off the stupid facility and learn from the experience.

  • After upgrading to OS Mavericks, I realized that the Partition for Windows is gone. I have really important data on this drive without a back up. Is there any way I can get this data before reformatting. Is there any third party software for receiving the

    After upgrading to OS Mavericks, I realized that the Partition for Windows is gone. I have really important data on this drive without a back up. Is there any way I can get this data before reformatting. Is there any third party software for receiving the data or any possible way? Money is not a limitation to this fix. Please help!!!

    sure pretty simple.  make a backup of your current settings
    http://support.apple.com/kb/HT1766?viewlocale=en_US
    then restore device from old backup you need pics off of
    then import pics to computer
    http://support.apple.com/kb/HT4083
    you may need to save pics to camera roll first
    then restore the new backup and sync pics back to phone via itunes
    Peace, Clyde

Maybe you are looking for