import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.cluster import KMeans
from sklearn.metrics import accuracy_score
Carregar os dados do CSV para um DataFrame do Pandas
dados = pd.read_csv('/content/meu_dataset2.csv')
Análise Exploratória de Dados (EDA)
Verificar estatísticas descritivas dos dados
print(dados.describe())
Visualizar a distribuição das respostas de cada coluna
for coluna in dados.columns:
plt.figure(figsize=(8, 6))
sns.histplot(dados[coluna], bins=10, kde=True)
plt.title(f'Distribuição de {coluna}')
plt.xlabel(coluna)
plt.ylabel('Frequência')
plt.show()
Dividir os dados em variáveis independentes (X) e variável dependente (y)
X = dados[['A Faculdade oferece um bom local de estudos', 'Recomendaria a faculdade']]
y = dados['Curso']
Dividir os dados em conjunto de treino e teste
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
plt.figure(figsize=(8, 6))
sns.scatterplot(data=dados, x='A Faculdade oferece um bom local de estudos', y='Curso', hue=labels_kmeans, palette='Set1', legend='full')
plt.title('Clusters de Satisfação e Frequência de Uso')
plt.xlabel('Satisfação')
plt.ylabel('Frequência de Uso')
plt.show()
import pandas as pd import matplotlib.pyplot as plt import seaborn as sns from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression from sklearn.cluster import KMeans from sklearn.metrics import accuracy_score
Carregar os dados do CSV para um DataFrame do Pandas
dados = pd.read_csv('/content/meu_dataset2.csv')
Análise Exploratória de Dados (EDA)
Verificar estatísticas descritivas dos dados
print(dados.describe())
Visualizar a distribuição das respostas de cada coluna
for coluna in dados.columns: plt.figure(figsize=(8, 6)) sns.histplot(dados[coluna], bins=10, kde=True) plt.title(f'Distribuição de {coluna}') plt.xlabel(coluna) plt.ylabel('Frequência') plt.show()
Dividir os dados em variáveis independentes (X) e variável dependente (y)
X = dados[['A Faculdade oferece um bom local de estudos', 'Recomendaria a faculdade']] y = dados['Curso']
Dividir os dados em conjunto de treino e teste
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
Regressão Logística
Criar e treinar o modelo de regressão logística
modelo_regressao_logistica = LogisticRegression() modelo_regressao_logistica.fit(X_train, y_train)
Fazer previsões no conjunto de teste
y_pred_regressao_logistica = modelo_regressao_logistica.predict(X_test)
Avaliar o desempenho do modelo de regressão logística
acuracia_regressao_logistica = accuracy_score(y_test, y_pred_regressao_logistica) print(f'Acurácia da Regressão Logística: {acuracia_regressao_logistica:.2f}')
K-Means
Selecionar apenas as variáveis numéricas para o algoritmo K-Means
X_kmeans = dados[['Ano de Graduação', 'A Faculdade oferece um bom local de estudos', 'Curso']]
Escolher o número de clusters (k)
k = 3
Criar e treinar o modelo K-Means
modelo_kmeans = KMeans(n_clusters=k, random_state=42) modelo_kmeans.fit(X_kmeans)
Atribuir cada ponto de dados a um cluster
labels_kmeans = modelokmeans.labels
Visualizar os clusters
plt.figure(figsize=(8, 6)) sns.scatterplot(data=dados, x='A Faculdade oferece um bom local de estudos', y='Curso', hue=labels_kmeans, palette='Set1', legend='full') plt.title('Clusters de Satisfação e Frequência de Uso') plt.xlabel('Satisfação') plt.ylabel('Frequência de Uso') plt.show()