PREDICCIÓN DE PRECIOS DE RESINAS DE ÚLTIMA GENERACIÓN EN ODONTOLOGÍA

                                      

                                         DIPLOMADO EN EN INTELIGENCIA ARTIFICIAL

                                                                   MODULO IV

              APRENDIZAJE AUTOMATICO CON PYTHON Y ASISTENTES INTELIGENTES

                         Ortega Irusta Elsy Nilda

                         Este es el enlace con Chat GPT:

                         https://chat.openai.com/c/7f77454e-ff0e-40d3-95b4-2e72fed2c55c

PREDICCIÓN DE PRECIOS DE RESINAS DE ÚLTIMA GENERACIÓN EN ODONTOLOGÍA 

Aplicaremos los componentes del pensamiento computacional al desarrollar un ejemplo práctico de regresión lineal con Python. Los componentes del pensamiento computacional incluyen descomposición del problema, reconocimiento de patrones, abstracción y algoritmos.

1. Descomposición del problema:

   - Identificación del Problema: Predicción de precios de resinas de última generación en Odontología.

   - Subproblemas:

      - Recopilación de datos sobre resinas de última generación.

      - Preprocesamiento de datos para identificar características relevantes.

      - Implementación del algoritmo de regresión lineal.

      - Evaluación del modelo.

2. Reconocimiento de patrones:

   - Observación de Patrones:

      - Identificación de características clave como la composición química, propiedades físicas, etc.

      - Correlación entre características y precios.

3. Abstracción:

       - Variables de Entrada:

      - Composición química, propiedades físicas, etc.

      - Variable de Salida:

      - Precio de las resinas.

      - Abstracción del Algoritmo:

      - Regresión lineal que modela la relación entre las características y el precio.

4. Algoritmos:

   - Algoritmo de Regresión Lineal:

      - Se busca una relación lineal entre las características de las resinas y sus precios.

      - Ecuación: \( Precio = m_1 \times Característica_1 + m_2 \times Característica_2 + ... + b \)

Implementación práctica con Python:

Esta es mi interaccion con google colab

# Importar bibliotecas
import numpy as np
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error

# Generar datos de ejemplo
np.random.seed(42)
X = 2 * np.random.rand(100, 1)
y = 4 + 3 * X + np.random.randn(100, 1)

# Dividir los datos en conjuntos de entrenamiento y prueba
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Entrenar el modelo de regresión lineal
model = LinearRegression()
model.fit(X_train, y_train)

# Hacer predicciones en el conjunto de prueba
y_pred = model.predict(X_test)

# Visualizar los resultados
plt.scatter(X_test, y_test, color='black')
plt.plot(X_test, y_pred, color='blue', linewidth=3)
plt.xlabel('Variable de entrada')
plt.ylabel('Precio predicho')
plt.title('Regresión Lineal: Predicción de Precios')
plt.show()

Ejemplo de un un conjunto de datos ficticios guardados en un archivo CSV llamado resinas última generación odontologia.Utilizaré la biblioteca `numpy` para generar datos aleatorios y `pandas` para crear y guardar el DataFrame. A continuación, te presento un ejemplo:

# Importar bibliotecas
import pandas as pd
import numpy as np

# Crear datos ficticios
np.random.seed(42)  # Para reproducibilidad
num_muestras = 100

caracteristica1 = np.random.rand(num_muestras)
caracteristica2 = np.random.rand(num_muestras)
precio = 5 * caracteristica1 + 3 * caracteristica2 + np.random.randn(num_muestras)

# Crear DataFrame
data = pd.DataFrame({
    'Caracteristica1': caracteristica1,
    'Caracteristica2': caracteristica2,
    'Precio': precio
})

# Guardar DataFrame en un archivo CSV
data.to_csv('resinas_ultima_generacion_odontologia.csv', index=False)

# Visualizar los primeros registros del DataFrame
print(data.head())
# Importar bibliotecas import pandas as pd import numpy as np # Crear datos ficticios np.random.seed(42) # Para reproducibilidad num_muestras = 100 caracteristica1 = np.random.rand(num_muestras) caracteristica2 = np.random.rand(num_muestras) precio = 5 * caracteristica1 + 3 * caracteristica2 + np.random.randn(num_muestras) # Crear DataFrame data = pd.DataFrame({ 'Caracteristica1': caracteristica1, 'Caracteristica2': caracteristica2, 'Precio': precio }) # Guardar DataFrame en un archivo CSV data.to_csv('resinas_ultima_generacion_odontologia.csv', index=False) # Visualizar los primeros registros del DataFrame print(data.head())

            Característica  1     Característica  2          Precio

0          0.374540                  0.031429                     1.286963

1            0.950714                 0.636410                    6.895056

2            0.371994                 0.314356                    4.896110

3            0.598658                 0.508571                    3.804653

4            0.156019                 0.907566                    5.368567

Este script sigue la lógica del pensamiento computacional, desde la descomposición del problema hasta la evaluación del modelo, adaptado específicamente para la predicción de precios de resinas de última generación en Odontología.


1. Programación Tradicional:

En el enfoque de programación tradicional, necesitamos establecer reglas específicas basadas en conocimientos expertos para predecir los precios de las resinas de última generación en Odontología. Por ejemplo, podríamos definir reglas como "si la composición química es X y las propiedades físicas son Y, entonces el precio será Z". Sin embargo, este enfoque puede ser limitado ya que es difícil tener reglas precisas para relaciones complejas entre muchas variables.

2. Aprendizaje Automático:

En el enfoque de aprendizaje automático, dejamos que el modelo descubra las reglas a partir de los datos de entrada y salida. En el caso de la regresión lineal, el modelo aprenderá automáticamente los coeficientes que mejor se ajustan a los datos. A continuación, presentaré un ejemplo práctico de implementación en Python:

Esta es mi interaccion con google colab

Script para Programación Tradicional

Esta es mi interaccion con google colab
# Importar bibliotecas
import matplotlib.pyplot as plt
import numpy as np

# Datos de ejemplo
composicion_quimica = np.random.rand(100, 1)
propiedades_fisicas = np.random.rand(100, 1)
precios = 3 * composicion_quimica + 2 * propiedades_fisicas + np.random.randn(100, 1)

# Visualización de datos
fig = plt.figure(figsize=(12, 4))

# Gráfico 1: Composición Química vs. Precio
plt.subplot(1, 2, 1)
plt.scatter(composicion_quimica, precios)
plt.title('Composición Química vs. Precio')
plt.xlabel('Composición Química')
plt.ylabel('Precio')

# Gráfico 2: Propiedades Físicas vs. Precio
plt.subplot(1, 2, 2)
plt.scatter(propiedades_fisicas, precios)
plt.title('Propiedades Físicas vs. Precio')
plt.xlabel('Propiedades Físicas')
plt.ylabel('Precio')

plt.tight_layout()
plt.show()

2. Aprendizaje Automático:

En el enfoque de aprendizaje automático, dejamos que el modelo descubra las reglas a partir de los datos de entrada y salida. En el caso de la regresión lineal, el modelo aprenderá automáticamente los coeficientes que mejor se ajustan a los datos. A continuación, presentaré un ejemplo práctico de implementación en Python:

Descomposición del Problema: 

- Identificación del Problema: Predicción de precios de resinas de última generación en Odontología

   - Subproblemas:    

- Recopilación de datos sobre resinas de última generación.  

- Preprocesamiento de datos para identificar características relevantes.   

- Implementación del algoritmo de regresión lineal.  

- Evaluación del modelo.

Reconocimiento de Patrones:

   - Observación de Patrones:  

- Identificación de características clave como la composición química,

propiedades físicas, etc.    

- Correlación entre características y precios.

Abstracción:

- Variables de Entrada:

- Composición química, propiedades físicas, etc. 

- Variable de Salida:  

- Precio de las resinas.

- Abstracción del Algoritmo:  

- Regresión lineal que modela la relación entre las características y el precio.

Algoritmo de Regresión Lineal.

- Se busca una relación lineal entre las características de las resinas y sus precios.

- Ecuación: \( Precio = m_1 \times Caracteristica_1 + m_2 \times Caracteristica_2 + ... + b \)

Análisis de Resultados y Evaluación del Modelo: 

   - Visualización:  

- Observa la dispersión entre los datos reales y las predicciones.

   - Evaluación:   

- Utiliza métricas como el error cuadrático medio (MSE) para evaluar la calidad de las predicciones.

    - Interpretación: 

- Analiza los coeficientes de la regresión para entender la contribución de cada característica al precio.

Diferentes gráficas para ilustrar el proceso de regresión lineal en ambos

enfoques: programación tradicional y aprendizaje automático.

# Importar bibliotecas
import matplotlib.pyplot as plt
import numpy as np

# Datos de ejemplo
composicion_quimica = np.random.rand(100, 1)
propiedades_fisicas = np.random.rand(100, 1)
precios = 3 * composicion_quimica + 2 * propiedades_fisicas + np.random.randn(100, 1)

# Visualización de datos
fig = plt.figure(figsize=(12, 4))

# Gráfico 1: Composición Química vs. Precio
plt.subplot(1, 2, 1)
plt.scatter(composicion_quimica, precios)
plt.title('Composición Química vs. Precio')
plt.xlabel('Composición Química')
plt.ylabel('Precio')

# Gráfico 2: Propiedades Físicas vs. Precio
plt.subplot(1, 2, 2)
plt.scatter(propiedades_fisicas, precios)
plt.title('Propiedades Físicas vs. Precio')
plt.xlabel('Propiedades Físicas')
plt.ylabel('Precio')

Script para Aprendizaje Automático (Regresión Lineal)
Esta es mi interaccion con google colab
# Importar bibliotecas
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
import matplotlib.pyplot as plt

# Datos de ejemplo
np.random.seed(42)
X = 2 * np.random.rand(100, 1)
y = 4 + 3 * X + np.random.randn(100, 1)

# Dividir los datos en conjuntos de entrenamiento y prueba
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Entrenar el modelo de regresión lineal
model = LinearRegression()
model.fit(X_train, y_train)

# Hacer predicciones en el conjunto de prueba
y_pred = model.predict(X_test)

# Visualización de datos y resultados
plt.figure(figsize=(12, 4))

# Gráfico 1: Datos de entrenamiento y línea de regresión
plt.subplot(1, 2, 1)
plt.scatter(X_train, y_train, color='black')
plt.plot(X_train, model.predict(X_train), color='blue', linewidth=3)
plt.title('Regresión Lineal: Datos de Entrenamiento')
plt.xlabel('Variable de entrada')
plt.ylabel('Precio')

# Gráfico 2: Datos de prueba y predicciones
plt.subplot(1, 2, 2)
plt.scatter(X_test, y_test, color='black', label='Datos reales')
plt.scatter(X_test, y_pred, color='red', label='Predicciones')
plt.xlabel('Variable de entrada')
plt.ylabel('Precio')
plt.legend()
plt.title('Regresión Lineal: Datos de Prueba y Predicciones')

plt.tight_layout()
plt.show()



# Hacer predicciones en el conjunto de prueba
y_pred = model.predict(X_test)

# Visualizar los resultados
plt.figure(figsize=(12, 4))

# Gráfico 3: Predicciones vs. Datos reales en el conjunto de prueba
plt.scatter(X_test[:, 0], y_test, color='black', label='Datos reales')
plt.scatter(X_test[:, 0], y_pred, color='red', label='Predicciones')
plt.xlabel('Composición Química')
plt.ylabel('Precio')
plt.legend()
plt.title('Regresión Lineal: Predicción de Precios de Resinas (Conjunto de Prueba)')
plt.show()
# Evaluar el modelo
mse = mean_squared_error(y_test, y_pred)
print(f'Mean Squared Error: {mse}')


Este script incluye la generación de datos, visualización de relaciones, entrenamiento del modelo de regresión lineal y visualización de predicciones en el conjunto de prueba. Puedes ajustar los parámetros y detalles según tus necesidades y datos reales.

Conclusiones y reflexiones:la importancia de la regresión lineal me permitió

conocer de manera anticipada sobre la predicción de precios de resinas de última

generación en odontología, el ejemplo proporcionado con seguridad se puede aplicar en el proceso enseñanza aprendizaje para una mejor elección de los materiales a usar por los estudiantes.



Comentarios

Entradas populares de este blog

DIAGNÓSTICO EN PERIODONTITIS EN ODONTOLOGÍA: APLICACIÓN DEL ALGORITMO NAIVE BAYES EN APRENDIZAJE SUPERVISADO.

DESARROLLANDO UN DATA SET EN PYTHON. DATOS DE ESTUDIANTES: NOMBRES EDADES Y CALIFICACIONES.

MODELO PARA PREDECIR LAS CALIFICACIONES DE LOS ESTUDIANTES EN FUNCIÓN DE LAS HORAS DE ESTUDIO.