import pandas as pd
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.cluster import KMeans
from sklearn.svm import SVC
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# Sample genome sequences (DNA)
data = {
    "sequence": [
        "ATCGTACG",
        "ATCGTACC",
        "GGGTAACG",
        "TTTACGTA",
        "GGGTAACC"
    ],
    "label": [0, 0, 1, 1, 1]
}

df = pd.DataFrame(data)

# Convert DNA sequence → numerical form
vectorizer = CountVectorizer(analyzer='char')
X = vectorizer.fit_transform(df['sequence'])

y = df['label']

# Split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

# 🔹 Clustering (KMeans)
kmeans = KMeans(n_clusters=2)
clusters = kmeans.fit_predict(X)

print("Clusters:", clusters)

# 🔹 Classification (SVM)
model = SVC()
model.fit(X_train, y_train)

pred = model.predict(X_test)

print("Accuracy:", accuracy_score(y_test, pred))
import pandas as pd
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.model_selection import train_test_split
from sklearn.cluster import KMeans
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score
df = pd.DataFrame({
    "sequence": [
        "ATCGTACG",
        "ATCGTACC",
        "GGGTAACG",
        "TTTACGTA",
        "GGGTAACC"
    ],
    "label": [0, 0, 1, 1, 1]
})
df
vector = CountVectorizer()
x = vector.fit_transform(df["sequence"])
y = df["label"]
x_train,x_test,y_train,y_test = train_test_split(x,y,test_size=0.2)
model = KMeans(n_clusters=2)
clusters = model.fit_predict(x)
print("Clusters : ",clusters)
model = SVC()
model.fit(x_train,y_train)
pred = model.predict(x_test)
accuracy_score(y_test,pred)
