Advertisement
Aaaaa988

Untitled

Dec 8th, 2020
1,030
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.58 KB | None | 0 0
  1. from keras.datasets import boston_housing
  2. from sklearn.preprocessing import StandardScaler
  3. from keras import models, layers
  4.  
  5. (X_train, y_train), (X_test, y_test) = boston_housing.load_data()
  6.  
  7. print(X_train[0], y_train[0])
  8.  
  9. scaler = StandardScaler()
  10. scaler.fit(X_train)
  11.  
  12. X_train_scaled = scaler.transform(X_train)
  13. X_test_scaled = scaler.transform(X_test)
  14.  
  15. print(X_train_scaled[0])
  16.  
  17. model = models.Sequential()
  18.  
  19. model.add(layers.Dense(15, activation='relu', input_shape=[X_train.shape[1]]))
  20. model.add(layers.Dropout(0.2, input_shape=(15,)))
  21. model.add(layers.Dense(30, activation='relu'))
  22. model.add(layers.Dropout(0.3, input_shape=(30,)))
  23. model.add(layers.Dense(1))
  24.  
  25. model.compile(
  26.     optimizer='adam',
  27.     loss='mse',
  28.     metrics=['mae']
  29. )
  30.  
  31. model.fit(
  32.     X_train_scaled,
  33.     y_train,
  34.     validation_split=0.2,
  35.     epochs=100
  36. )
  37.  
  38. model.evaluate(X_test_scaled, y_test)
  39.  
  40. to_predict = X_test_scaled[:2]
  41. predictions = model.predict(to_predict)
  42.  
  43. print("Предсказанная цена и фактическая")
  44. for i in range(2):
  45.     print('%.2f$ vs %.2f$' %(predictions[i]*1000, y_test[i]*1000))
  46.  
  47. import numpy as np
  48. imaginary_place = np.zeros((1,13))
  49.  
  50. #Поле----Значение--Настоящее--Легенда------------------------------------------
  51. CRIM    = 1.23247 # 1.23247 # уровень преступности на душу населения по городам
  52. ZN      = 0.0     # 0.0     # доля земли под жилую застройку
  53. INDUS   = 8.14    # 8.14    # доля акров, не относящихся к розничной торговле, на город
  54. CHAS    = 0.0     # 0.0     # Фиктивная переменная реки Чарльз (= 1, если участок ограничивает реку; 0 в противном случае
  55. NOX     = 0.538   # 0.538   # Концентрация оксидов азота NOX (частей на 10 миллионов)
  56. RM      = 6.142   # 6.142   # среднее количество комнат в доме
  57. AGE     = 91.7    # 91.7    # Доля домов, построенных до 1940 г., занимаемых владельцами
  58. DIS     = 3.9769  # 3.9769  # расстояния до пяти бостонских центров занятости
  59. RAD     = 4.0     # 4.0     # Индекс доступности радиальных автомобильных дорог
  60. TAX     = 50.0   # 307.0   # Полная ставка налога на имущество за 10 000 долларов США
  61. PTRATIO = 21.0    # 21.0    # Соотношение учеников и учителей
  62. B       = 396.9   # 396.9   # 1000(Bk - 0,63) ^ 2, где Bk - доля черных по городу (УПС БЛМ осуждает)
  63. LSTAT   = 18.72   # 18.72   # более низкий статус населения (не понимаю..)
  64. #-------------------------------------------------------------------------------
  65. MEDV    = "?" # Средняя стоимость дома в этом районе
  66.  
  67. #imaginary_place[0] = [1.23247, 0.0, 8.14, 0.0, 0.538, 6.142, 91.7, 3.9769, 4.0, 307.0, 21.0, 396.9, 18.72]
  68.  
  69. imaginary_place[0] = [CRIM, ZN , INDUS, CHAS, NOX, RM, AGE, DIS, RAD, TAX, PTRATIO, B, LSTAT]
  70.  
  71. print(imaginary_place)
  72.  
  73. scaler2 = StandardScaler()
  74. scaler2.fit(imaginary_place)
  75. imaginary_place_scaled = scaler.transform(imaginary_place)
  76.  
  77. print(imaginary_place_scaled)
  78.  
  79. imaginary_place_predictions = model.predict(imaginary_place_scaled)
  80. print('Дом в таком районе мог бы стоить = %.2f$' % (imaginary_place_predictions*1000))
  81.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement