1
2
3
4
5
6
import torch
import os
import pandas as pd
data_file = os.path.join('.', 'data', 'abalone.csv')
data = pd.read_csv(data_file)
print(data)
      M  0.455  0.365  0.095   0.514  0.2245   0.101    0.15  15
0     M  0.350  0.265  0.090  0.2255  0.0995  0.0485  0.0700   7
1     F  0.530  0.420  0.135  0.6770  0.2565  0.1415  0.2100   9
2     M  0.440  0.365  0.125  0.5160  0.2155  0.1140  0.1550  10
3     I  0.330  0.255  0.080  0.2050  0.0895  0.0395  0.0550   7
4     I  0.425  0.300  0.095  0.3515  0.1410  0.0775  0.1200   8
...  ..    ...    ...    ...     ...     ...     ...     ...  ..
4171  F  0.565  0.450  0.165  0.8870  0.3700  0.2390  0.2490  11
4172  M  0.590  0.440  0.135  0.9660  0.4390  0.2145  0.2605  10
4173  M  0.600  0.475  0.205  1.1760  0.5255  0.2875  0.3080   9
4174  F  0.625  0.485  0.150  1.0945  0.5310  0.2610  0.2960  10
4175  M  0.710  0.555  0.195  1.9485  0.9455  0.3765  0.4950  12

[4176 rows x 9 columns]
1
2
3
inputs, targets = data.iloc[:, 0:8], data.iloc[:, 8]
inputs = pd.get_dummies(inputs, dummy_na=True)
print(inputs)
      0.455  0.365  0.095   0.514  0.2245   0.101    0.15    M_F    M_I  \
0     0.350  0.265  0.090  0.2255  0.0995  0.0485  0.0700  False  False   
1     0.530  0.420  0.135  0.6770  0.2565  0.1415  0.2100   True  False   
2     0.440  0.365  0.125  0.5160  0.2155  0.1140  0.1550  False  False   
3     0.330  0.255  0.080  0.2050  0.0895  0.0395  0.0550  False   True   
4     0.425  0.300  0.095  0.3515  0.1410  0.0775  0.1200  False   True   
...     ...    ...    ...     ...     ...     ...     ...    ...    ...   
4171  0.565  0.450  0.165  0.8870  0.3700  0.2390  0.2490   True  False   
4172  0.590  0.440  0.135  0.9660  0.4390  0.2145  0.2605  False  False   
4173  0.600  0.475  0.205  1.1760  0.5255  0.2875  0.3080  False  False   
4174  0.625  0.485  0.150  1.0945  0.5310  0.2610  0.2960   True  False   
4175  0.710  0.555  0.195  1.9485  0.9455  0.3765  0.4950  False  False   

        M_M  M_nan  
0      True  False  
1     False  False  
2      True  False  
3     False  False  
4     False  False  
...     ...    ...  
4171  False  False  
4172   True  False  
4173   True  False  
4174  False  False  
4175   True  False  

[4176 rows x 11 columns]
1
2
3
4
inputs = inputs.astype('float64')
targets = targets.astype('float64')
X, Y = torch.tensor(inputs.values), torch.tensor(targets.values)
X, Y
(tensor([[0.3500, 0.2650, 0.0900,  ..., 0.0000, 1.0000, 0.0000],
         [0.5300, 0.4200, 0.1350,  ..., 0.0000, 0.0000, 0.0000],
         [0.4400, 0.3650, 0.1250,  ..., 0.0000, 1.0000, 0.0000],
         ...,
         [0.6000, 0.4750, 0.2050,  ..., 0.0000, 1.0000, 0.0000],
         [0.6250, 0.4850, 0.1500,  ..., 0.0000, 0.0000, 0.0000],
         [0.7100, 0.5550, 0.1950,  ..., 0.0000, 1.0000, 0.0000]],
        dtype=torch.float64),
 tensor([ 7.,  9., 10.,  ...,  9., 10., 12.], dtype=torch.float64))
1
2
3
4
5
6
7
8
9
10
count = 0
for i in inputs.iloc[:, -1]:
if i == 1.0:
count += 1;
else:
pass
if count != 0:
print("There are NaNs")
else:
print("There aren't missing values")
There aren't missing values