{"cells":[{"metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true},"cell_type":"code","source":"import numpy as np \nimport pandas as pd\nimport lightgbm as lgb\nfrom sklearn.ensemble import RandomForestClassifier\nfrom sklearn import preprocessing\nimport gc\nimport xgboost as xgb\nfrom sklearn.model_selection import train_test_split\nfrom sklearn.metrics import accuracy_score,auc","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"5190c7dc8677cb2eb94e481cbfd14bd83403d716"},"cell_type":"code","source":"dtypes = {\n        'MachineIdentifier':                                    'category',\n        'ProductName':                                          'category',\n        'EngineVersion':                                        'category',\n        'AppVersion':                                           'category',\n        'AvSigVersion':                                         'category',\n        'IsBeta':                                               'int8',\n        'RtpStateBitfield':                                     'float16',\n        'IsSxsPassiveMode':                                     'int8',\n        'DefaultBrowsersIdentifier':                            'float16',\n        'AVProductStatesIdentifier':                            'float32',\n        'AVProductsInstalled':                                  'float16',\n        'AVProductsEnabled':                                    'float16',\n        'HasTpm':                                               'int8',\n        'CountryIdentifier':                                    'int16',\n        'CityIdentifier':                                       'float32',\n        'OrganizationIdentifier':                               'float16',\n        'GeoNameIdentifier':                                    'float16',\n        'LocaleEnglishNameIdentifier':                          'int8',\n        'Platform':                                             'category',\n        'Processor':                                            'category',\n        'OsVer':                                                'category',\n        'OsBuild':                                              'int16',\n        'OsSuite':                                              'int16',\n        'OsPlatformSubRelease':                                 'category',\n        'OsBuildLab':                                           'category',\n        'SkuEdition':                                           'category',\n        'IsProtected':                                          'float16',\n        'AutoSampleOptIn':                                      'int8',\n        'PuaMode':                                              'category',\n        'SMode':                                                'float16',\n        'IeVerIdentifier':                                      'float16',\n        'SmartScreen':                                          'category',\n        'Firewall':                                             'float16',\n        'UacLuaenable':                                         'float32',\n        'Census_MDC2FormFactor':                                'category',\n        'Census_DeviceFamily':                                  'category',\n        'Census_OEMNameIdentifier':                             'float16',\n        'Census_OEMModelIdentifier':                            'float32',\n        'Census_ProcessorCoreCount':                            'float16',\n        'Census_ProcessorManufacturerIdentifier':               'float16',\n        'Census_ProcessorModelIdentifier':                      'float16',\n        'Census_ProcessorClass':                                'category',\n        'Census_PrimaryDiskTotalCapacity':                      'float32',\n        'Census_PrimaryDiskTypeName':                           'category',\n        'Census_SystemVolumeTotalCapacity':                     'float32',\n        'Census_HasOpticalDiskDrive':                           'int8',\n        'Census_TotalPhysicalRAM':                              'float32',\n        'Census_ChassisTypeName':                               'category',\n        'Census_InternalPrimaryDiagonalDisplaySizeInInches':    'float16',\n        'Census_InternalPrimaryDisplayResolutionHorizontal':    'float16',\n        'Census_InternalPrimaryDisplayResolutionVertical':      'float16',\n        'Census_PowerPlatformRoleName':                         'category',\n        'Census_InternalBatteryType':                           'category',\n        'Census_InternalBatteryNumberOfCharges':                'float32',\n        'Census_OSVersion':                                     'category',\n        'Census_OSArchitecture':                                'category',\n        'Census_OSBranch':                                      'category',\n        'Census_OSBuildNumber':                                 'int16',\n        'Census_OSBuildRevision':                               'int32',\n        'Census_OSEdition':                                     'category',\n        'Census_OSSkuName':                                     'category',\n        'Census_OSInstallTypeName':                             'category',\n        'Census_OSInstallLanguageIdentifier':                   'float16',\n        'Census_OSUILocaleIdentifier':                          'int16',\n        'Census_OSWUAutoUpdateOptionsName':                     'category',\n        'Census_IsPortableOperatingSystem':                     'int8',\n        'Census_GenuineStateName':                              'category',\n        'Census_ActivationChannel':                             'category',\n        'Census_IsFlightingInternal':                           'float16',\n        'Census_IsFlightsDisabled':                             'float16',\n        'Census_FlightRing':                                    'category',\n        'Census_ThresholdOptIn':                                'float16',\n        'Census_FirmwareManufacturerIdentifier':                'float16',\n        'Census_FirmwareVersionIdentifier':                     'float32',\n        'Census_IsSecureBootEnabled':                           'int8',\n        'Census_IsWIMBootEnabled':                              'float16',\n        'Census_IsVirtualDevice':                               'float16',\n        'Census_IsTouchEnabled':                                'int8',\n        'Census_IsPenCapable':                                  'int8',\n        'Census_IsAlwaysOnAlwaysConnectedCapable':              'float16',\n        'Wdft_IsGamer':                                         'float16',\n        'Wdft_RegionIdentifier':                                'float16',\n        'HasDetections':                                        'int8'\n        }","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"b35c9eee9a6afbca7c40052d58883b4add079979"},"cell_type":"code","source":"train_data = pd.read_csv('../input/train.csv',dtype = dtypes,usecols = [\"HasDetections\",\"SmartScreen\",\"AVProductStatesIdentifier\",\"CountryIdentifier\",\"AVProductsInstalled\",\"Census_OSVersion\",\"EngineVersion\",\"AppVersion\"])","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"b86722805c43bc762b64206afc2ae146dc7406b3"},"cell_type":"code","source":"gc.collect()\n#del train_data","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"74f834953f820110ec1115584c8ac296f4743695"},"cell_type":"code","source":"train_data.info()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"37d970ed23e70b3b2ab6be59d1843fe02343a480"},"cell_type":"code","source":"features = ['EngineVersion','AppVersion','AVProductStatesIdentifier','AVProductsInstalled','CountryIdentifier','SmartScreen','Census_OSVersion']\ncate = ['EngineVersion','AppVersion','SmartScreen','Census_OSVersion']\nlabel = ['HasDetections']","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"cc753b17f808f79631a09e830232663b7406e5ef"},"cell_type":"code","source":"\ntrain_data.dropna(inplace = True)\ny_train = train_data[\"HasDetections\"]\ntrain_data.drop([\"HasDetections\"],axis = 1,inplace = True)\n\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"c467881241ef30360c8c5c9c12f89dbd13e36dd9"},"cell_type":"code","source":"X_train,X_test,y_train,y_test = train_test_split(train_data,y_train)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"a56a70d979b313ba4f5d4f861c94cf92dc86b672"},"cell_type":"code","source":"lgb_train_data = lgb.Dataset(X_train, label=y_train, feature_name=features, categorical_feature=cate,free_raw_data=False)\nlgb_test_data = lgb.Dataset(X_test, label = y_test,feature_name = features, categorical_feature=cate,free_raw_data=False)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"4c69765a98159d86a8a073189c27ee16b32fd4ae"},"cell_type":"code","source":"params = param = {'num_leaves': 60,\n         'min_data_in_leaf': 60, \n         'objective':'binary',\n         'max_depth': -1,\n         'learning_rate': 0.1,\n         \"boosting\": \"gbdt\",\n         \"feature_fraction\": 0.8,\n         \"bagging_freq\": 1,\n         \"bagging_fraction\": 0.8 ,\n         \"bagging_seed\": 11,\n         \"metric\": 'auc',\n         \"lambda_l1\": 0.1,\n         \"random_state\": 133,\n         \"verbosity\": -1}\n\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"d1cf102139cf7adf3119ca050611f3e3ea4069fd"},"cell_type":"code","source":"num_round = 100\nbst = lgb.train(params, lgb_train_data, num_round,valid_sets = [lgb_test_data],early_stopping_rounds=10)\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"2043d40db5422aa539d616ccca2f9c2eab3d7e4f"},"cell_type":"code","source":"y_pred = bst.predict(X_test)\nprint(accuracy_score(y_pred.round(),y_test))\n#print(auc(y_pred,y_test))","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"7d573c3d5d8e43c90d281f081a911eecfb6728f8"},"cell_type":"markdown","source":"num_round = 10\nlgb.cv(params, lgb_train_data, num_round, nfold=5)"},{"metadata":{"trusted":true,"_uuid":"483806942dc7c1a4b0a1e5b62d94628196b8521b"},"cell_type":"code","source":"gc.collect()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"819ab5ca5712d2ca67a99ab0b06ffb5f14403c7f"},"cell_type":"code","source":"del train_data,y_train\ngc.collect() \ntest_data = pd.read_csv('../input/test.csv',dtype = dtypes,usecols = [\"MachineIdentifier\",\"SmartScreen\",\"AVProductStatesIdentifier\",\"CountryIdentifier\",\"AVProductsInstalled\",\"Census_OSVersion\",\"EngineVersion\",\"AppVersion\"])","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"08c11410c20d347be07d6d3cd9a61ba588fc1267"},"cell_type":"code","source":"\ntest_data.fillna(test_data.loc[1][1:],inplace = True,axis = 0)\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"d8448ddd3eea98767618cec7e10439f3e25031e1"},"cell_type":"code","source":"\nX_test = test_data[features]\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"cd8b0c2ac99490a4396435abf3c45856b445acc8"},"cell_type":"code","source":"y_pred = bst.predict(X_test)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"2926a7826cb54e71e4b026b7becda09b1788e741","collapsed":true},"cell_type":"code","source":"X_test.head()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"069773e063823f2280fe60d6934e83ceca4771b5"},"cell_type":"code","source":"sub = pd.DataFrame({\"MachineIdentifier\":test_data.MachineIdentifier})","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"faf082079212a3dd78b943fbc70275e050cb1493"},"cell_type":"code","source":"sub[\"HasDetections\"] = y_pred","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"scrolled":false,"_uuid":"a6f0d14e64a464256d887943e1327b3ade302575"},"cell_type":"code","source":"sub.to_csv('sub.csv',index = False)","execution_count":null,"outputs":[]}],"metadata":{"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"name":"python","version":"3.6.6","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"}},"nbformat":4,"nbformat_minor":1}